autopprof
Pprof made easy at development time.
Guide
Add autopprof.Capture to your main function.
import "github.com/rakyll/autopprof"
autopprof.Capture(autopprof.CPUProfile{
Duration: 15 * time.Second,
})
Run your program and send SIGQUIT to the process
(or CTRL+\ on Mac).
Profile capturing will start. Pprof UI will be started
once capture is completed.
See godoc for other profile types.
Why autopprof?
autopprof is a easy-to-setup pprof profile data collection library
for development time.
It highly depends on the standard library packages such as
runtime/pprof and the existing
tools such as go tool pprof
.
Collecting and visualizing profiling data from Go programs is a
multi-step process. First, you need to collect and write the collected
data to a file. Then you should use the go tool pprof
tool to analyze
and visualize.
autopprof makes it easier to collect and start the pprof UI with a
one-line configuration. It collects profiles once the process is triggered
with a SIGQUIT and starts the pprof UI with the collected data. Since it
does signal handling and starting the browser, it is only recommended
at development-time.
For production cases, please see the
runtime/pprof
and net/http/pprof packages.