Docs
menu
Home Community Trace Viewer GitHub
  • Overview

    • What is Perfetto?
    • What is Tracing?
    • How do I start using Perfetto?
  • Getting Started

    • Tutorials

      • System Tracing
      • In-App Tracing
      • Rust SDK
      • Memory Profiling
      • CPU Profiling
      • Instrumenting with atrace
      • Instrumenting with ftrace
      • Recording Chrome Traces
      • Importing Other Formats
      • Converting Data to Perfetto
    • Cookbooks

      • Recording Android Traces Locally
      • Analyzing Android Traces
      • Analyzing Traces from the Command Line
      • Tracing on Linux
      • Capturing Periodic Trace Snapshots
      • Using AI with Perfetto
    • Case Studies

      • Debugging Memory Usage
      • Scheduling Blockages
    • Contributing

      • Getting Started
      • Common Tasks
  • Learning More

    • Concepts

      • Service Model
      • Buffers and Dataflow
      • Trace Configuration
      • Clock Synchronization
      • Trace merging
      • Concurrent Sessions
    • Recording

      • Tracing in Background
      • Advanced Android Tracing
      • Symbolization and Deobfuscation
      • Tracing across Reboots
      • Custom Proto Extensions
      • heapprofd API
      • Multi-machine recording
    • Data Sources

      • System

        • CPU Scheduling
        • System Calls
        • CPU Frequency
        • Function Graph
        • GPU
      • Memory

        • Memory Counters
        • Allocation Profiler
        • ART Heap Dumps
      • Android

        • ATrace
        • Logcat
        • Frame Timeline
        • Battery & Power
        • Android Game Interventions
        • Android Aflags
        • Screen Recording
    • Tracing SDK

      • Tracing SDK
      • Track Events
    • Visualization

      • Perfetto UI

      • Merging traces in the UI

      • Data Explorer

      • Opening Large Traces

      • Deep Linking

      • Embedding the UI

      • Debug Tracks

      • Heap Dump Explorer

      • Memscope & Memory Overview

      • Extending the UI

        • Overview
        • UI Automation
        • Commands Reference
        • Extension Servers
    • Trace Analysis

      • Getting Started

      • PerfettoSQL

        • Getting Started
        • Syntax
        • Standard Library
        • Style Guide
        • Backwards Compatibility
      • Trace Processor

        • C++ Library
        • Python Library
        • Batch Trace Processor
      • Merging traces from the command line

      • Trace Summarization

      • Converting from Perfetto

    • FAQ

  • Diving Deep

    • CLI Tools

      • trace_processor
      • perfetto
      • traced
      • traced_probes
      • heap_profile
      • tracebox
    • Reference

      • Protos

        • Trace Config
        • Trace Packet
      • PerfettoSQL

        • Prelude Tables
        • Built-in Functions
        • Stats Table
      • Synthetic Track Events

      • Kernel Track Events

      • Trace manifest format

      • Extension Server Protocol

      • Embedding API

      • Android Version Notes

    • Advanced Topics

      • Detached Mode
      • Interceptors
      • Legacy (v1) Metrics
      • Multi-machine architecture
      • BigTrace (Single Machine)
      • BigTrace on Kubernetes
    • Contributing

      • Building

      • Testing

      • UI Development

        • Getting Started
        • Plugins
      • Releases

        • SDK Release
        • Python Release
        • UI Release
      • Become a Committer

      • Chrome Branches

      • SQLite Upgrade

    • Design Documents

      • Core

        • API and ABI Surface
        • Life of a Tracing Session
        • Security Model
        • Trace Buffer V2
      • Infrastructure

        • ProtoZero
        • LockFreeTaskRunner
      • Trace Processor

        • Architecture
        • Batch Trace Processor
      • UI