[HN Gopher] Show HN: Goroutine-analyzer: A visual goroutine stac...
___________________________________________________________________
Show HN: Goroutine-analyzer: A visual goroutine stack dump
debugging tool
Author : adhocpotato
Score : 62 points
Date : 2022-09-16 13:00 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| cplusplusfellow wrote:
| > The tool is written in Java for expediency on the UI front.
|
| I never thought I would live to see the day these words were
| unironically authored.
| chrsig wrote:
| Definitely seems like a useful tool...being in java definitely is
| a bummer though, makes it harder to integrate into the ecosystem.
|
| I wish the go runtime would allow adding annotations to stack
| frames. just something simple to attach key/value pairs to a
| frame, or something. Enough to give the goroutine a name.
|
| runtime/trace gets close to it by annotating the context with a
| task/region, but if the trace hadn't been started before the task
| starts, then it's not going to show up anywhere.
| jeffbee wrote:
| Does pprof.Do address that use case?
|
| https://pkg.go.dev/runtime/pprof#Do
| chrsig wrote:
| very possibly! thanks, I totally missed those being added!
| I'll have to play around with them a bit
| adhocpotato wrote:
| 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) 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) which helps us gather stack
| dumps (and pprof dumps, etc) at runtime.
| cplusplusfellow wrote:
| Not a criticism but did you consider any of the Golang
| libraries for doing user interfaces (DearImGUI is what I'm
| looking at now).
___________________________________________________________________
(page generated 2022-09-17 23:01 UTC)