Tracing Goroutines in Realtime with eBPF
1–10 of 12 posts
Re: Tracing Goroutines in Realtime with eBPF
#2Re: Tracing Goroutines in Realtime with eBPF
#3However 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.
Re: Tracing Goroutines in Realtime with eBPF
#4Re: Tracing Goroutines in Realtime with eBPF
#5how 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.
Re: Tracing Goroutines in Realtime with eBPF
#6Re: Tracing Goroutines in Realtime with eBPF
#7Cool! is there something similar for async rust ?
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.
Re: Tracing Goroutines in Realtime with eBPF
#8that 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.
About as often as leaking memory in C++
Re: Tracing Goroutines in Realtime with eBPF
#9Re: Tracing Goroutines in Realtime with eBPF
#10So cool! Does it support multiple Go versions?
Any changes to the struct layouts, stack, or heap layouts would also cause failures in these lookups. E.g., in Go 1.17, many functions now use direct register mappings for arguments rather than always placing arguments in the stack.
Would need to thoroughly vet compatability with each new Go version before using something like this in production.