diff options
author | 2017-04-24 10:27:26 -0400 | |
---|---|---|
committer | 2017-04-24 10:27:26 -0400 | |
commit | f359aea2faa5004b385d91a6c8668d6ba6f4cdc2 (patch) | |
tree | 488c8ec83d4511023f197c91668b2dd8ce23cf29 /middleware/pprof/setup.go | |
parent | 4c9351b0a3fa1e1d6d1bc1870a37189c05d7f17f (diff) | |
download | coredns-f359aea2faa5004b385d91a6c8668d6ba6f4cdc2.tar.gz coredns-f359aea2faa5004b385d91a6c8668d6ba6f4cdc2.tar.zst coredns-f359aea2faa5004b385d91a6c8668d6ba6f4cdc2.zip |
Pprof listen (#639)
* add listen addr option
* Add listen address option to pprof
* There is configuration
* code styling
Diffstat (limited to 'middleware/pprof/setup.go')
-rw-r--r-- | middleware/pprof/setup.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/middleware/pprof/setup.go b/middleware/pprof/setup.go index 725dc0d63..f94eef710 100644 --- a/middleware/pprof/setup.go +++ b/middleware/pprof/setup.go @@ -1,6 +1,7 @@ package pprof import ( + "net" "sync" "github.com/coredns/coredns/middleware" @@ -8,6 +9,8 @@ import ( "github.com/mholt/caddy" ) +const defaultAddr = "localhost:6053" + func init() { caddy.RegisterPlugin("pprof", caddy.Plugin{ ServerType: "dns", @@ -17,11 +20,20 @@ func init() { func setup(c *caddy.Controller) error { found := false + h := &handler{addr: defaultAddr} for c.Next() { if found { return middleware.Error("pprof", c.Err("pprof can only be specified once")) } - if len(c.RemainingArgs()) != 0 { + args := c.RemainingArgs() + if len(args) == 1 { + h.addr = args[0] + _, _, e := net.SplitHostPort(h.addr) + if e != nil { + return e + } + } + if len(args) > 1 { return middleware.Error("pprof", c.ArgErr()) } if c.NextBlock() { @@ -30,7 +42,6 @@ func setup(c *caddy.Controller) error { found = true } - h := &handler{} pprofOnce.Do(func() { c.OnStartup(h.Startup) c.OnShutdown(h.Shutdown) |