github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/clients/pkg/promtail/targets/cloudflare/metrics.go (about) 1 package cloudflare 2 3 import "github.com/prometheus/client_golang/prometheus" 4 5 // Metrics holds a set of cloudflare metrics. 6 type Metrics struct { 7 reg prometheus.Registerer 8 9 Entries prometheus.Counter 10 LastEnd prometheus.Gauge 11 } 12 13 // NewMetrics creates a new set of cloudflare metrics. If reg is non-nil, the 14 // metrics will be registered. 15 func NewMetrics(reg prometheus.Registerer) *Metrics { 16 var m Metrics 17 m.reg = reg 18 19 m.Entries = prometheus.NewCounter(prometheus.CounterOpts{ 20 Namespace: "promtail", 21 Name: "cloudflare_target_entries_total", 22 Help: "Total number of successful entries sent via the cloudflare target", 23 }) 24 m.LastEnd = prometheus.NewGauge(prometheus.GaugeOpts{ 25 Namespace: "promtail", 26 Name: "cloudflare_target_last_requested_end_timestamp", 27 Help: "The last cloudflare request end timestamp fetched. This allows to calculate how far the target is behind.", 28 }) 29 30 if reg != nil { 31 reg.MustRegister( 32 m.Entries, 33 m.LastEnd, 34 ) 35 } 36 37 return &m 38 }