• 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}
      • Instrumenting with ftrace {.tag-linux .tag-android}
      • 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 .tag-linux}
      • Boot Tracing {.tag-android}
      • OutOfMemoryError {.tag-android}
    • Case Studies

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

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

    • Concepts

      • Service Model {.tag-android .tag-linux .tag-cpp}
      • Buffers and Dataflow {.tag-android .tag-linux .tag-cpp .tag-chrome}
      • Trace Configuration {.tag-android .tag-linux .tag-cpp .tag-chrome}
      • Clock Synchronization {.tag-android .tag-linux .tag-cpp .tag-chrome}
      • Concurrent Sessions {.tag-android .tag-linux .tag-cpp}
    • Recording

      • Tracing in Background {.tag-android .tag-linux}
      • Advanced Android Tracing {.tag-android}
      • Symbolization and Deobfuscation {.tag-android .tag-linux}
      • Tracing across Reboots {.tag-android .tag-linux}
      • Custom Proto Extensions {.tag-cpp .tag-android .tag-perf}
      • heapprofd API {.tag-cpp}
    • Data Sources

      • System

        • CPU Scheduling {.tag-android .tag-linux}
        • System Calls {.tag-android .tag-linux}
        • CPU Frequency {.tag-android .tag-linux}
        • GPU {.tag-android .tag-linux .tag-perf}
      • Memory

        • Memory Counters {.tag-android .tag-linux}
        • Allocation Profiler {.tag-android .tag-linux}
        • ART Heap Dumps {.tag-android}
      • Android

        • ATrace {.tag-android}
        • Logcat {.tag-android}
        • Frame Timeline {.tag-android}
        • Battery & Power {.tag-android}
        • Android Game Interventions {.tag-android}
        • Android Aflags {.tag-android}
    • Tracing SDK

      • Tracing SDK {.tag-cpp}
      • Track Events {.tag-cpp}
    • 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}

      • Heap Dump Explorer {.tag-android}

      • Extending the UI

        • Overview {.tag-android .tag-linux .tag-cpp .tag-perf}
        • UI Automation {.tag-android .tag-linux .tag-cpp .tag-perf}
        • Commands Reference {.tag-android .tag-linux .tag-cpp .tag-perf}
        • Extension Servers {.tag-android .tag-linux .tag-cpp .tag-perf}
    • 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}
        • Syntax {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
        • Standard Library {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
        • Style Guide {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
        • Backwards Compatibility {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • Trace Processor

        • C++ Library {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
        • Python Library {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
        • Batch Trace Processor {.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}

    • FAQ {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}

  • Diving Deep

    • 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}
    • Reference

      • Protos

        • Trace Config {.tag-android .tag-linux .tag-cpp .tag-chrome}
        • Trace Packet {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}
      • PerfettoSQL

        • 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}
      • Synthetic Track Events {.tag-perf}

      • Kernel Track Events {.tag-android .tag-linux}

      • Extension Server Protocol {.tag-android .tag-linux .tag-cpp .tag-chrome .tag-perf}

      • Android Version Notes {.tag-android}

    • Advanced Topics

      • Detached Mode {.tag-android}
      • Interceptors {.tag-cpp}
      • Legacy (v1) Metrics {.tag-android}
      • BigTrace (Single Machine) {.tag-android .tag-perf}
      • BigTrace on Kubernetes {.tag-android .tag-perf}
    • Contributing

      • Building {.tag-contrib}

      • Testing {.tag-contrib}

      • Developer Tools {.tag-contrib}

      • UI Development

        • Getting Started {.tag-contrib}
        • Plugins {.tag-contrib}
      • Releases

        • SDK Release {.tag-contrib}
        • Python Release {.tag-contrib}
        • UI Release {.tag-contrib}
      • Become a Committer {.tag-contrib}

      • Chrome Branches {.tag-contrib}

      • SQLite Upgrade {.tag-contrib}

    • Design Documents

      • Core

        • API and ABI Surface {.tag-contrib}
        • Life of a Tracing Session {.tag-contrib}
        • Security Model {.tag-contrib}
        • Trace Buffer V2 {.tag-contrib}
      • Infrastructure

        • ProtoZero {.tag-contrib}
        • LockFreeTaskRunner {.tag-contrib}
      • Trace Processor

        • Architecture {.tag-contrib}
        • Batch Trace Processor {.tag-contrib}
      • UI

        • Data Explorer Architecture {.tag-contrib}
      • Profiling

        • Heapprofd Design {.tag-contrib}
        • Heapprofd Wire Protocol {.tag-contrib}
        • Heapprofd Sampling {.tag-contrib}
        • pprof Support {.tag-contrib}
      • Other

        • Statsd Checkpoint Atoms {.tag-contrib}
        • Perfetto CI {.tag-contrib}
Powered by Gitiles| Privacy| Terms
source