Skip to content
Pprof made easy at development time for Go
Branch: master
Clone or download
rakyll Fix CPU profile examples
pprof CPU profiles are better if collected for
at least 30 secs.
Latest commit 5bf1b28 Jul 31, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples/helloworld Fix CPU profile examples Jul 31, 2019 Add CONTRIBUTING Nov 22, 2018
LICENSE Add more docs Nov 21, 2018 Fix CPU profile examples Jul 31, 2019
autopprof.go Add missing profiles Nov 25, 2018
example_test.go Fix CPU profile examples Jul 31, 2019
go.mod Update go.mod Apr 16, 2019
go.sum Remove ununsed dependency from go.sum Nov 26, 2018



Pprof made easy at development time.


Add autopprof.Capture to your main function.

import ""

    Duration: 30 * 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.

You can’t perform that action at this time.