48 points by darccio 3 days ago | 5 comments
broken_broken_ 4 hours ago
Interesting to see an ebpf approach to this idea, some time ago I did the same with Dtrace: https://gaultier.github.io/blog/detecting_goroutine_leaks_wi...

However I did not think of observing the ‘castgstatus’ runtime function.

Always nice to be able to compare the DTrace and Ebpf approaches, they both have different strong points.

trueno 3 hours ago
that is actually sick.

how common is it for go devs to experience leaking goroutines ? id like to think go is a lot less shoot yourself in the foot here since they provide a framework for concurrency/parallelism rather than you working with the tiny pieces of it and building out the architecture yourself, but ive only needed to use goroutines once and it was a pretty problem-free experience.

usrnm 8 minutes ago
> how common is it for go devs to experience leaking goroutines

About as often as leaking memory in C++

xtoilette 4 hours ago
Cool! is there something similar for async rust ?
fch42 50 minutes ago
https://docs.rs/tokio-console/latest/tokio_console/ comes to mind.

I'm not aware of eBPF-based dynamic instrumentation for either tokio or other async runtimes, but I'm also not (in need to be) debugging this on a daily basis.

tsuzu 3 hours ago
So cool! Does it support multiple Go versions?
darshil2023 1 hour ago
[dead]