
Pprof Analyzer MCP Server

2025.04.16
4
Go性能分析Go 语言工具开发效率
Pprof Analyzer MCP Server 是一个基于 Go 语言实现的 Model Context Protocol (MCP) 服务器,主要用于分析和处理 Go 语言的 pprof 性能分析文件。该服务器提供了多种工具,用于分析不同类型的性能数据,并支持多种输出格式,包括文本、Markdown、JSON 和火焰图 JSON。此外,它还支持生成火焰图(SVG 格式)和启动交互式 pprof 界面(仅限 macOS)。
View on GitHub
Overview
基本能力
产品定位
Pprof Analyzer MCP Server 是一个专门用于分析和可视化 Go 语言性能分析数据的工具,旨在帮助开发者快速定位性能瓶颈和内存问题。
核心功能
analyze_pprof
工具:- 分析指定的 Go pprof 文件,支持多种性能数据类型(如 CPU、堆内存、goroutine 等)。
- 支持多种输出格式:文本、Markdown、JSON 和火焰图 JSON。
-
可配置 Top N 结果数量。
-
generate_flamegraph
工具: -
生成火焰图(SVG 格式),依赖 Graphviz。
-
open_interactive_pprof
工具(仅限 macOS): -
启动交互式 pprof 界面,用于更深入的分析。
-
disconnect_pprof_session
工具: - 终止由
open_interactive_pprof
启动的 pprof 进程。
适用场景
- 性能优化:分析 CPU 和内存使用情况,找出性能瓶颈。
- 内存泄漏排查:通过堆内存分析定位内存泄漏问题。
- 并发问题诊断:分析 goroutine 和锁竞争情况。
工具列表
analyze_pprof
:分析 pprof 文件并返回分析结果。generate_flamegraph
:生成火焰图。open_interactive_pprof
(macOS 专用):启动交互式 pprof 界面。disconnect_pprof_session
:终止 pprof 进程。
常见问题解答
- 依赖问题:
generate_flamegraph
需要 Graphviz,确保已安装并配置到 PATH。 - macOS 限制:
open_interactive_pprof
仅支持 macOS。 - 临时文件:交互式 pprof 生成的临时文件不会自动清理,需手动终止进程。
使用教程
使用依赖
- Graphviz:
- macOS:
brew install graphviz
- Debian/Ubuntu:
sudo apt-get update && sudo apt-get install graphviz
- CentOS/Fedora:
sudo yum install graphviz
或sudo dnf install graphviz
-
Windows:
choco install graphviz
-
Go 环境:确保已安装 Go 1.18 或更高版本。
安装教程
-
直接安装:
bash go install github.com/ZephyrDeng/pprof-analyzer-mcp@latest
-
从源码构建:
bash go build
-
使用 Docker:
bash docker build -t pprof-analyzer-mcp . docker run -i --rm pprof-analyzer-mcp
调试方式
-
配置 MCP 客户端: 在
.roo/mcp.json
中添加:json { "mcpServers": { "pprof-analyzer": { "command": "pprof-analyzer-mcp" } } }
-
运行示例命令:
- 分析 CPU 性能:
json { "tool_name": "analyze_pprof", "arguments": { "profile_uri": "file:///path/to/your/cpu.pprof", "profile_type": "cpu" } }
- 生成火焰图:
json { "tool_name": "generate_flamegraph", "arguments": { "profile_uri": "file:///path/to/your/cpu.pprof", "profile_type": "cpu", "output_svg_path": "/path/to/save/cpu_flamegraph.svg" } }