• Overview

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

    • Tutorials

      • System Tracing {.tag-android .tag-linux}
      • In-App Tracing {.tag-cpp}
      • Memory Profiling {.tag-android .tag-linux}
      • CPU Profiling {.tag-android .tag-linux}
      • Instrumenting with atrace {.tag-android}
      • Linux ftrace {.tag-linux}
      • Recording Chrome Traces {.tag-chrome}
      • Importing Other Formats {.tag-perf}
      • Converting Data to Perfetto {.tag-perf}
    • Cookbooks

      • Analysing Android Traces {.tag-android}
      • Periodic Trace Snapshots {.tag-android}
    • Case Studies

      • Debugging Memory Usage {.tag-android}
      • Scheduling Blockages {.tag-android .tag-linux}
      • Boot Tracing {.tag-android}
      • OutOfMemoryError {.tag-android}
    • Contributing

      • Getting Started {.tag-contrib}
      • Common Tasks {.tag-contrib}
  • Learning More

    • Concepts

      • Trace Configuration {.tag-android .tag-linux .tag-cpp .tag-chrome}
      • Buffers and Dataflow {.tag-android .tag-linux .tag-cpp}
      • Service Model {.tag-android .tag-linux .tag-cpp}
      • Clock Synchronization {.tag-android .tag-linux .tag-cpp .tag-chrome}
      • Concurrent Sessions {.tag-android .tag-linux .tag-cpp}
      • Tracing in Background {.tag-android .tag-linux}
      • More Android Tracing {.tag-android}
      • Symbolization and Deobfuscation {.tag-android .tag-linux}
    • Tracing SDK

      • Tracing SDK {.tag-cpp}
      • Track Events {.tag-cpp}
    • Trace Analysis

      • Getting Started {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • PerfettoSQL Getting Started {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • PerfettoSQL Syntax {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • PerfettoSQL Style Guide {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • PerfettoSQL Backwards Compatibility {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Trace Processor (C++) {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Trace Processor (Python) {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Trace Summarization {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Converting from Perfetto {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
    • Visualization

      • Perfetto UI {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Opening Large Traces {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Deep Linking {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Debug Tracks {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • UI Automation {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Extending the UI {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Extension Servers {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
    • UI Development

      • Getting Started {.tag-contrib}
      • Plugins {.tag-contrib}
    • FAQ {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}

  • Diving Deep

    • Data Sources

      • CPU Scheduling {.tag-android .tag-linux}
      • System Calls {.tag-linux}
      • CPU Frequency {.tag-linux}
      • ATrace {.tag-android}
      • Logcat {.tag-android}
      • Frame Timeline {.tag-android}
      • Memory Counters {.tag-android .tag-linux}
      • Native Heap Profiler {.tag-android .tag-linux}
      • Java Heap Dumps {.tag-android}
      • Battery & Power {.tag-android}
      • GPU & Game Data {.tag-android}
      • Tracing across Reboots {.tag-linux}
    • CLI Tools

      • perfetto {.tag-android .tag-linux}
      • traced {.tag-android .tag-linux}
      • traced_probes {.tag-android .tag-linux}
      • heap_profile {.tag-android .tag-linux}
      • tracebox {.tag-android .tag-linux}
    • PerfettoSQL Reference

      • Standard Library {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Prelude Tables {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Built-in Functions {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Stats Table {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
    • References

      • Trace Config Proto {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Trace Packet Proto {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Synthetic Track Events {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Commands Reference {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Extension Server Protocol {.tag-cpp}
      • Android Version Notes {.tag-android}
      • Kernel Track Events {.tag-linux}
    • Advanced Recording

      • Detached Mode {.tag-android}
      • Interceptors {.tag-cpp}
    • Advanced Analysis

      • Legacy (v1) Metrics {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Batch Trace Processor {.tag-android .tag-linux .tag-perf}
      • BigTrace (Single Machine) {.tag-android .tag-linux .tag-perf}
      • BigTrace on Kubernetes {.tag-android .tag-linux .tag-perf}
    • Contributor Reference

      • Building {.tag-contrib}
      • Testing {.tag-contrib}
      • Developer Tools {.tag-contrib}
      • Become a Committer {.tag-contrib}
    • Releases

      • SDK Release {.tag-contrib}
      • Python Release {.tag-contrib}
      • UI Release {.tag-contrib}
      • Chrome Branches {.tag-contrib}
      • SQLite Upgrade {.tag-contrib}
    • Design Documents

      • API and ABI Surface {.tag-contrib}
      • Life of a Tracing Session {.tag-contrib}
      • ProtoZero {.tag-contrib}
      • Security Model {.tag-contrib}
      • Trace Processor Architecture {.tag-contrib}
      • Heapprofd Design {.tag-contrib}
      • Heapprofd Wire Protocol {.tag-contrib}
      • Heapprofd Sampling {.tag-contrib}
      • Batch Trace Processor {.tag-contrib}
      • Statsd Checkpoint Atoms {.tag-contrib}
      • Perfetto CI {.tag-contrib}
      • LockFreeTaskRunner {.tag-contrib}
Powered by Gitiles| Privacy| Terms
source