In this article we will talk how to use histograms in Prometheus Exporter apps(Jira, Confluence, Bitbucket, Bamboo).

I will use the jira_request_duration_on_path metric as an example, but you can apply the same principles to all histogram metrics.

Here is how the metric looks in the documentation (https://anovaapps.atlassian.net/wiki/display/CADS/PE+-+Using+Prometheus+Exporter+for+Jira):

As you can see in the second column (the Type column) it is written that the type of the metric is Histogram.

How to query the metric?

Any histogram metric contains three metrics inside: count, sum and bucket. That is why you can query this metric like this:

jira_request_duration_on_path_count - contains the number of times the event happened. Here is an example:

Let's take the browse path. We can see that the browse path was requested 4 times.

jira_request_duration_on_path_sum - the sum of event values.

Here is an example:

As you can see that our 4 requests for the browse path took 1.083622161 seconds to complete.

jira_request_duration_on_path_bucket - shows buckets for the metric.

Here is an example:

The "le" label means "less than the number of seconds" and it shows how many requests had duration less than the specified amount of time. For example, 0 requests were executed for less than 0.005 seconds. But 2 requests were executed for less than 0.25 seconds and 4 requests were executed for less than 0.5 seconds (those 4 requests include the two requests which were executed for less than 0.25 seconds).

As you can see there have been only 4 requests and jira_request_duration_on_path_count also confirms it.