What is Perfetto?

TIP: If you are unfamiliar with tracing or, in general, are new to the world of performance, we suggest reading the What is Tracing? page first.

Perfetto is an open-source suite of SDKs, daemons and tools which use tracing to help developers understand the behaviour of the complex systems and root-cause functional and performance issues on client / embedded systems.

It consists of:

Why would you use Perfetto?

Perfetto was designed from the ground up to act as the default tracing system for the Android OS and the Chrome Browser. As such, Perfetto is the offficially supported for collecting, analysing and visualizing:

Beyond these "official" usecases, Perfetto consists a highly flexible set of tools. This makes it capable of being used as a general purpose tracing system, a performance data analyzer or a timeline visualizer. The Perfetto team dedicates a porition of their time to supporting these cases, albeit at a reduced level of support.

Other usecases Perfetto is commonly used for include:

Why would you not use Perfetto?

There are several types of problems Perfetto is either not designed for or is explicltly unsupported.

How do I get started using Perfetto?

We appreicate that Perfetto has a lot of parts to it so it can be confusing to someone new to the project to know what is relevant to them. For this reason, we have a whole page dedicated to this: How do I start using Perfetto?

Who uses Perfetto today?

Perfetto is the default tracing system for the Android operating system and the Chromium browser. As such, Perfetto is utilized extensively by these teams in Google, both to proactively identify performance improvements and reactively to debug/root-cause issues locally, in the lab and even from the field.

There are also many other teams in Google who use Perfetto in diverse ways. This includes including "non-traditional" uses of a tracing system. Perfetto has also been used and adopted widely in the wider industry by many other companies.

The following is a non-exhaustive list of public mentions of Perfetto in blog posts, articles and videos:

Where do I find more information and get help with Perfetto?

For our source code and project home: Github

For Q/A:

For bugs affecting any part of Perfetto except Chrome tracing:

For bugs affecting Chrome Tracing:

For chatting directly with the Perfetto team:

Perfetto follows Google's Open Source Community Guidelines.