|
|
10 years ago | |
|---|---|---|
| AUTHORS | 10 years ago | |
| LICENSE | 10 years ago | |
| README.md | 10 years ago | |
| example_test.go | 10 years ago | |
| profile.go | 10 years ago | |
| profile_test.go | 10 years ago | |
| wercker.yml | 10 years ago | |
Simple profiling support package for Go
go get github.com/pkg/profile
Enabling profiling in your application is as simple as one line at the top of your main function
import "github.com/pkg/profile"
func main() {
defer profile.Start().Stop()
...
}
What to profile is controlled by config value passed to profile.Start. By default CPU profiling is enabled.
import "github.com/pkg/profile"
func main() {
// p.Stop() must be called before the program exits to
// ensure profiling information is written to disk.
p := profile.Start(profile.MemProfile, profile.ProfilePath("."), profile.NoShutdownHook)
...
}
Several convenience package level values are provided for cpu, memory, and block (contention) profiling.
For more complex options, consult the documentation.