# google/pprof

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-pprof).**

9,212 stars · 663 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/google/pprof
- awesome-repositories: https://awesome-repositories.com/repository/google-pprof.md

## Topics

`performance` `performance-analysis` `pprof` `profiler`

## Description

pprof is a tool for visualizing and analyzing performance profiling data. It converts sampled call stacks into a directed graph rendered as an SVG, enabling visual identification of execution hotspots. The tool also parses Linux perf.data files, converting them into an internal profile representation for further analysis.

Beyond visualization, pprof provides a command-line REPL for interactive exploration of profiling data, allowing users to filter, refine, and query performance information on the fly. It generates sorted text reports that highlight the most resource-intensive call stacks, and it can serve a local web dashboard for browsing and analyzing profiling data through an interactive interface.

The tool supports analysis of CPU and memory profiling data, including Go runtime performance profiles, presenting them as call graphs and flame graphs. It ingests data from sources like Linux perf, and offers both a shell-based and web-based interface for exploring and visualizing performance metrics.

## Tags

### Part of an Awesome List

- [Performance Hotspot Report Generators](https://awesome-repositories.com/f/awesome-lists/data/report-generation/performance-hotspot-report-generators.md) — Generates text reports sorted by execution time to identify the most resource-intensive call stacks. ([source](https://cdn.jsdelivr.net/gh/google/pprof@main/README.md))
- [Debugging And Profiling](https://awesome-repositories.com/f/awesome-lists/devtools/debugging-and-profiling.md) — Official performance profiling tool.

### Data & Databases

- [Call Stack](https://awesome-repositories.com/f/data-databases/data-partitioning/partitioned-synchronization/hotspot-detectors/call-stack.md) — Generates sorted text reports pinpointing the most resource-intensive call stacks.
- [Perf Data Parsers](https://awesome-repositories.com/f/data-databases/storage-management/linux/perf-data-parsers.md) — Converts Linux perf.data files into internal profiling profiles for downstream analysis.

### Mobile Development

- [Profiling Data Dashboards](https://awesome-repositories.com/f/mobile-development/mobile-compatible-web-apps/accounting-dashboard-interfaces/local-web-servers/profiling-data-dashboards.md) — Serves a local web dashboard for interactive browsing and analysis of profiling data.

### Software Engineering & Architecture

- [Weighted Stack Sorters](https://awesome-repositories.com/f/software-engineering-architecture/stacks/weighted-stack-sorters.md) — Generates flat text reports sorted by cumulative execution time to highlight hotspots.

### System Administration & Monitoring

- [Call Graph Visualizers](https://awesome-repositories.com/f/system-administration-monitoring/function-monitoring/call-graph-visualizers.md) — Generates SVG call graphs from sampled call stacks to visually identify execution hotspots.
- [Performance Profile Shells](https://awesome-repositories.com/f/system-administration-monitoring/interactive-disk-profilers/performance-profile-shells.md) — Provides a command-line shell for interactive querying and refinement of profiling data.
- [Profiling Data Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/performance-dashboards/profiling-data-dashboards.md) — Serves profiling data through a local web interface for browsing and analyzing performance metrics. ([source](https://cdn.jsdelivr.net/gh/google/pprof@main/README.md))
- [Perf Data Converters](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-resource-management/linux-performance-analysis/perf-data-converters.md) — Converts and analyzes Linux perf.data files into structured performance profiles.
- [Perf Data Readers](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-resource-management/linux-performance-analysis/perf-data-readers.md) — Reads and converts Linux perf.data files into profiling profiles for analysis. ([source](https://cdn.jsdelivr.net/gh/google/pprof@main/README.md))

### Testing & Quality Assurance

- [Go Runtime Profilers](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/execution-profilers/flame-graph-visualizers/go-runtime-profilers.md) — Reads Go runtime profiling data and presents it as call graphs and flame graphs.
- [Profiling Data Visualizations](https://awesome-repositories.com/f/testing-quality-assurance/profiling-visualization-filters/profiling-data-visualizations.md) — Explores and analyzes CPU, memory, and other profiling data through interactive graphs and reports.
- [Interactive Shells](https://awesome-repositories.com/f/testing-quality-assurance/profiling-visualization-filters/profiling-data-visualizations/interactive-shells.md) — Provides a command-line REPL for interactive filtering and refinement of profiling data.
