Go 进程 inspector 是一个强大的工具,用于检查和分析运行中的 Go 进程。它能提供 goroutine 状态、内存统计信息和二进制信息,帮助开发者深入了解进程运行情况。
你可以通过以下命令进行安装:
go install github.com/monsterxx03/gospy@latest
# 交互式终端 UI
sudo gospy top --pid <进程 ID>
# HTTP API 服务器
sudo gospy serve --port 8974
# 获取进程摘要
sudo gospy summary --pid <进程 ID>
# 在 JSON 格式下获取进程摘要
sudo gospy summary --pid <进程 ID> --json
--pid/-p - 目标进程 ID(必需)--bin/-b - 可执行文件路径(可选)--json/-j - 以 JSON 格式输出结果GET /goroutines?pid=
- 列出所有 goroutineGET /memstats?pid=
- 获取内存统计信息GET /runtime?pid=
- 获取运行时版本信息MCP 服务器提供了一个 SSE(Server-Sent Events)端点。要启用:
>>> sudo gospy serve --enable-mcp --port 8974
启动 API 服务器,监听端口 8974
端点:
GET /runtime?pid= - 获取运行时信息
GET /goroutines?pid= - 获取 goroutine 列表
GET /memstats?pid= - 获取内存统计
GET /mcp/sse - MCP SSE 端点
可用的 MCP 工具:
goroutines - 转储 Go 进程中的 goroutinegomemstats - 转储内存统计信息goruntime - 获取运行时信息pgrep - 根据进程名称查找 PID配置在光标中
q - 退出r - 刷新数据s - 暂停/恢复 top 视图/ - 搜索/过滤 goroutine通过以下命令可以完成安装:
go install github.com/monsterxx03/gospy@latest
如果你想从源代码构建,可按以下步骤操作:
git clone https://github.com/monsterxx03/gospy.git
cd gospy
make
# 交互式终端 UI
sudo gospy top --pid <进程 ID>
# 以 JSON 格式获取进程摘要
sudo gospy summary --pid <进程 ID> --json
gospy 需要根权限来:
使用 sudo 运行:
sudo gospy top --pid <进程 ID>
对于开发/调试,可能需要:
makesudo ./gospy [命令]本项目采用 MIT 许可证,有关详细信息,请参阅 LICENSE 文件。
版本 0.7.0 完全从头开始重写,并由 aider 完成,编写了 >90% 的代码。其他协助来自:
总 AI 计算成本:~$2 美元