aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/metrics.go
diff options
context:
space:
mode:
authorGravatar Zou Nengren <zounengren@cmss.chinamobile.com> 2020-03-31 14:07:36 +0800
committerGravatar GitHub <noreply@github.com> 2020-03-31 08:07:36 +0200
commit87214a4c5c05c8918bfe73f734ff4dbd390319dd (patch)
tree9ca83d03ccdb80572f0166e84add67bb23a1184f /plugin/cache/metrics.go
parent10d176b811e229f2b7bc72c342f54f6acfa69fbd (diff)
downloadcoredns-87214a4c5c05c8918bfe73f734ff4dbd390319dd.tar.gz
coredns-87214a4c5c05c8918bfe73f734ff4dbd390319dd.tar.zst
coredns-87214a4c5c05c8918bfe73f734ff4dbd390319dd.zip
introduce metric naming test (#3789)
* introduce metric naming test Signed-off-by: zounengren <zounengren@cmss.chinamobile.com> * Update metrics.go Signed-off-by: zounengren <zounengren@cmss.chinamobile.com>
Diffstat (limited to 'plugin/cache/metrics.go')
-rw-r--r--plugin/cache/metrics.go52
1 files changed, 52 insertions, 0 deletions
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"})
+)