Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/pkg/config/instrumentation/agent_management_metrics.go
4096 views
1
package instrumentation
2
3
import (
4
"sync"
5
6
"github.com/prometheus/client_golang/prometheus"
7
"github.com/prometheus/client_golang/prometheus/promauto"
8
)
9
10
type agentManagementMetrics struct {
11
configFallbacks *prometheus.CounterVec
12
}
13
14
var amMetrics *agentManagementMetrics
15
var amMetricsInitializer sync.Once
16
17
func initializeAgentManagementMetrics() {
18
amMetrics = newAgentManagementMetrics()
19
}
20
21
func newAgentManagementMetrics() *agentManagementMetrics {
22
var agentManagementMetrics agentManagementMetrics
23
24
agentManagementMetrics.configFallbacks = promauto.NewCounterVec(
25
prometheus.CounterOpts{
26
Name: "agent_management_config_fallbacks_total",
27
Help: "Number of config fallbacks by fallback source.",
28
},
29
[]string{"fallback_to"},
30
)
31
32
return &agentManagementMetrics
33
}
34
35
func InstrumentAgentManagementConfigFallback(fallbackTo string) {
36
amMetricsInitializer.Do(initializeAgentManagementMetrics)
37
amMetrics.configFallbacks.WithLabelValues(fallbackTo).Inc()
38
}
39
40