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”.