Skip to content

Commit 4f465f2

Browse files
authored
Merge pull request kubernetes#75737 from logicalhan/metric-errors
log out metric registration errors instead of silently ignoring them
2 parents 1514bb2 + 8f63657 commit 4f465f2

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

pkg/util/workqueue/prometheus/prometheus.go

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ func (prometheusMetricsProvider) NewDepthMetric(name string) workqueue.GaugeMetr
5151
Help: "Current depth of workqueue",
5252
ConstLabels: prometheus.Labels{"name": name},
5353
})
54-
prometheus.Register(depth)
54+
if err := prometheus.Register(depth); err != nil {
55+
klog.Errorf("failed to register depth metric %v: %v", name, err)
56+
}
5557
return depth
5658
}
5759

@@ -62,7 +64,9 @@ func (prometheusMetricsProvider) NewAddsMetric(name string) workqueue.CounterMet
6264
Help: "Total number of adds handled by workqueue",
6365
ConstLabels: prometheus.Labels{"name": name},
6466
})
65-
prometheus.Register(adds)
67+
if err := prometheus.Register(adds); err != nil {
68+
klog.Errorf("failed to register adds metric %v: %v", name, err)
69+
}
6670
return adds
6771
}
6872

@@ -74,7 +78,9 @@ func (prometheusMetricsProvider) NewLatencyMetric(name string) workqueue.Histogr
7478
ConstLabels: prometheus.Labels{"name": name},
7579
Buckets: prometheus.ExponentialBuckets(10e-9, 10, 10),
7680
})
77-
prometheus.Register(latency)
81+
if err := prometheus.Register(latency); err != nil {
82+
klog.Errorf("failed to register latency metric %v: %v", name, err)
83+
}
7884
return latency
7985
}
8086

@@ -86,7 +92,9 @@ func (prometheusMetricsProvider) NewWorkDurationMetric(name string) workqueue.Hi
8692
ConstLabels: prometheus.Labels{"name": name},
8793
Buckets: prometheus.ExponentialBuckets(10e-9, 10, 10),
8894
})
89-
prometheus.Register(workDuration)
95+
if err := prometheus.Register(workDuration); err != nil {
96+
klog.Errorf("failed to register workDuration metric %v: %v", name, err)
97+
}
9098
return workDuration
9199
}
92100

@@ -100,20 +108,24 @@ func (prometheusMetricsProvider) NewUnfinishedWorkSecondsMetric(name string) wor
100108
"threads by observing the rate at which this increases.",
101109
ConstLabels: prometheus.Labels{"name": name},
102110
})
103-
prometheus.Register(unfinished)
111+
if err := prometheus.Register(unfinished); err != nil {
112+
klog.Errorf("failed to register unfinished metric %v: %v", name, err)
113+
}
104114
return unfinished
105115
}
106116

107117
func (prometheusMetricsProvider) NewLongestRunningProcessorSecondsMetric(name string) workqueue.SettableGaugeMetric {
108-
unfinished := prometheus.NewGauge(prometheus.GaugeOpts{
118+
longestRunningProcessor := prometheus.NewGauge(prometheus.GaugeOpts{
109119
Subsystem: WorkQueueSubsystem,
110120
Name: LongestRunningProcessorKey,
111121
Help: "How many seconds has the longest running " +
112122
"processor for workqueue been running.",
113123
ConstLabels: prometheus.Labels{"name": name},
114124
})
115-
prometheus.Register(unfinished)
116-
return unfinished
125+
if err := prometheus.Register(longestRunningProcessor); err != nil {
126+
klog.Errorf("failed to register unfinished metric %v: %v", name, err)
127+
}
128+
return longestRunningProcessor
117129
}
118130

119131
func (prometheusMetricsProvider) NewRetriesMetric(name string) workqueue.CounterMetric {
@@ -123,7 +135,9 @@ func (prometheusMetricsProvider) NewRetriesMetric(name string) workqueue.Counter
123135
Help: "Total number of retries handled by workqueue",
124136
ConstLabels: prometheus.Labels{"name": name},
125137
})
126-
prometheus.Register(retries)
138+
if err := prometheus.Register(retries); err != nil {
139+
klog.Errorf("failed to register retries metric %v: %v", name, err)
140+
}
127141
return retries
128142
}
129143

0 commit comments

Comments
 (0)