Tracing Goroutines in Realtime with eBPF (sazak.io)

49 points by darccio 3 days ago

6 comments:

by 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.

by trueno 4 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.

by usrnm 15 minutes ago

> how common is it for go devs to experience leaking goroutines

About as often as leaking memory in C++

by xtoilette 4 hours ago

Cool! is there something similar for async rust ?

by fch42 an hour 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.

by tsuzu 4 hours ago

So cool! Does it support multiple Go versions?

Data from: Hacker News, provided by Hacker News (unofficial) API