coredns/plugin/pprof
Miek Gieben 004c5fca9d
all: simply registering plugins (#3287)
Abstract the caddy call and make it simpler.

See #3261 for some part of the discussion.

Go from:

~~~ go
func init() {
       caddy.RegisterPlugin("any", caddy.Plugin{
               ServerType: "dns",
               Action:     setup,
       })
}
~~~

To:

~~~ go
func init() { plugin.Register("any", setup) }
~~~

This requires some external documents in coredns.io to be updated as
well; the old way still works, so it's backwards compatible.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-20 08:02:30 +01: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 typo fixes (#3169) 2019-08-21 16:08:55 -04:00
README.md plugin/pprof: spice up the readme (#2731) 2019-03-29 12:47:59 +00:00
setup.go all: simply registering plugins (#3287) 2019-09-20 08:02:30 +01: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.