aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/cache')
-rw-r--r--plugin/cache/handler.go45
-rw-r--r--plugin/cache/metrics.go52
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"})
+)