MCPcopy
hub / github.com/cilium/cilium / initializeMetrics

Function initializeMetrics

operator/metrics/metrics.go:42–84  ·  view source on GitHub ↗

Note: metrics are always initialized so we have access to sampler ring buffer data for debugging. However, actual prometheus server will be started depending on if metrics are enabled.

(p params)

Source from the content-addressed store, hash-verified

40// for debugging. However, actual prometheus server will be started depending on if
41// metrics are enabled.
42func initializeMetrics(p params) {
43 p.Registry.MustRegister(collectors.NewGoCollector(
44 collectors.WithGoCollectorRuntimeMetrics(
45 collectors.GoRuntimeMetricsRule{Matcher: goCustomCollectorsRX},
46 ),
47 ))
48
49 p.Registry.MustRegister(collectors.NewProcessCollector(collectors.ProcessCollectorOpts{Namespace: metrics.CiliumOperatorNamespace}))
50
51 for _, metric := range p.Metrics {
52 p.Registry.MustRegister(metric.(prometheus.Collector))
53 }
54
55 metrics.NewLegacyMetrics()
56 p.Registry.MustRegister(
57 metrics.VersionMetric,
58 metrics.KVStoreOperationsDuration,
59 metrics.KVStoreEventsQueueDuration,
60 metrics.KVStoreQuorumErrors,
61 metrics.APILimiterProcessingDuration,
62 metrics.APILimiterWaitDuration,
63 metrics.APILimiterRequestsInFlight,
64 metrics.APILimiterRateLimit,
65 metrics.APILimiterProcessedRequests,
66
67 metrics.WorkQueueDepth,
68 metrics.WorkQueueAddsTotal,
69 metrics.WorkQueueLatency,
70 metrics.WorkQueueDuration,
71 metrics.WorkQueueUnfinishedWork,
72 metrics.WorkQueueLongestRunningProcessor,
73 metrics.WorkQueueRetries,
74 )
75
76 p.Registry.Register(k8sCtrlMetrics.ReadCertificateTotal)
77 p.Registry.Register(k8sCtrlMetrics.ReadCertificateErrors)
78
79 metrics.InitOperatorMetrics()
80 p.Registry.MustRegister(metrics.ErrorsWarnings)
81 metrics.FlushLoggingMetrics()
82
83 p.Registry.AddServerRuntimeHooks("operator-prometheus-server", p.TLSConfigPromise)
84}

Callers

nothing calls this directly

Calls 6

NewLegacyMetricsFunction · 0.92
InitOperatorMetricsFunction · 0.92
FlushLoggingMetricsFunction · 0.92
MustRegisterMethod · 0.80
AddServerRuntimeHooksMethod · 0.80
RegisterMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…