Professional Go function tracing analysis tool with advanced visualization. Built with Kratos backend and Vue3 frontend.
- 🔍 Function Tracing - Real-time goroutine execution capture
- 📊 Visualization - Interactive Mermaid flowcharts and heatmaps
- 📈 Performance - Bottleneck identification and analysis
- 🔄 Git Integration - GitLab MR change analysis
- 🌐 Web UI - Modern Vue3 interface
- Backend: Kratos, gRPC, SQLite
- Frontend: Vue3, Bootstrap, ECharts
- Visualization: Mermaid.js, D3.js
- Download from GitHub Releases
- Extract and run:
# Linux ./goanalysis-linux-v* server # Windows goanalysis-windows-v*.exe server
- Open http://localhost:8000
git clone https://github.com/toheart/goanalysis.git
cd goanalysis
make init
make sync-frontend
make build
./bin/goanalysis server
Edit 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}"
Endpoint | Method | Description |
---|---|---|
/api/gids |
GET | Get goroutine IDs |
/api/functions |
GET | List traced functions |
/api/traces/{gid} |
GET | Get trace details |
/api/traces/{gid}/mermaid |
GET | Get diagram data |
./goanalysis server
./goanalysis rewrite -d /path/to/project
export GITLAB_TOKEN="your-token"
./goanalysis gitanalysis --project=123 --mr=45
├── api/ # API definitions
├── cmd/ # CLI commands
├── internal/ # Core logic
├── web/ # Frontend files
└── configs/ # Configuration
docker run -p 8000:8000 -p 9000:9000 \
ghcr.io/toheart/goanalysis:latest
make package-linux
make package-windows
Issue | Solution |
---|---|
Port in use | lsof -i :8000; kill -9 <PID> |
DB locked | rm -f goanalysis.db-* |
Frontend missing | make sync-frontend |
- Fork repository
- Create feature branch
- Make changes with tests
- Submit pull request
Follow Conventional Commits.
Version | Date | Changes |
---|---|---|
v1.1.4 | 2024-12-16 | GitLab integration |
v1.1.0 | 2024-12-01 | Vue3 upgrade |
v1.0.0 | 2024-11-15 | First stable |
MIT License - see LICENSE file.
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📖 Docs: Wiki
- 📱 WeChat: Follow "小唐的技术日志" for updates
GoAnalysis - Empowering Go developers
⭐ Star us on GitHub!