diff --git a/lib/prometheus/client/histogram.rb b/lib/prometheus/client/histogram.rb index 6963f67..8b02f00 100644 --- a/lib/prometheus/client/histogram.rb +++ b/lib/prometheus/client/histogram.rb @@ -67,7 +67,7 @@ def type # https://prometheus.io/docs/practices/histograms/#count-and-sum-of-observations # for details. def observe(value, labels: {}) - bucket = buckets.find {|upper_limit| upper_limit >= value } + bucket = buckets.bsearch { |upper_limit| upper_limit >= value } bucket = "+Inf" if bucket.nil? base_label_set = label_set_for(labels)