commit | 42b36d07ad895700a07ba7788a1bd0d83256d175 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Thu Mar 08 17:47:29 2018 +0000 |
committer | Primiano Tucci <primiano@google.com> | Thu Mar 08 17:47:29 2018 +0000 |
tree | 68d6b3cf14ce45a0dbfa34747778b58004016f49 | |
parent | cf53ba839f406c51f6cf9bab5867ed4a5e93a415 [diff] |
Move target_buffer from ShmABI to IPC Background: ----------- The SharedMemoryBuffer is a pool of pages shared between all data sources in a producer. If the tracing session involves >1 buffer, data sources might be producing data that is targeted to different buffers. We need a way for the producer to tell the tracing service what is the target buffer for each chunk in the SMB. So far this information has been stored into the ShmemABI. This however introduced lot of unnecessary complexity, mainly because there isn't enough space to store the target_buffer in the chunk header, so we ended up storing it in the page header. In turn this made both page partitioning and finding a free chunk too complex. This CL gets rid of most of this complexity and moves the signaling of the target buffer to the CommitData IPC. We are going to send an IPC to the service for each chunk that needs to be drained anyways, that seems the most logical place to plumb the target_buffer. Test: perfetto_unittest Bug: 73612642 Change-Id: Icd2b9b7394a74ad0c39b39072995cb89db4106ba
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