commit | 5013971489bcdbdc6ad55a4a974c61c4107d2ce4 | [log] [tgz] |
---|---|---|
author | Hector Dearman <hjd@google.com> | Fri Feb 23 15:43:41 2018 +0000 |
committer | Hector Dearman <hjd@google.com> | Mon Feb 26 14:07:37 2018 +0000 |
tree | 5a9afa410c675f92f3271df7ee92d5901027748e | |
parent | 25b14a4a255135d0bdb8551e502eb606cae829a3 [diff] |
ftrace_reader: Add FtraceConfigMuxer Move the logic for handling enabling/disabling/adjusting ftrace settings into a new class: FtraceConfigMuxer. Ftrace is a bunch of globaly modifiable persistent state. Given a number of FtraceConfig's we need to find the best union of all the settings to make eveyone happy while also watching out for anybody messing with the ftrace settings at the same time as us. Specifically FtraceConfigMuxer takes in a *requested* FtraceConfig (|RequestConfig|), makes a best effort attempt to modify the ftrace debugfs files to honor those settings without interupting other perfetto traces already in progress or other users of ftrace, then returns an FtraceConfigId representing that config or zero on failure. To see which settings we actually managed to set you can call |GetConfig| and when you are finished with a config you can signal that with |RemoveConfig|. Bug: 73049510 Change-Id: I774ced0341c29ba8274c08170abbecc922dacb62
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