diff options
author | 2016-04-09 16:17:53 +0100 | |
---|---|---|
committer | 2016-04-09 16:17:53 +0100 | |
commit | ad221f4b2afa0cf89810cd9c3b4e953913d602fc (patch) | |
tree | 23bf7561336d29096eb24d821265235f84ac4222 /core/setup/prometheus.go | |
parent | db3d689a8ac2bec199e5643394ffa779341acde0 (diff) | |
download | coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.tar.gz coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.tar.zst coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.zip |
correct EDNS responses (#96)
Tests updated as well and all the middleware. And Prometheus renamed to
metrics (directive is still prometheus).
Diffstat (limited to 'core/setup/prometheus.go')
-rw-r--r-- | core/setup/prometheus.go | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/core/setup/prometheus.go b/core/setup/prometheus.go deleted file mode 100644 index 9ab68b6a5..000000000 --- a/core/setup/prometheus.go +++ /dev/null @@ -1,74 +0,0 @@ -package setup - -import ( - "sync" - - "github.com/miekg/coredns/middleware" - prom "github.com/miekg/coredns/middleware/prometheus" -) - -const ( - path = "/metrics" - addr = "localhost:9135" // 9153 is occupied by bind_exporter -) - -var once sync.Once - -func Prometheus(c *Controller) (middleware.Middleware, error) { - metrics, err := parsePrometheus(c) - if err != nil { - return nil, err - } - - once.Do(func() { - c.Startup = append(c.Startup, metrics.Start) - }) - - return func(next middleware.Handler) middleware.Handler { - metrics.Next = next - return metrics - }, nil -} - -func parsePrometheus(c *Controller) (prom.Metrics, error) { - var ( - metrics prom.Metrics - err error - ) - - for c.Next() { - if len(metrics.ZoneNames) > 0 { - return prom.Metrics{}, c.Err("prometheus: can only have one metrics module per server") - } - metrics = prom.Metrics{ZoneNames: c.ServerBlockHosts} - for i, _ := range metrics.ZoneNames { - metrics.ZoneNames[i] = middleware.Host(metrics.ZoneNames[i]).Normalize() - } - args := c.RemainingArgs() - - switch len(args) { - case 0: - case 1: - metrics.Addr = args[0] - default: - return prom.Metrics{}, c.ArgErr() - } - for c.NextBlock() { - switch c.Val() { - case "address": - args = c.RemainingArgs() - if len(args) != 1 { - return prom.Metrics{}, c.ArgErr() - } - metrics.Addr = args[0] - default: - return prom.Metrics{}, c.Errf("prometheus: unknown item: %s", c.Val()) - } - - } - } - if metrics.Addr == "" { - metrics.Addr = addr - } - return metrics, err -} |