LabscoMCP early access ↗
ZephyrDengMCP SERVER

Pprof Analyzer

Hand a Go pprof profile to an assistant and get the hot spots, a flame graph, or a diff against a baseline.

by ZephyrDeng ↗Runtime Debugging & Crash AnalysisCommunity

LABSCO SUMMARY

Comparison tools, not just a top-N list.

Anyone can read a single profile; the work is telling whether this release is worse than the last one, and that is what the leak detector, the baseline diff and the time-series analysis are for — growth by object type and allocation site is a far better lead than a flat allocation ranking. Two limits to plan around: the SVG flame graph needs Graphviz installed, and the interactive UI only runs on macOS, with errors from the background process not surfaced back to you.

What it is

A Go MCP server for analysing pprof performance profiles. It parses the profile itself for the top-N and flame-graph output, and shells out to go tool pprof when you want an SVG or the interactive web UI.

What you get

  • analyze_pprof — cpu, heap, goroutine, allocs, mutex and block profiles, output as text, markdown, JSON top-N or hierarchical flame-graph JSON
  • generate_flamegraph — an SVG flame graph written to a path you name, with the content returned as well
  • detect_memory_leaks — compares two heap snapshots and reports growth by object type and allocation site, with a threshold you set
  • compare_profiles — baseline against target for any profile type, listing regressed, improved, added and removed functions
  • analyze_heap_time_series — three or more heap profiles in order, turned into growth rates and trending object types
  • open_interactive_pprof launches the pprof web UI in the background and returns its PID; disconnect_pprof_session stops it again

Requirements

Install with go install, build from source, or run the Docker image, which bundles the dependency you would otherwise install yourself. generate_flamegraph needs Graphviz on your PATH, because the SVG is produced by the dot command. open_interactive_pprof is macOS only and needs the go command available; it defaults to port 8081. Profiles can be passed as file, http or https URIs.

Setup effort

One command — go install github.com/ZephyrDeng/pprof-analyzer-mcp@latest