panicparse 1.4.0!

Because sometimes we fail and we need help
2020-04-06 golang panicparse

A long long time ago

Five years ago, I gave a lightning talk at Gophercon 2015 where I presented a tool that I had just released. I was quite proud of myself, as I had worked hard on it and felt it was a great value proposition. The tool looked at the touched packages between the local tree and upstream, e.g. origin/master, calculate all the affected packages by the local changes, including transitive dependencies and would only run the affected tests, in parallel! It made running tests on large projects much more pleasant. This was a time when go test didn’t even try to build packages without test, that go test execution was still serial and no caching was done.

This tool was a total failure from a popularity perspective, but at the end of my lightning talk I took the occasion to talk about side projects I had started, one which was really just a quick hack, panicparse.

For this one, I felt the value proposition was hard to explain, so I decided to make an animated GIF. I think it’s the best marketing I ever done (which says much about my marketing skills):

Original panicparse animation.

This tool became quite popular, and it still being used a lot 5 years later, the repo is cloned over a thousand time per day.

Improvements

Over time, I improved it a bit, converted the initial adhoc parsing into a formal state machine, but I made little externally visible improvements. I had a fair number of ideas, but one that kept bugging me was to replace the dreaded /debug/pprof/goroutine?debug=2 from package net/http/pprof with the bucketing algorithm I had created for panicparse. The current state of the world these days gave me inspiration to take a stab at doing it.

Today, I’m glad to announce the new package github.com/maruel/panicparse/stack/webstack added in panicparse v1.4.0. It enables taking a snapshot of your service while running and presents a useful webpage with links to both the documentation and the source code when possible. Leveraging my incredible animated GIFs skills, I decided to create a brand new animated GIF to present its power:

New webstack animation.

Please try it out, if you like it please star the GitHub project, and please file suggestions as issues on github.com/maruel/panicparse.

Enjoy!