mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-07-27 19:49:57 +00:00
41 lines
929 B
Go
41 lines
929 B
Go
package origins
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
)
|
|
|
|
const (
|
|
namespace = "cloudflared"
|
|
subsystem = "virtual_origins"
|
|
)
|
|
|
|
type Metrics interface {
|
|
IncrementDNSUDPRequests()
|
|
IncrementDNSTCPRequests()
|
|
}
|
|
|
|
type metrics struct {
|
|
dnsResolverRequests *prometheus.CounterVec
|
|
}
|
|
|
|
func (m *metrics) IncrementDNSUDPRequests() {
|
|
m.dnsResolverRequests.WithLabelValues("udp").Inc()
|
|
}
|
|
|
|
func (m *metrics) IncrementDNSTCPRequests() {
|
|
m.dnsResolverRequests.WithLabelValues("tcp").Inc()
|
|
}
|
|
|
|
func NewMetrics(registerer prometheus.Registerer) Metrics {
|
|
m := &metrics{
|
|
dnsResolverRequests: prometheus.NewCounterVec(prometheus.CounterOpts{
|
|
Namespace: namespace,
|
|
Subsystem: subsystem,
|
|
Name: "dns_requests_total",
|
|
Help: "Total count of DNS requests that have been proxied to the virtual DNS resolver origin",
|
|
}, []string{"protocol"}),
|
|
}
|
|
registerer.MustRegister(m.dnsResolverRequests)
|
|
return m
|
|
}
|