[roll] Roll fuchsia [benchmarks] Tracing perf tests: run tracee program as a component This removes cases where fuchsia_microbenchmarks is run via the command line. Switch from using the "trace" command line program to using the Dart interfaces for setting up tracing. This makes it easier to save the trace results in Infra builds. It also makes it easier to check the trace, so we add some checks to ensure that the traces contain the expected trace events. Split out a function from runTestComponent() so that it can be reused for this. Note that we're changing from "--buffering-mode=circular" to the default buffering mode (oneshot). This is partly because the Dart interface doesn't allow setting the buffering mode yet, but also because setting it to circular is neither necessary nor useful now that we're checking that the expected trace events aren't lost. The userland trace buffer is unlikely to overflow for this test since we're outputting only a few events. (However, the kernel trace buffer is more likely to overflow since it captures events for unrelated background processes.) I ran this change through perfcompare as a further check that I wasn't accidentally changing how tracing is enabled for these metrics. It showed some small changes that might be the result of enabling tracing by a different route, causing different transient background activity: Test case Improve/regress? Factor change Mean before Mean after ----------------------------------------------------------------- ---------------- ------------- ----------------- ----------------- fuchsia.microbenchmarks.tracing: Tracing/BeginEndDurationEvent slower 1.083-1.254 233.2 +/- 1.6 ns 272 +/- 18 ns fuchsia.microbenchmarks.tracing: Tracing/InstantEvent faster 0.767-0.983 151 +/- 11 ns 131.0 +/- 6.9 ns fuchsia.microbenchmarks.tracing_categories_disabled: Syscall/Null slower 1.047-1.086 80.27 +/- 0.69 ns 85.56 +/- 0.82 ns Original-Bug: 103374 Test: fx set terminal.x64 --release + fx test --e2e host_x64/microbenchmarks_test Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/723163 Original-Revision: 23de0f643f94b399ab566d0ec361a813b0f6d5fe GitOrigin-RevId: 9002a4dd426383b134f16c06b00d806a94efe075 Change-Id: I518dcc325f3f5be7c7587967747a4060fd4dc30d
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.