aboutsummaryrefslogtreecommitdiff
path: root/middleware/pprof/setup.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2017-04-24 10:27:26 -0400
committerGravatar John Belamaric <jbelamaric@infoblox.com> 2017-04-24 10:27:26 -0400
commitf359aea2faa5004b385d91a6c8668d6ba6f4cdc2 (patch)
tree488c8ec83d4511023f197c91668b2dd8ce23cf29 /middleware/pprof/setup.go
parent4c9351b0a3fa1e1d6d1bc1870a37189c05d7f17f (diff)
downloadcoredns-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.go15
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)