fgprof
fgprof copied to clipboard
overhead negligible goroutine sampling
The main cost of goroutine performance analysis comes from stop the world. And each goroutine needs to traverse the stack through an expensive unwinder function.
We can optimize it by using fp traceback.
The main cost of goroutine performance analysis comes from stop the world. And each goroutine needs to traverse the stack through an expensive unwinder function.
We can optimize it by using fp traceback. Even if we traverse thousands of goroutines, the cost is negligible, so the only overhead is to stop the world and restart the world.
see https://github.com/golang/go/issues/66915