pprof ⭐
File Format: Protocol Buffer
Timestamping: Aggregated
Profilers 🔎
20 Profilers directly output this format:
- Datadog Go Profiler
- Datadog Python Profiler
- Datadog Ruby Profiler
- fgprof [Docs]
- Go CPU Profiler [Docs]
- GoLand IDE [Docs]
- Google Cloud Profiler [Docs]
- gperftools CPU Profiler [Docs]
- Parca Agent
- Perfessor [Docs]
- Perfetto heap_profile
- php-memprof [Docs]
- pprof++ [Docs]
- pprof-nodejs
- pprof-rs [Docs]
- PProf.jl [Docs]
- profefe
- proffer [Docs]
- Pyroscope Go [Docs]
- rbspy [Docs]
Analysis UIs 📊
12 Analysis UIs can read this format:
- Datadog Continuous Profiler [Docs]
- DrCCTProf Viewer [Docs]
- flameshow [Docs]
- GoLand IDE [Docs]
- Google Cloud Profiler
- PolarSignals [Docs]
- Pprof Command-Line
- Pprof web
- pprof.me [Docs]
- pprofweb [Docs]
- profefe-collector [Docs]
- Speedscope [Docs]
Profiler & Analysis UI Graph
Converters
Converts From
This format is directly convertable from 14 formats:
- Austin, via austin2pprof [Docs]
- Event Tracing for Windows, via EtwToPprof [Docs]
- Folded Stacks, via pprofutils folded [Docs]
- Go Trace, via go tool trace -pprof [Docs]
- Instruments.app, via instrumentsToPprof [Docs]
- legacy pprof, via legacy_profile.go [Docs]
- legacy pprof java, via legacy_java_profile.go [Docs]
- Linux perf script, via perf-load [Docs]
- Linux perf.data, via perf_to_profile.cc [Docs]
- Perfetto Trace, via traceconv profile [Docs]
- pprof JSON, via pprofutils json [Docs]
- Quipper, via perf_data_converter [Docs]
- Rprof.out, via proffer to_pprof [Docs]
- Simpleperf perf.data, via pprof_proto_generator.py [Docs]
Transitive Formats
Transitive formats you can convert from:
Converts To
This format is directly convertable to 6 formats:
- callgrind, via pprof -callgrind
- Folded Stacks, via pprofutils folded [Docs]
- Folded Stacks, via stackcollapse-go.pl [Docs]
- Graphviz, via pprof -dot [Docs]
- pprof JSON, via pprofutils json [Docs]
- Rprof.out, via proffer to_rprof [Docs]
Transitive Formats
Transitive formats you can convert to: