Go's panic behavior is aggressive. When one goroutine panics, the runtime dumps the stack trace of every goroutine. A production Go service with 50 active goroutines produces 2,000+ lines of stack dump on a single panic.
Your bug is in the first goroutine's first few frames. The other 1,950 lines are noise.
Before: Go Goroutine Panic
goroutine 1 [running]:
main.processRequest(0xc0000b4000, 0x1a)
/app/handler.go:42 +0x1a5
main.main()
/app/main.go:28 +0x85
goroutine 18 [chan receive]:
net/http.(*connReader).backgroundRead(0xc0001a2000)
/usr/local/go/src/net/http/server.go:674 +0x3f
...
goroutine 34 [IO wait]:
internal/poll.runtime_pollWait(0x7f4a8c2d0e08, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0x85
...
goroutine 51 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6000)
/usr/local/go/src/net/http/transport.go:2401 +0x12c
...
[... 46 more goroutines ...]
2,103 lines total. Your AI reads all of them. It needs goroutine 1.
After: Through ContextZip
goroutine 1 [running]:
main.processRequest(0xc0000b4000, 0x1a)
/app/handler.go:42 +0x1a5
main.main()
/app/main.go:28 +0x85
[... 50 other goroutines omitted]
💾 contextzip: 48,291 → 1,204 chars (97% saved)
97% reduction. The panicking goroutine preserved with its full stack. All other goroutines collapsed into a count. If multiple goroutines show the same crash, ContextZip groups them.
This is the single biggest context savings ContextZip achieves — Go goroutine dumps are the most verbose panic format of any language.
cargo install contextzip
eval "$(contextzip init)"
GitHub: github.com/contextzip/contextzip
Part of the ContextZip Daily series. Follow for daily tips on optimizing your AI coding workflow.
Install: npx contextzip | GitHub: jee599/contextzip
Top comments (0)