2016-04-28 10:26:58 +01:00
# pprof
2018-01-04 12:53:07 +00:00
## Name
*pprof* - publishes runtime profiling data at endpoints under `/debug/pprof` .
## Description
2017-07-24 08:24:53 -07:00
You can visit `/debug/pprof` on your site for an index of the available endpoints. By default it
will listen on localhost:6053.
2016-04-28 10:26:58 +01:00
2018-05-24 07:51:59 +01:00
This is a debugging tool. Certain requests (such as collecting execution traces) can be slow. If
you use pprof on a live server, consider restricting access or enabling it only temporarily.
2016-04-28 10:26:58 +01:00
2018-02-28 18:16:05 -08:00
This plugin can only be used once per Server Block.
2016-04-28 10:26:58 +01:00
## Syntax
~~~
2019-03-29 02:37:17 -04:00
pprof [ADDRESS] {
block [RATE]
}
2016-04-28 10:26:58 +01:00
~~~
2019-03-29 02:37:17 -04:00
- If not specified, **ADDRESS** defaults to localhost:6053.
- `block` option allow to enable the `block` profiling. see [Diagnostics, chapter profiling ](https://golang.org/doc/diagnostics.html ).
if you need to use `block` profile, set a positive value to **RATE** . See [runtime.SetBlockProfileRate ](https://golang.org/pkg/runtime/#SetBlockProfileRate ).
if not specified, **RATE** default's to 1. if `block` option is not specified the `block` profiling is disabled.
2017-04-24 10:27:26 -04:00
2016-04-28 10:26:58 +01:00
## Examples
Enable pprof endpoints:
~~~
2017-10-10 09:39:35 +02:00
. {
pprof
}
2016-04-28 10:26:58 +01:00
~~~
2017-04-24 10:27:26 -04:00
2018-04-30 20:53:23 +01:00
And use the pprof tool to get statistics: `go tool pprof http://localhost:6053` .
2017-04-24 10:27:26 -04:00
Listen on an alternate address:
2017-10-10 09:39:35 +02:00
~~~ txt
2017-09-15 09:56:05 +01:00
. {
pprof 10.9.8.7:6060
}
2017-04-24 10:27:26 -04:00
~~~
2019-03-29 02:37:17 -04:00
Listen on an all addresses on port 6060: and enable block profiling
2017-04-24 10:27:26 -04:00
2017-10-10 09:39:35 +02:00
~~~ txt
. {
2019-03-29 02:37:17 -04:00
pprof :6060 {
block
}
2017-10-10 09:39:35 +02:00
}
2017-04-24 10:27:26 -04:00
~~~
2018-01-04 12:53:07 +00:00
2018-01-10 11:45:12 +00:00
## Also See
2018-01-04 12:53:07 +00:00
See [Go's pprof documentation ](https://golang.org/pkg/net/http/pprof/ ) and [Profiling Go
Programs](https://blog.golang.org/profiling-go-programs).