aboutsummaryrefslogtreecommitdiff
path: root/middleware/cache/handler.go
diff options
context:
space:
mode:
authorGravatar Ben Kochie <superq@gmail.com> 2016-10-31 19:50:50 +0100
committerGravatar Miek Gieben <miek@miek.nl> 2016-10-31 18:50:50 +0000
commit775d26c5e2c09e969dbf4141d82cd7ab6565e6aa (patch)
treea6afe14dbcf27da28d9c43d6817055c6db3b49f5 /middleware/cache/handler.go
parent27d893cf33b81e1a419ec58d0512bd2ecb01b8a2 (diff)
downloadcoredns-775d26c5e2c09e969dbf4141d82cd7ab6565e6aa.tar.gz
coredns-775d26c5e2c09e969dbf4141d82cd7ab6565e6aa.tar.zst
coredns-775d26c5e2c09e969dbf4141d82cd7ab6565e6aa.zip
Add metrics for cache hits/misses (#375)
* Add metrics for cache hits/misses Add counters for cache middleware hits and misses. * Add test for cache middleware hit/miss counters. * Fix cache hit metric incrementing. * Add cache hit/miss metrics to dnssec middleware. * Update README metric documentation.
Diffstat (limited to 'middleware/cache/handler.go')
-rw-r--r--middleware/cache/handler.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/middleware/cache/handler.go b/middleware/cache/handler.go
index 146ccbc56..aae7206e2 100644
--- a/middleware/cache/handler.go
+++ b/middleware/cache/handler.go
@@ -44,12 +44,15 @@ func (c *Cache) get(qname string, qtype uint16, do bool) (*item, bool, bool) {
k := rawKey(qname, qtype, do)
if i, ok := c.ncache.Get(k); ok {
+ cacheHits.WithLabelValues(Denial).Inc()
return i.(*item), ok, i.(*item).expired(time.Now())
}
if i, ok := c.pcache.Get(k); ok {
+ cacheHits.WithLabelValues(Success).Inc()
return i.(*item), ok, i.(*item).expired(time.Now())
}
+ cacheMisses.Inc()
return nil, false, false
}
@@ -67,6 +70,20 @@ var (
Name: "capacity",
Help: "The cache's capacity.",
}, []string{"type"})
+
+ cacheHits = prometheus.NewCounterVec(prometheus.CounterOpts{
+ Namespace: middleware.Namespace,
+ Subsystem: subsystem,
+ Name: "hits_total",
+ Help: "The count of cache hits.",
+ }, []string{"type"})
+
+ cacheMisses = prometheus.NewCounter(prometheus.CounterOpts{
+ Namespace: middleware.Namespace,
+ Subsystem: subsystem,
+ Name: "misses_total",
+ Help: "The count of cache misses.",
+ })
)
const subsystem = "cache"
@@ -74,4 +91,6 @@ const subsystem = "cache"
func init() {
prometheus.MustRegister(cacheSize)
prometheus.MustRegister(cacheCapacity)
+ prometheus.MustRegister(cacheHits)
+ prometheus.MustRegister(cacheMisses)
}