Apparently its very easy to collect execution tracer profile
runtime.trace.Start (io.Writer)
time.Sleep(N seconds)
runtime.trace.Stop()
And to analyze/look at the collected profile
go tool trace /path/to/your/app/executable
On Monday, July 25, 2016 at 5:47:19 PM UTC-4, ajay aggarwal
Thanks Ian. But Its not clear how to get execution trace from that document
(https://golang.org/s/go15trace). When I list profiles for my application,
I get following list
block,goroutine,heap,threadcreate
And when I try to curl to http://my-app/debug/pprof/trace?seconds=30; for my
Thanks for the explanation on runtime.mcall and runtime.schedule. Is it
true that if your application gets blocked a lot (say on I/O) then CPU
profile will not help you to figure out where you are getting blocked the
most? The blocked goroutines will not show up in the CPU profile samples..
On
Hello,
I am trying to analyze why I am getting low throughput for my app. Below is
the 30 second CPU profile output. I would expect more time spent in
net/http serve. Not sure if runtime.mcall and runtime.schedule taking
almost 1/4th of the time is concerning. When I did a "web mcall" it