commit | 6d84853a0a2596f633ed48da83b71bc2c8d8deba | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Wed Jan 17 10:32:33 2018 +0000 |
committer | Primiano Tucci <primiano@google.com> | Wed Jan 17 10:32:33 2018 +0000 |
tree | 4901fdda01c548d03f21924e9b77a112f28e996c | |
parent | 6b90156f7fd48d17f100c6d3f7791d5c62b360fc [diff] |
Move binder libraries into perfetto binary and save ~5 MB of ram This change moves the dependencies on libandroir,libbinder & friends from libtraced_shared.so to the perfetto binary. Thankfully, in fact, only the short lived client binary requires those. Doing so causes a memory reduction of our traced and traced_probes of roughly 2.5 MB private dirty memory for each of our two daemon (traced, traced_probes). The memory is mostly coming from relocations and initializers coming from the tree of recursive dependencies of those libraries. For the moment that causes a binary size hit of +268 KB Memory ------ Before: Shared_Clean: 7900 kB Shared_Dirty: 80 kB Private_Clean: 156 kB Private_Dirty: 3176 kB After: Shared_Clean: 1224 kB Shared_Dirty: 80 kB Private_Clean: 160 kB Private_Dirty: 528 kB !!! Binary size ----------- Before: bin/traced: 12 KB bin/traced_probes: 12 KB bin/perfetto: 12 KB lib64/libtraced_shared.so: 468 KB *TOTAL*: 504 KB After: bin/traced: 12 KB bin/traced_probes: 12 KB bin/perfetto: 280 KB lib64/libtraced_shared.so: 468 KB *TOTAL*: 772 KB Change-Id: I72bc05a68edf9b485775c51e7e2f18f29594458b
This project is meant to be built both as part of the Android tree and from a standalone checkout
For internal docs see this page
Android is the platform targeted in the first milestones. Right now Linux desktop and OSX are maintained best-effort.
This project uses Android AOSP Gerrit for code reviews and uses the Google C++ style. Currently targets -std=c++11
.
You can use both git cl upload
from Chromium depot tools or Android repo to upload patches.
git cl
is quite convenient as it supports code auto-formatting via git cl format
.
See https://source.android.com/source/contributing for more details about external contributions and CLA signing.
See docs/build_instructions.md
Continuous build and test coverage is available at perfetto-ci.appspot.com. Trybots: CLs uploaded to gerrit are automatically submitted to TravisCI within one minute and made available on the CI page above. The relevant code lives in the infra/ directory.
$ tools/ninja -C out/default (tracing_unittests | tracing_benchmarks) $ out/default/tracing_unittests --gtest_help
Either connect a device in ADB mode or use the bundled emulator.
To start the emulator:$ tools/run_android_emulator (arm | arm64) &
To run the tests (either on the emulator or physical device):$ tools/run_android_test out/default tracing_unittests