diff options
author | 2016-04-05 16:36:27 +0100 | |
---|---|---|
committer | 2016-04-05 16:36:27 +0100 | |
commit | ecb53addd6f76206e6070e2312d6a48435c450e7 (patch) | |
tree | 22f2aa04bd5b7e61ec750cde27f946e01daea6e0 | |
parent | e0c4f94d67715e1bbe63436e990cbacbad7fe459 (diff) | |
download | coredns-ecb53addd6f76206e6070e2312d6a48435c450e7.tar.gz coredns-ecb53addd6f76206e6070e2312d6a48435c450e7.tar.zst coredns-ecb53addd6f76206e6070e2312d6a48435c450e7.zip |
Normalize names before putting it in the handler
-rw-r--r-- | core/setup/prometheus.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/core/setup/prometheus.go b/core/setup/prometheus.go index 181b67110..fe2fe47d6 100644 --- a/core/setup/prometheus.go +++ b/core/setup/prometheus.go @@ -19,9 +19,7 @@ func Prometheus(c *Controller) (middleware.Middleware, error) { if err != nil { return nil, err } - if metrics.Addr == "" { - metrics.Addr = addr - } + once.Do(func() { c.Startup = append(c.Startup, metrics.Start) }) @@ -39,10 +37,13 @@ func parsePrometheus(c *Controller) (prom.Metrics, error) { ) for c.Next() { - if metrics.Addr != "" { + 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) { @@ -66,5 +67,8 @@ func parsePrometheus(c *Controller) (prom.Metrics, error) { } } + if metrics.Addr == "" { + metrics.Addr = addr + } return metrics, err } |