...
1
16
17 package controller
18
19 import (
20 "sync"
21
22 "k8s.io/component-base/metrics"
23 "k8s.io/component-base/metrics/legacyregistry"
24 )
25
26 const (
27 namespace = "apiserver"
28 subsystem = "clusterip_repair"
29 )
30
31 var (
32
33
34
35 clusterIPRepairIPErrors = metrics.NewCounterVec(
36 &metrics.CounterOpts{
37 Namespace: namespace,
38 Subsystem: subsystem,
39 Name: "ip_errors_total",
40 Help: "Number of errors detected on clusterips by the repair loop broken down by type of error: leak, repair, full, outOfRange, duplicate, unknown, invalid",
41 StabilityLevel: metrics.ALPHA,
42 },
43 []string{"type"},
44 )
45
46
47 clusterIPRepairReconcileErrors = metrics.NewCounter(
48 &metrics.CounterOpts{
49 Namespace: namespace,
50 Subsystem: subsystem,
51 Name: "reconcile_errors_total",
52 Help: "Number of reconciliation failures on the clusterip repair reconcile loop",
53 StabilityLevel: metrics.ALPHA,
54 },
55 )
56 )
57
58 var registerMetricsOnce sync.Once
59
60 func registerMetrics() {
61 registerMetricsOnce.Do(func() {
62 legacyregistry.MustRegister(clusterIPRepairIPErrors)
63 legacyregistry.MustRegister(clusterIPRepairReconcileErrors)
64 })
65 }
66
View as plain text