Files
coredns/plugin/pprof
Syed Azeez 6dca5b26d1 fix(lint): address G114 gosec findings in ready, pprof, and health plugins (#7798)
Replace http.Serve() with http.Server{} configured with timeouts to
address G114 gosec findings (HTTP server without timeouts). This
prevents potential slowloris attacks and resource exhaustion.

Changes:
- Add ReadTimeout, WriteTimeout, IdleTimeout (5s each) to HTTP servers
- Use srv.Shutdown(ctx) for graceful shutdown instead of ln.Close()
- Follow existing pattern from plugin/metrics

Fixes part of #7793

Signed-off-by: Azeez Syed <syedazeez337@gmail.com>
2026-01-01 11:25:37 +02:00
..
2018-07-19 16:23:06 +01:00
2022-07-10 11:06:33 -07: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
    }
}

See Also

See Go's pprof documentation and Profiling Go Programs.

See runtime.SetBlockProfileRate for background on block profiling.