LLMpediaThe first transparent, open encyclopedia generated by LLMs

Perfetto

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 60 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted60
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Perfetto
NamePerfetto
DeveloperGoogle
Released2018
Programming languageC++, Java, JavaScript
Operating systemLinux, Android, Windows, macOS (viewer)
LicenseBSD-3-Clause

Perfetto.

Perfetto is an open-source system tracing and performance instrumentation project originating from Google. It provides a unified tracing pipeline, storage format, and viewer used for low-overhead profiling of complex systems such as Android (operating system), Linux, and large distributed services. Developers and researchers from organizations like Chromium, Android Open Source Project, and corporate engineering teams at Qualcomm, Intel, and NVIDIA have used Perfetto for performance analysis, debugging, and visualization.

Overview

Perfetto combines a tracing data collection subsystem, a compressed storage format, and a browser-based trace viewer. It is often compared and integrated with tools such as Systrace (software), ftrace, and LTTng for kernel-level events, as well as user-space tracers used in Firefox, Chromium, and Electron (software framework). The viewer component supports interactive visualization similar to Chrome DevTools, Flamegraph, and Speedscope while storing traces in a format inspired by protobuf and columnar storage approaches adopted by projects like Parquet (columnar storage).

History and development

Perfetto began at Google to replace older tracing stacks inside Android (operating system), addressing scalability and cross-platform needs encountered by teams working on Chrome OS, Android Automotive, and server-side telemetry for Google Cloud Platform. Early development involved contributors from Android Open Source Project, Chromium engineers, and external collaborators from academia and industry including researchers associated with MIT, Stanford University, and companies such as ARM Holdings and Amazon. Over successive releases Perfetto added support for long-running traces, trace streaming, and integration with kernel facilities such as ftrace and eBPF. Milestones in the project's life include adoption by Android 10, integration into Android Studio, and use in performance reports generated by teams at Google I/O and Android Dev Summit.

Features and architecture

Perfetto's architecture separates capture, storage, and visualization. The capture layer interfaces with platform-specific event sources including ftrace, eBPF, ART, Skia, and instrumentation hooks used by Chromium and V8. A compact, append-only trace storage format enables efficient on-disk representation comparable to columnar formats used in Apache Arrow and tooling like SQLite. The trace pipeline supports plugins for data sources, compression, and encryption; it exposes APIs in languages such as C++, Java, and JavaScript for embedding in projects like Android Studio, Visual Studio Code, and custom tooling used at Netflix and Spotify. The web-based viewer renders timelines, slices, and counters with interactive features inspired by Chrome DevTools' performance panel and heatmap visualizations used in D3.js dashboards.

Use cases and applications

Perfetto is used for system profiling, application performance tuning, and forensic analysis of latency regressions across platforms including Android (operating system), Chromebook, cloud virtual machines on Google Cloud Platform and Amazon Web Services, and embedded devices from suppliers like Qualcomm and Mediatek. Teams at Google Chrome leverage it to investigate rendering stalls in Blink and V8; graphics engineers use it to correlate GPU traces from ANGLE and Vulkan. In automotive and IoT, companies such as Bosch and Continental AG integrate Perfetto to trace CAN bus interactions and real-time systems. Researchers at ETH Zurich and UC Berkeley have used it in studies of scheduler fairness and power management, alongside benchmarks from Phoronix Test Suite.

Integration and compatibility

Perfetto integrates with kernel tracing facilities like ftrace and eBPF, user-space instrumentation such as TRACE_EVENT macros used in Chromium and Android (operating system), and build systems like Bazel (software), Gradle (Android), and CMake. The trace viewer runs in browsers supporting the Chromium engine and can be embedded in desktop tooling such as Android Studio and Visual Studio Code via extensions. Interoperability has been demonstrated with formats and tools including LTTng, perf, and exchange formats used by Speedscope and Flamegraph generators, enabling cross-tool workflows for companies like Intel and AMD.

Performance and benchmarking

Perfetto emphasizes low-overhead capture suitable for production use, with benchmarks showing minimal CPU and memory impact compared to sampling profilers like perf and instrumented builds used in Valgrind. Its streaming mode supports high-throughput scenarios encountered in telemetry at Google Cloud Platform and media pipelines in YouTube and Netflix. Comparative studies published by engineering teams at Google and independent reviewers demonstrate trace file size reductions versus legacy formats and improved query speeds for timeline slices akin to optimizations found in Apache Arrow and columnar storage engines. Continuous integration setups in large projects such as Chromium include automated trace collection pipelines built on Perfetto to detect regressions across commits.

Category:Software