aboutsummaryrefslogtreecommitdiff
path: root/plugin/pkg/proxy/metrics.go
diff options
context:
space:
mode:
authorGravatar Pat Downey <patdowney@users.noreply.github.com> 2023-03-24 12:55:51 +0000
committerGravatar GitHub <noreply@github.com> 2023-03-24 08:55:51 -0400
commitf823825f8a34edb85d5d18cd5d2f6f850adf408e (patch)
tree79d241ab9b4c7c343d806f4041c8efccbe3f9ca0 /plugin/pkg/proxy/metrics.go
parent47dceabfc6465ba6c5d41472d6602d4ad5c9fb1b (diff)
downloadcoredns-f823825f8a34edb85d5d18cd5d2f6f850adf408e.tar.gz
coredns-f823825f8a34edb85d5d18cd5d2f6f850adf408e.tar.zst
coredns-f823825f8a34edb85d5d18cd5d2f6f850adf408e.zip
plugin/forward: Allow Proxy to be used outside of forward plugin. (#5951)
* plugin/forward: Move Proxy into pkg/plugin/proxy, to allow forward.Proxy to be used outside of forward plugin. Signed-off-by: Patrick Downey <patrick.downey@dioadconsulting.com>
Diffstat (limited to 'plugin/pkg/proxy/metrics.go')
-rw-r--r--plugin/pkg/proxy/metrics.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/plugin/pkg/proxy/metrics.go b/plugin/pkg/proxy/metrics.go
new file mode 100644
index 000000000..148bc6edd
--- /dev/null
+++ b/plugin/pkg/proxy/metrics.go
@@ -0,0 +1,49 @@
+package proxy
+
+import (
+ "github.com/coredns/coredns/plugin"
+
+ "github.com/prometheus/client_golang/prometheus"
+ "github.com/prometheus/client_golang/prometheus/promauto"
+)
+
+// Variables declared for monitoring.
+var (
+ RequestCount = promauto.NewCounterVec(prometheus.CounterOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "requests_total",
+ Help: "Counter of requests made per upstream.",
+ }, []string{"to"})
+ RcodeCount = promauto.NewCounterVec(prometheus.CounterOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "responses_total",
+ Help: "Counter of responses received per upstream.",
+ }, []string{"rcode", "to"})
+ RequestDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "request_duration_seconds",
+ Buckets: plugin.TimeBuckets,
+ Help: "Histogram of the time each request took.",
+ }, []string{"to", "rcode"})
+ HealthcheckFailureCount = promauto.NewCounterVec(prometheus.CounterOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "healthcheck_failures_total",
+ Help: "Counter of the number of failed healthchecks.",
+ }, []string{"to"})
+ ConnCacheHitsCount = promauto.NewCounterVec(prometheus.CounterOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "conn_cache_hits_total",
+ Help: "Counter of connection cache hits per upstream and protocol.",
+ }, []string{"to", "proto"})
+ ConnCacheMissesCount = promauto.NewCounterVec(prometheus.CounterOpts{
+ Namespace: plugin.Namespace,
+ Subsystem: "proxy",
+ Name: "conn_cache_misses_total",
+ Help: "Counter of connection cache misses per upstream and protocol.",
+ }, []string{"to", "proto"})
+)