Trace is a tool for viewing trace files.
Trace files can be generated with:
- runtime/trace.Start - net/http/pprof package - go test -trace
Example usage: Generate a trace file with 'go test':
go test -trace trace.out pkg
View the trace in a web browser:
go tool trace trace.out
Generate a pprof-like profile from the trace:
go tool trace -pprof=TYPE trace.out > TYPE.pprof
Supported profile types are:
- net: network blocking profile - sync: synchronization blocking profile - syscall: syscall blocking profile - sched: scheduler latency profile
Then, you can use the pprof tool to analyze the profile:
go tool pprof TYPE.pprof
Note that while the various profiles available when launching 'go tool trace' work on every browser, the trace viewer itself (the 'view trace' page) comes from the Chrome/Chromium project and is only actively tested on that browser.