3 ms·
I wrote a tool to help dig into goroutine stack dumps from customer deployments. One of the things the open source project (https://github.com/openziti/ziti htt
by adhocpotato 4y ago
I wrote a tool to help dig into goroutine stack dumps from customer deployments. One of the things the open source project (https://github.com/openziti/ziti https://github.com/openziti/ziti) I work on does is mesh networking. This has been very helpful for looking at goroutines from multiple processes, debugging distributed systems issues.
It can:
* Load multiple stackdumps
* Group similar goroutines automatically or manually
* Group goroutines by regular expression
It is written in Java, because I needed a tool and I've done Java UIs in the past. Since I do Go backend development I figured I'd spend my time getting the tool written.
We also use a Go agent library (https://github.com/openziti/agent https://github.com/openziti/agent) which helps us gather stack dumps (and pprof dumps, etc) at runtime.
- cplusplusfellow 4y agoNot a criticism but did you consider any of the Golang libraries for doing user interfaces (DearImGUI is what I’m looking at now).
- adhocpotato 4y agoI did poke around for a bit, but I really needed the tool, and I knew it would be days of work if I learned a new tool and hours if I stuck with what I knew. My coworker Andrew did start a similar tool, which is here: https://github.com/andrewpmartinez/grid https://github.com/andrewpmartinez/grid and uses https://github.com/AllenDang/giu https://github.com/AllenDang/giu for the UI. Next time I need a feature I probably take a look at that and see what the model looks like and and how straightforward it is to work with.