tree: 7df7a811380f143e0f7ba9854144ef167344469d [path history] [tgz]
  1. protos/
  2. DIR_METADATA
  3. OWNERS
  4. perfetto_platform.cc
  5. perfetto_platform.h
  6. perfetto_task_runner.cc
  7. perfetto_task_runner.h
  8. perfetto_task_runner_unittest.cc
  9. README.md
  10. trace_time.cc
  11. trace_time.h
  12. tracing_tls.cc
  13. tracing_tls.h
base/tracing/README.md

Overhauled performance tracing in Chrome

We are upgrading Chrome‘s support for performance tracing by replacing Chrome’s implementation of TRACE_EVENT macros from //base/trace_event with Perfetto. Perfetto introduces trace events with typed arguments to support privacy-filtered trace recording and a more compact, efficient, and stable trace encoding.

The Perfetto library itself lives in AOSP and is rolled in /third_party/chrome/. Progress is tracked on https://crbug.com/1006541.

The code in this directory connects Chrome to Perfetto‘s tracing SDK, which implements trace event macros on top of Perfetto’s tracing service. This service can be run in-process (e.g. in unit tests), as a Chrome mojo service (see //services/tracing), or as a system service on Android.

For more details, see Perfetto's documentation, Typed trace events in Chrome, and Typed trace events in //base.

Note: The integration with Perfetto's SDK is work-in-progress behind the gn flag “use_perfetto_client_library”.