A tool for inspecting and analyzing running Go processes, including goroutine states, memory statistics, and binary information.
- View detailed goroutine information (status, scheduling info)
- Analyze process memory statistics
- Cross-platform support (Linux and macOS)
- Terminal UI for interactive inspection
- HTTP API for programmatic access
go install github.com/monsterxx03/gospy@latest
# Interactive terminal UI
sudo gospy top --pid <pid>
# HTTP API server
sudo gospy serve --port 8974
# Get process summary
sudo gospy summary --pid <pid>
# Get process summary in JSON format
sudo gospy summary --pid <pid> --json
--pid/-p
- Target process ID (required)--bin/-b
- Path to binary file (optional)--json/-j
- Output results in JSON format
GET /goroutines?pid=<pid>
- List all goroutinesGET /memstats?pid=<pid>
- Get memory statisticsGET /runtime?pid=<pid>
- Get runtime version info
q
- Quitr
- Refresh datas
- Suspend/Resume top view/
- Search/filter goroutines
git clone https://github.com/monsterxx03/gospy.git
cd gospy
make
- Go 1.20+
- Linux or macOS (Apple Silicon only)
- Root privileges (required for memory access)
gospy requires root privileges to:
- Read process memory (/proc//mem on Linux)
- Access Mach APIs on macOS
Run with sudo:
sudo gospy top --pid <pid>
For development/debugging, you may want to:
- Build the binary first:
make
- Run with sudo:
sudo ./gospy [command]
Version 0.7.0 was completely rewritten from scratch with aider, which wrote >90% of the code. Additional assistance from:
- DeepSeek (R1 + V3 models) - AI coding assistant
Total AI compute cost: ~$2 USD
MIT - See LICENSE file for details.