专业的Go函数追踪分析工具,具备先进的可视化功能。使用 Kratos 后端和 Vue3 前端构建。
- 🔍 函数追踪 - 实时捕获goroutine执行路径
- 📊 可视化 - 交互式Mermaid流程图和热力图
- 📈 性能分析 - 瓶颈识别和分析
- 🔄 Git集成 - GitLab MR变更分析
- 🌐 Web界面 - 现代化Vue3界面
- 后端: Kratos, gRPC, SQLite
- 前端: Vue3, Bootstrap, ECharts
- 可视化: Mermaid.js, D3.js
- 从 GitHub Releases 下载
- 解压并运行:
# Linux ./goanalysis-linux-v* server # Windows goanalysis-windows-v*.exe server
- 打开 http://localhost:8000
git clone https://github.com/toheart/goanalysis.git
cd goanalysis
make init
make sync-frontend
make build
./bin/goanalysis server编辑 configs/config.yaml:
server:
http:
addr: 0.0.0.0:8000
grpc:
addr: 0.0.0.0:9000
data:
dbpath: ./goanalysis.db
biz:
gitlab:
token: "${GITLAB_TOKEN}"
url: "${GITLAB_API_URL}"| 接口地址 | 方法 | 描述 |
|---|---|---|
/api/gids |
GET | 获取goroutine ID |
/api/functions |
GET | 列出追踪函数 |
/api/traces/{gid} |
GET | 获取追踪详情 |
/api/traces/{gid}/mermaid |
GET | 获取图表数据 |
./goanalysis server
./goanalysis rewrite -d /path/to/projectexport GITLAB_TOKEN="your-token"
./goanalysis gitanalysis --project=123 --mr=45├── api/ # API定义
├── cmd/ # CLI命令
├── internal/ # 核心逻辑
├── web/ # 前端文件
└── configs/ # 配置文件
docker run -p 8000:8000 -p 9000:9000 \
ghcr.io/toheart/goanalysis:latestmake package-linux
make package-windows| 问题 | 解决方案 |
|---|---|
| 端口被占用 | lsof -i :8000; kill -9 <PID> |
| 数据库锁定 | rm -f goanalysis.db-* |
| 前端缺失 | make sync-frontend |
- Fork仓库
- 创建功能分支
- 提交更改和测试
- 提交Pull Request
遵循 约定式提交。
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.1.4 | 2024-12-16 | GitLab集成 |
| v1.1.0 | 2024-12-01 | Vue3升级 |
| v1.0.0 | 2024-11-15 | 首个稳定版 |
MIT许可证 - 查看 LICENSE 文件。
- 🐛 问题: GitHub Issues
- 💬 讨论: GitHub Discussions
- 📖 文档: Wiki
- 📱 微信: 关注"小唐的技术日志"获取更新
GoAnalysis - 为Go开发者赋能
⭐ 在GitHub上给我们一个Star!
