Environment information
What happened?
We recently changed the library (it's an unreleased change as of writing) to report seconds instead of milliseconds to the prometheus latency histogram.
One problem this introduced as I was playing with the push gateway support is that the histogram still uses the following buckets:
[ 0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000 ]
Two possible solutions to this, and I'll follow up on trying them out later:
Solution 1: Report the unit
when we create the histogram. Just based off of intuition, I don't think this is going to work.
const histogram = meter.createHistogram(HISTOGRAM_NAME, {
description: HISTOGRAM_DESCRIPTION,
unit: "s"
});
Solution 2: Pass modified buckets to our MeterProvider
autometricsMeterProvider = new MeterProvider({
views: [
new View({
aggregation: new ExplicitBucketHistogramAggregation([
0, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5,
7.5, 10,
]),
instrumentName: HISTOGRAM_NAME,
}),
],
});
Expected result
Buckets for the latency histogram should be
[0, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]
not
[ 0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000 ]