commit | 632bbbcc5454ed35fef1b30aea5a12e661108004 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Thu Mar 29 12:01:17 2018 +0100 |
committer | Primiano Tucci <primiano@google.com> | Thu Mar 29 12:01:17 2018 +0100 |
tree | eb3916d9c0460cf0d96062489e1ec4ea7e7be01c | |
parent | 78b0dfaba90874fe049194e9933f5b89b6158c1b [diff] |
Add retry logic to SharedMemoryABI::TryAcquireChunk The current implementation was giving up immediately when an AcquireForReading/Writing operation was failing because producer and service are competing on the same page. There was a TODO that was saying "this is too pessimistic" alledging that was just an otpimization. However turned out that was just incorrect. In fact when the service is asked to move a chunk it cannot give up just because another chunk in the same page was acquired, because it would cause a data loss. Bug: 77205968 Test: change default_page_layout=kPageDiv7, run perfetto_integrationtests --gtest_filter=PerfettoTest.VeryLargePackets Change-Id: Idc43de60dc0dbe53ec7ba16fa754aa06de2c2ee7
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