openmetrics/histograms: fix incorrect condition for bucketing
The buckets thresholds are to be taken as "less than or equal to".
The condition as written in the code did only "less than", not
"less than or equal to". That's fixed now.
--- a/util/statistics.lua Sun Dec 26 16:26:36 2021 +0100
+++ b/util/statistics.lua Sun Dec 26 22:32:00 2021 +0100
@@ -102,7 +102,7 @@
function histogram_metric_mt:sample(value)
-- According to the I-D, values must be part of all buckets
for i, bucket in pairs(self) do
- if "number" == type(i) and bucket.threshold > value then
+ if "number" == type(i) and bucket.threshold >= value then
bucket.count = bucket.count + 1
end
end
--- a/util/statsd.lua Sun Dec 26 16:26:36 2021 +0100
+++ b/util/statsd.lua Sun Dec 26 22:32:00 2021 +0100
@@ -115,7 +115,7 @@
function histogram_metric_mt:sample(value)
-- According to the I-D, values must be part of all buckets
for i, bucket in pairs(self) do
- if "number" == type(i) and bucket.threshold > value then
+ if "number" == type(i) and bucket.threshold >= value then
bucket.count = bucket.count + 1
self._impl:push_counter_delta(bucket._full_name, 1)
end