aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/cache.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2018-04-27 19:37:49 +0100
committerGravatar GitHub <noreply@github.com> 2018-04-27 19:37:49 +0100
commitbfc647d4edf4e6033e5fc6c7a9d4ddce1b3ddd76 (patch)
treef62a4ec1b8d4a9d7741a27b158ec301516ae2e79 /plugin/cache/cache.go
parent85f549b529c91da1ab5bf133b0b4ddf429bbc022 (diff)
downloadcoredns-bfc647d4edf4e6033e5fc6c7a9d4ddce1b3ddd76.tar.gz
coredns-bfc647d4edf4e6033e5fc6c7a9d4ddce1b3ddd76.tar.zst
coredns-bfc647d4edf4e6033e5fc6c7a9d4ddce1b3ddd76.zip
Cache metrics server (#1746)
* plugin/cache: per server metrics Use per server metrics in the cache plugin as well. This required some plumbing changes. Also use request.Request more. * fix cherry-pick
Diffstat (limited to 'plugin/cache/cache.go')
-rw-r--r--plugin/cache/cache.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/plugin/cache/cache.go b/plugin/cache/cache.go
index 12cbdb9ed..972c2b5e1 100644
--- a/plugin/cache/cache.go
+++ b/plugin/cache/cache.go
@@ -102,7 +102,8 @@ func hash(qname string, qtype uint16, do bool) uint32 {
type ResponseWriter struct {
dns.ResponseWriter
*Cache
- state request.Request
+ state request.Request
+ server string // Server handling the request.
prefetch bool // When true write nothing back to the client.
}
@@ -132,11 +133,11 @@ func (w *ResponseWriter) WriteMsg(res *dns.Msg) error {
if w.state.Match(res) {
w.set(res, key, mt, duration)
- cacheSize.WithLabelValues(Success).Set(float64(w.pcache.Len()))
- cacheSize.WithLabelValues(Denial).Set(float64(w.ncache.Len()))
+ cacheSize.WithLabelValues(w.server, Success).Set(float64(w.pcache.Len()))
+ cacheSize.WithLabelValues(w.server, Denial).Set(float64(w.ncache.Len()))
} else {
// Don't log it, but increment counter
- cacheDrops.Inc()
+ cacheDrops.WithLabelValues(w.server).Inc()
}
}