Clarification for quantiles on exposed prometheus metrics

Hello,

I’ve recently managed to start scraping the exposed Prometheus metrics exposed by Nexus, but I’m running into some strange behaviour.

I noticed that the quantiles never seem to “zero out”. For example, I can confirm that other than myself browsing the web interface for Nexus absolutely no one else has, but for whatever reason the quantiles for the “Browse Component” never really go back down to zero. In my case the metrics have looked like this for almost 40 minutes now unchanged:

# TYPE org_sonatype_nexus_coreui_BrowseComponent_read_timer summary
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.5",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.75",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.95",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.98",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.99",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer{quantile="0.999",} 0.024928721
org_sonatype_nexus_coreui_BrowseComponent_read_timer_count 1.0

When I’m plotting these metrics it then looks like I have people browsing the site consistently and all getting the same values.

Is it possible that I am understanding these values incorrectly?

For context: I’m not plotting these values with Grafana, but instead scraping them with Datadog and building a dashboard there. All of the counts work fine, it’s just that the quantiles don’t seem to make a lot of sense to me.

These aren’t active users this is how long the requests take

I want to make sure I understand as I think there is something conceptually I am not following here.

This is how long which requests take? Is the value that is displayed the last updated value?

Would I see this same behaviour if I was nexus was exposing a histogram instead of a summary metric?

I’ve used histograms with prometheus/grafana previously, but never the summary metric. My intuition tells me (based on my use of histograms previously) that when no requests are happening, the 99th percentile of request duration should be 0; is this not the expected behaviour?