Pprof Analyzer MCP Server

Pprof Analyzer MCP Server

site icon
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 语言性能分析数据的工具,旨在帮助开发者快速定位性能瓶颈和内存问题。

核心功能

  1. analyze_pprof 工具
  2. 分析指定的 Go pprof 文件,支持多种性能数据类型(如 CPU、堆内存、goroutine 等)。
  3. 支持多种输出格式:文本、Markdown、JSON 和火焰图 JSON。
  4. 可配置 Top N 结果数量。

  5. generate_flamegraph 工具

  6. 生成火焰图(SVG 格式),依赖 Graphviz。

  7. open_interactive_pprof 工具(仅限 macOS):

  8. 启动交互式 pprof 界面,用于更深入的分析。

  9. disconnect_pprof_session 工具

  10. 终止由 open_interactive_pprof 启动的 pprof 进程。

适用场景

  • 性能优化:分析 CPU 和内存使用情况,找出性能瓶颈。
  • 内存泄漏排查:通过堆内存分析定位内存泄漏问题。
  • 并发问题诊断:分析 goroutine 和锁竞争情况。

工具列表

  1. analyze_pprof:分析 pprof 文件并返回分析结果。
  2. generate_flamegraph:生成火焰图。
  3. open_interactive_pprof(macOS 专用):启动交互式 pprof 界面。
  4. disconnect_pprof_session:终止 pprof 进程。

常见问题解答

  • 依赖问题generate_flamegraph 需要 Graphviz,确保已安装并配置到 PATH。
  • macOS 限制open_interactive_pprof 仅支持 macOS。
  • 临时文件:交互式 pprof 生成的临时文件不会自动清理,需手动终止进程。

使用教程

使用依赖

  1. Graphviz
  2. macOS:brew install graphviz
  3. Debian/Ubuntu:sudo apt-get update && sudo apt-get install graphviz
  4. CentOS/Fedora:sudo yum install graphvizsudo dnf install graphviz
  5. Windows:choco install graphviz

  6. Go 环境:确保已安装 Go 1.18 或更高版本。

安装教程

  1. 直接安装bash go install github.com/ZephyrDeng/pprof-analyzer-mcp@latest

  2. 从源码构建bash go build

  3. 使用 Dockerbash docker build -t pprof-analyzer-mcp . docker run -i --rm pprof-analyzer-mcp

调试方式

  1. 配置 MCP 客户端: 在 .roo/mcp.json 中添加: json { "mcpServers": { "pprof-analyzer": { "command": "pprof-analyzer-mcp" } } }

  2. 运行示例命令

  3. 分析 CPU 性能: json { "tool_name": "analyze_pprof", "arguments": { "profile_uri": "file:///path/to/your/cpu.pprof", "profile_type": "cpu" } }
  4. 生成火焰图: 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" } }

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。