the Chromium logo

The Chromium Projects

The Trace Event Profiling Tool (about:tracing)

When diagnosing performance problems it can be valuable to see what Chrome is doing "under the hood." One way to get a more detailed view into what's going on is to use the about:tracing tool.

Tracing records activity in Chrome's processes (see multi-process architecture for more on what each process is doing). It records C++ or javascript method signatures in a hierarchical view for each thread in each process. This is a lot of information, but sifting through it can help identify performance bottlenecks, slow operations, and events with irregular lengths (leading to e.g. framerate variation).

image

Getting Started Using about:tracing

  1. Recording Tracing Runs; start with this, it's prerequisite for using about:tracing.
  2. How to use the Frame Viewer to Bust Jank; read this next, to understand how to diagnose rendering performance problems.
  3. Jank Case Study 1; then read this, for further examples of how to effectively use about:tracing in conjunction with the Dev Tools timeline

Note that to understand what's happening in trace events you'll need a basic understanding of how the browser works. The above articles provide enough to get started, but it's recommended to first read at minimum:

Further reading:

Even further reading:

Contributing to about:tracing

Start by perusing the Tracing Ecosystem Explainer to understand the various different pieces of code involved.

Please file bugs as you find them! If you find any bugs, please let us know. You review the known bugs as well.