aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2018-04-25 16:43:57 +0100
committerGravatar Chris O'Haver <cohaver@infoblox.com> 2018-04-25 11:43:56 -0400
commit5c3e436d71b0c917a3f2d53c49059bee45a37f3c (patch)
tree4922c0921893a155fb7a867df20f8270fb2b20d5
parentd3f2d4a291318607e084d57cd1b5e8f4882abbb5 (diff)
downloadcoredns-5c3e436d71b0c917a3f2d53c49059bee45a37f3c.tar.gz
coredns-5c3e436d71b0c917a3f2d53c49059bee45a37f3c.tar.zst
coredns-5c3e436d71b0c917a3f2d53c49059bee45a37f3c.zip
plugin/autopath: per server metrics (#1730)
Implement per server metrics in autopath; also don't export the metric. Updated readme as well.
-rw-r--r--plugin/autopath/README.md4
-rw-r--r--plugin/autopath/autopath.go3
-rw-r--r--plugin/autopath/metrics.go5
-rw-r--r--plugin/autopath/setup.go2
4 files changed, 8 insertions, 6 deletions
diff --git a/plugin/autopath/README.md b/plugin/autopath/README.md
index de2871b0c..5b616d381 100644
--- a/plugin/autopath/README.md
+++ b/plugin/autopath/README.md
@@ -29,7 +29,9 @@ If a plugin implements the `AutoPather` interface then it can be used.
If monitoring is enabled (via the *prometheus* directive) then the following metric is exported:
-* `coredns_autopath_success_count_total{}` - counter of successfully autopath-ed queries.
+* `coredns_autopath_success_count_total{server}` - counter of successfully autopath-ed queries.
+
+The `server` label is explained in the *metrics* plugin documentation.
## Examples
diff --git a/plugin/autopath/autopath.go b/plugin/autopath/autopath.go
index 693f09e47..edc0b0845 100644
--- a/plugin/autopath/autopath.go
+++ b/plugin/autopath/autopath.go
@@ -35,6 +35,7 @@ import (
"context"
"github.com/coredns/coredns/plugin"
+ "github.com/coredns/coredns/plugin/metrics"
"github.com/coredns/coredns/plugin/pkg/dnsutil"
"github.com/coredns/coredns/plugin/pkg/nonwriter"
"github.com/coredns/coredns/request"
@@ -132,7 +133,7 @@ func (a *AutoPath) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Ms
// Write whatever non-nxdomain answer we've found.
w.WriteMsg(msg)
- AutoPathCount.WithLabelValues().Add(1)
+ autoPathCount.WithLabelValues(metrics.WithServer(ctx)).Add(1)
return rcode, err
}
diff --git a/plugin/autopath/metrics.go b/plugin/autopath/metrics.go
index 2d32793bf..c928bd2f3 100644
--- a/plugin/autopath/metrics.go
+++ b/plugin/autopath/metrics.go
@@ -8,14 +8,13 @@ import (
"github.com/prometheus/client_golang/prometheus"
)
-// Metrics for autopath.
var (
- AutoPathCount = prometheus.NewCounterVec(prometheus.CounterOpts{
+ autoPathCount = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: plugin.Namespace,
Subsystem: "autopath",
Name: "success_count_total",
Help: "Counter of requests that did autopath.",
- }, []string{})
+ }, []string{"server"})
)
var once sync.Once
diff --git a/plugin/autopath/setup.go b/plugin/autopath/setup.go
index 6015c7460..11c2b815d 100644
--- a/plugin/autopath/setup.go
+++ b/plugin/autopath/setup.go
@@ -26,7 +26,7 @@ func setup(c *caddy.Controller) error {
}
c.OnStartup(func() error {
- once.Do(func() { metrics.MustRegister(c, AutoPathCount) })
+ once.Do(func() { metrics.MustRegister(c, autoPathCount) })
return nil
})