Perfetto
lastmod 2025-12-29created 2021-05-223 edits
System profiling, app tracing, and trace analysis tool
About
- Open-source platform designed and developed under Google's lead, aiming to be a next-generation system tracing stack
- Observes the execution flow of complex systems through tracing to analyze the causes of performance and functional problems
- Production-grade stability and performance, adopted as the default tracing system of the Android operating system and the Chromium browser
- Collects events from multiple processes and threads into a single unified trace through a high-performance tracing daemon
- Provides a low-overhead C++17 SDK for precisely instrumenting timing and state changes in user-space applications
- Collects system-wide context on Android and Linux, such as scheduling, CPU frequency, memory, and call stacks, through OS-level probes
- Browser-based UI that visualizes large traces around a timeline and lets you explore them interactively
- Runs in major browsers without any installation, and can also open various external trace formats
Why use Perfetto
- Android app and platform developers can systematically analyze the root causes of performance problems such as app startup latency, frame drops, and ANRs
- C/C++ developers can use the Tracing SDK to instrument application execution paths and precisely identify bottlenecks
- Linux kernel and system developers can visualize ftrace-based kernel events to analyze scheduling, system call, and interrupt behavior
- Chromium developers use Perfetto as the backend of chrome://tracing to debug the internals of the browser, V8, and Blink
- Performance engineers and SREs can analyze various formats, such as Linux perf, macOS Instruments, and Chrome JSON trace, together with SQL