Skip to content

Commit b2db709

Browse files
iaco86Iacopo Pace
and
Iacopo Pace
authored
Nullify noLabels in StatefulMetric during clear() to prevent no-labels increase to stop working (#972)
Signed-off-by: Iacopo Pace <iaco.pace@gmail.com> Co-authored-by: Iacopo Pace <iaco.pace@gmail.com>
1 parent ec56b2c commit b2db709

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

prometheus-metrics-core/src/main/java/io/prometheus/metrics/core/metrics/StatefulMetric.java

+1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public void remove(String... labelValues) {
114114
*/
115115
public void clear() {
116116
data.clear();
117+
noLabels = null;
117118
}
118119

119120
protected abstract T newDataPoint();

prometheus-metrics-core/src/test/java/io/prometheus/metrics/core/metrics/StatefulMetricTest.java

+5
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,10 @@ public void testClearNoLabels() {
6060
// No labels is always present, but as no value has been observed after clear() the value should be 0.0
6161
Assert.assertEquals(1, counter.collect().getDataPoints().size());
6262
Assert.assertEquals(0.0, counter.collect().getDataPoints().get(0).getValue(), 0.0);
63+
64+
// Making inc() works correctly after clear()
65+
counter.inc();
66+
Assert.assertEquals(1, counter.collect().getDataPoints().size());
67+
Assert.assertEquals(1.0, counter.collect().getDataPoints().get(0).getValue(), 0.0);
6368
}
6469
}

0 commit comments

Comments
 (0)