Converting from Perfetto to other trace formats

Perfetto's native protobuf trace format can be converted to other formats using the traceconv utility.

Prerequisites

  • A host running Linux or MacOS
  • A Perfetto protobuf trace file

The supported output formats are:

  • text - protobuf text format: a text based representation of protos
  • json - Chrome JSON format: the format used by chrome://tracing
  • systrace: the ftrace text format used by Android systrace
  • profile : aggregated profile in the pprof format. Supports allocator profiles (heapprofd), perf profiles, and android java heap graphs.

Usage

To use the latest binaries:

curl -LO https://get.perfetto.dev/traceconv
chmod +x traceconv
./traceconv [text|json|systrace|profile] [input proto file] [output file]

For versioned downloads, replace <tag> with the required git tag:

curl -LO https://raw.githubusercontent.com/google/perfetto/<tag>/tools/traceconv
chmod +x traceconv
./traceconv [text|json|systrace|profile] [input proto file] [output file]

Opening in the legacy systrace UI

If you just want to open a Perfetto trace with the legacy (Catapult) trace viewer, you can just navigate to ui.perfetto.dev, and use the “Open with legacy UI” link. This runs traceconv within the browser using WebAssembly and passes the converted trace seamlessly to chrome://tracing.