commit | 6aa7557b7146cb80b9f98e6fec2fc43bc805db55 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Wed Mar 21 05:33:14 2018 -0700 |
committer | Primiano Tucci <primiano@google.com> | Wed Mar 21 19:06:34 2018 +0000 |
tree | 9c263d890979a04d52f03b88d46d7af14bacd766 | |
parent | 96928abe66f533ab8e71bd852295e5649425b4bf [diff] |
Add host target for perfetto protos on Android host builds This CL introduces a "perfetto_trace_protos" static_library target that allows to link the perfetto protobuf code on host executable builds. This CL also disentangles some awkward dep between proto:lite targets and the IPC proto targets, that was indirectly causing the core tracing target to depend on ipc. Also fixes a small breakage on mac by removing an unnecessary include in trace_to_text. Sample usage: In the .bp file: --- cc_binary_host { name: "perfetto_proto_test", static_libs: [ "perfetto_trace_protos", "libprotobuf-cpp-lite", ], srcs: [ "host_test.cc" ], } --- Where host_test.cc: --- #include "perfetto/trace/trace.pb.h" int main(int, char** argv) { perfetto::protos::Trace trace; return trace.ParseFromString(std::string(argv[1])); } --- Bug: 73611302 Change-Id: Ie371e82941890a3a7567c30261befd756147cc1c Test: manual. Checked that builds on mac.
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