Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/component/loki/source/cloudflare/internal/cloudflaretarget/metrics.go
4097 views
1
package cloudflaretarget
2
3
// This code is copied from Promtail. The cloudflaretarget package is used to
4
// configure and run a target that can read from the Cloudflare Logpull API and
5
// forward entries to other loki components.
6
7
import "github.com/prometheus/client_golang/prometheus"
8
9
// Metrics holds a set of cloudflare metrics.
10
type Metrics struct {
11
reg prometheus.Registerer
12
13
Entries prometheus.Counter
14
LastEnd prometheus.Gauge
15
}
16
17
// NewMetrics creates a new set of cloudflare metrics. If reg is non-nil, the
18
// metrics will be registered.
19
func NewMetrics(reg prometheus.Registerer) *Metrics {
20
var m Metrics
21
m.reg = reg
22
23
m.Entries = prometheus.NewCounter(prometheus.CounterOpts{
24
Name: "loki_source_cloudflare_target_entries_total",
25
Help: "Total number of successful entries sent via the cloudflare target.",
26
})
27
m.LastEnd = prometheus.NewGauge(prometheus.GaugeOpts{
28
Name: "loki_source_cloudflare_target_last_requested_end_timestamp",
29
Help: "The last cloudflare request end timestamp fetched. This allows to calculate how far the target is behind.",
30
})
31
32
if reg != nil {
33
reg.MustRegister(
34
m.Entries,
35
m.LastEnd,
36
)
37
}
38
39
return &m
40
}
41
42