diff options
Diffstat (limited to 'plugin/cache')
-rw-r--r-- | plugin/cache/handler.go | 45 | ||||
-rw-r--r-- | plugin/cache/metrics.go | 52 |
2 files changed, 52 insertions, 45 deletions
diff --git a/plugin/cache/handler.go b/plugin/cache/handler.go index 0adc81576..20a058ed2 100644 --- a/plugin/cache/handler.go +++ b/plugin/cache/handler.go @@ -10,7 +10,6 @@ import ( "github.com/coredns/coredns/request" "github.com/miekg/dns" - "github.com/prometheus/client_golang/prometheus" ) // ServeDNS implements the plugin.Handler interface. @@ -128,47 +127,3 @@ func (c *Cache) exists(state request.Request) *item { } return nil } - -var ( - cacheSize = prometheus.NewGaugeVec(prometheus.GaugeOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "size", - Help: "The number of elements in the cache.", - }, []string{"server", "type"}) - - cacheHits = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "hits_total", - Help: "The count of cache hits.", - }, []string{"server", "type"}) - - cacheMisses = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "misses_total", - Help: "The count of cache misses.", - }, []string{"server"}) - - cachePrefetches = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "prefetch_total", - Help: "The number of time the cache has prefetched a cached item.", - }, []string{"server"}) - - cacheDrops = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "drops_total", - Help: "The number responses that are not cached, because the reply is malformed.", - }, []string{"server"}) - - servedStale = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: plugin.Namespace, - Subsystem: "cache", - Name: "served_stale_total", - Help: "The number of requests served from stale cache entries.", - }, []string{"server"}) -) diff --git a/plugin/cache/metrics.go b/plugin/cache/metrics.go new file mode 100644 index 000000000..e82028902 --- /dev/null +++ b/plugin/cache/metrics.go @@ -0,0 +1,52 @@ +package cache + +import ( + "github.com/coredns/coredns/plugin" + + "github.com/prometheus/client_golang/prometheus" +) + +var ( + // cacheSize is total elements in the cache by cache type. + cacheSize = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "size", + Help: "The number of elements in the cache.", + }, []string{"server", "type"}) + // cacheHits is counter of cache hits by cache type. + cacheHits = prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "hits_total", + Help: "The count of cache hits.", + }, []string{"server", "type"}) + // cacheMisses is the counter of cache misses. + cacheMisses = prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "misses_total", + Help: "The count of cache misses.", + }, []string{"server"}) + // cachePrefetches is the number of time the cache has prefetched a cached item. + cachePrefetches = prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "prefetch_total", + Help: "The number of time the cache has prefetched a cached item.", + }, []string{"server"}) + // cacheDrops is the number responses that are not cached, because the reply is malformed. + cacheDrops = prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "drops_total", + Help: "The number responses that are not cached, because the reply is malformed.", + }, []string{"server"}) + // servedStale is the number of requests served from stale cache entries. + servedStale = prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: plugin.Namespace, + Subsystem: "cache", + Name: "served_stale_total", + Help: "The number of requests served from stale cache entries.", + }, []string{"server"}) +) |