Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/component/loki/relabel/metrics.go
4096 views
1
package relabel
2
3
import (
4
"github.com/prometheus/client_golang/prometheus"
5
prometheus_client "github.com/prometheus/client_golang/prometheus"
6
)
7
8
type metrics struct {
9
entriesProcessed prometheus_client.Counter
10
entriesOutgoing prometheus_client.Counter
11
cacheHits prometheus_client.Counter
12
cacheMisses prometheus_client.Counter
13
cacheSize prometheus_client.Gauge
14
}
15
16
// newMetrics creates a new set of metrics. If reg is non-nil, the metrics
17
// will also be registered.
18
func newMetrics(reg prometheus.Registerer) *metrics {
19
var m metrics
20
21
m.entriesProcessed = prometheus_client.NewCounter(prometheus_client.CounterOpts{
22
Name: "loki_relabel_entries_processed",
23
Help: "Total number of log entries processed",
24
})
25
m.entriesOutgoing = prometheus_client.NewCounter(prometheus_client.CounterOpts{
26
Name: "loki_relabel_entries_written",
27
Help: "Total number of log entries forwarded",
28
})
29
m.cacheMisses = prometheus_client.NewCounter(prometheus_client.CounterOpts{
30
Name: "loki_relabel_cache_misses",
31
Help: "Total number of cache misses",
32
})
33
m.cacheHits = prometheus_client.NewCounter(prometheus_client.CounterOpts{
34
Name: "loki_relabel_cache_hits",
35
Help: "Total number of cache hits",
36
})
37
m.cacheSize = prometheus_client.NewGauge(prometheus_client.GaugeOpts{
38
Name: "loki_relabel_cache_size",
39
Help: "Total size of relabel cache",
40
})
41
42
if reg != nil {
43
reg.MustRegister(
44
m.entriesProcessed,
45
m.entriesOutgoing,
46
m.cacheMisses,
47
m.cacheHits,
48
m.cacheSize,
49
)
50
}
51
52
return &m
53
}
54
55