coredns/plugin/pprof
Gonzalo Paniagua Javier f91c55d6cd Fix reloading in plugin/pprof. (#3454)
* Fix reloading in plugin/pprof.

Reloading the server without changing the listen address results in an
error because Startup is called for newly set up plugins before Shutdown
is called for the old ones.

Signed-off-by: Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>

* Use pkg/reuseport when listening.

Use coredns' newly added reuseport.

Signed-off-by: Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>

* Revert go.{mod,sum} changes.

Signed-off-by: Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
2019-11-18 07:58:00 +00:00
..
log_test.go Clean up tests logging (#1979) 2018-07-19 16:23:06 +01:00
OWNERS Add OWNERS file (#1486) 2018-02-08 10:55:51 +00:00
pprof.go Fix reloading in plugin/pprof. (#3454) 2019-11-18 07:58:00 +00:00
README.md plugin/pprof: spice up the readme (#2731) 2019-03-29 12:47:59 +00:00
setup.go Fix reloading in plugin/pprof. (#3454) 2019-11-18 07:58:00 +00:00
setup_test.go Update Caddy to 1.0.1, and update import path (#2961) 2019-07-03 09:04:47 +08:00

pprof

Name

pprof - publishes runtime profiling data at endpoints under /debug/pprof.

Description

You can visit /debug/pprof on your site for an index of the available endpoints. By default it will listen on localhost:6053.

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.

This plugin can only be used once per Server Block.

Syntax

pprof [ADDRESS]

Optionally pprof takes an address; the default is localhost:6053.

An extra option can be set with this extended syntax:

pprof [ADDRESS] {
   block [RATE]
}

Examples

Enable a pprof endpoint:

. {
    pprof
}

And use the pprof tool to get statistics: go tool pprof http://localhost:6053.

Listen on an alternate address:

. {
    pprof 10.9.8.7:6060
}

Listen on an all addresses on port 6060, and enable block profiling

. {
    pprof :6060 {
       block
    }
}

Also See

See Go's pprof documentation and Profiling Go Programs.

See runtime.SetBlockProfileRate for background on block profiling.