commit | 07e104d1cd893c3bd4f7ff3706edb0cf0b3b87c2 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Tue Apr 03 20:45:35 2018 +0200 |
committer | Primiano Tucci <primiano@google.com> | Tue Apr 03 20:45:35 2018 +0200 |
tree | b698d59ff78e68429be5966ea98639eb9cf35407 | |
parent | c6f52d8a68e60a7310599d3715441eb43f3ad9b0 [diff] |
Reduce binary size (1.6MB -> 600K) by removing protos/trace:lite dep This CL removes any dependency from {traced, traced_probes, perfetto} to //protos/trace:lite. Neither of them really require such dependency and it causes significant binary bloat due to all the hundreds .pb.{cc,h} generated by libprotobuf for any possible trace packet. Specifically: traced_probes: needs only to depend on the "zero" protos, for writing. traced: needs the official protobuf only for the following reasons: - Packet validation (e.g., trusted uid) - Directly injecting some special packets (TraceConfig, uid, clocks) Neither of them requires really the hundreds trace packets. They can just use TrustedPacket, which doesn't pull in the other packets. perfetto: it requires only TraceConfig, but that is a separate smaller target. Bug: 77316877 Test: pefetto_unittests / perfetto_integrationtests Change-Id: I6e01b47af3313887c685ffb4614009910413bbea
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