On Monday, 23 June 2025 at 14:31:34 UTC+1 tejaswini vadlamudi wrote: but with histograms, mainly with Native Histograms, is there a possibility to get Max and Min values for a period of time?
No. If that's not clear from my explanations so far, then I have not done a very good job. With OTEL-based metrics instrumentation, it is possible to record max and min values. See https://opentelemetry.io/docs/specs/otel/metrics/data-model/#histogram Please read the link I posted before: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33645 especially the last comment: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33645#issuecomment-2514894327 The OTEL histogram's way of reporting max/min values are not compatible with Prometheus. Prometheus histograms are cumulative: that is, they never reset. They are just counters which keep incrementing forever. If they had a min/max then it would be the min/max over all time, which is not useful. You can create a separate timeseries for min/max, but it would not be part of the histogram. It would either have to be min/max over successive timeslots (e.g. 1 minute intervals), or min/max over a sliding window (which is expensive, as you've have to buffer all the samples for that time window). > I think histogram_quantile(0, rate(http_request_duration_seconds[1m])) will give me min value. Is it correct? No, it's not. Again, it seems I have not been explaining this well. Let's say your histogram buckets are: 0-10ms (le="0.01") 10-20ms (le="0.02") 20-30ms (le="0.03") 30-40ms (le="0.04") 40-50ms (le="0.05") 50ms+ (le="inf") A sample comes in with request time of 12.3ms, and this is the fastest over the time period of interest. All this does is add 1 to the 10-20ms bucket (counter) in the histogram. The actual value of 12.3ms is LOST. The only thing you will know from looking at the histogram is that the 10-20ms bucket has incremented, but the 0-10ms bucket has not, and therefore the minimum value is somewhere between 10ms and 20ms. If you use the histogram_quantile(0...) formula you showed, the answer will be "0.01", which I also explained previously with a worked example. This tells you "the minimum value is at least 10ms" - and implicitly not more than 20ms, as that's where the next bucket starts. I think I had better hand over to someone else now. -- You received this message because you are subscribed to the Google Groups "Prometheus Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/prometheus-users/3e31540a-c1cf-4601-8412-b06ed5c0e810n%40googlegroups.com.

