aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/handler.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-12-27 15:48:14 +0000
committerGravatar GitHub <noreply@github.com> 2017-12-27 15:48:14 +0000
commit90dd4bbd4570560a4b72ca8525c99dc8fc1db163 (patch)
treeab7029569d9e281a28c6ab203a556176f6586eea /plugin/cache/handler.go
parent5ac42ed5c29609ce710c2d9a8e145919f4124c00 (diff)
downloadcoredns-90dd4bbd4570560a4b72ca8525c99dc8fc1db163.tar.gz
coredns-90dd4bbd4570560a4b72ca8525c99dc8fc1db163.tar.zst
coredns-90dd4bbd4570560a4b72ca8525c99dc8fc1db163.zip
metrics: correctly register all metrics (#1335)
After initial startup, see if prometheus is loaded and if so, register our metrics with it. Stop doing the init() func and just use the sync.Once so we don't double registrer our metrics.
Diffstat (limited to 'plugin/cache/handler.go')
-rw-r--r--plugin/cache/handler.go18
1 files changed, 6 insertions, 12 deletions
diff --git a/plugin/cache/handler.go b/plugin/cache/handler.go
index b7824beba..df2c74e39 100644
--- a/plugin/cache/handler.go
+++ b/plugin/cache/handler.go
@@ -1,6 +1,7 @@
package cache
import (
+ "sync"
"time"
"github.com/coredns/coredns/plugin"
@@ -84,38 +85,31 @@ func (c *Cache) get(now time.Time, qname string, qtype uint16, do bool) (*item,
var (
cacheSize = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: plugin.Namespace,
- Subsystem: subsystem,
+ Subsystem: "cache",
Name: "size",
Help: "The number of elements in the cache.",
}, []string{"type"})
cacheCapacity = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: plugin.Namespace,
- Subsystem: subsystem,
+ Subsystem: "cache",
Name: "capacity",
Help: "The cache's capacity.",
}, []string{"type"})
cacheHits = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: plugin.Namespace,
- Subsystem: subsystem,
+ Subsystem: "cache",
Name: "hits_total",
Help: "The count of cache hits.",
}, []string{"type"})
cacheMisses = prometheus.NewCounter(prometheus.CounterOpts{
Namespace: plugin.Namespace,
- Subsystem: subsystem,
+ Subsystem: "cache",
Name: "misses_total",
Help: "The count of cache misses.",
})
)
-const subsystem = "cache"
-
-func init() {
- prometheus.MustRegister(cacheSize)
- prometheus.MustRegister(cacheCapacity)
- prometheus.MustRegister(cacheHits)
- prometheus.MustRegister(cacheMisses)
-}
+var once sync.Once