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/perfetto/.
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.
For a list of Chromium's tracing categories, see base/trace_event/builtin_categories.h.