Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce histogram support #434

Closed
wants to merge 2 commits into from

Conversation

au-phiware
Copy link
Contributor

@au-phiware au-phiware commented Sep 18, 2020

Prior to this change, the custom queries were restricted to counters and gauges.

This change introduces a new ColumnUsage, namely HISTOGRAM, that expects the column to contain an array of upper inclusive bounds for each observation bucket in the emitted metric. It also expects three more columns to be present with the suffixes:

  • _bucket, containing an array of cumulative counters for the
    observation buckets;
  • _sum, the total sum of all observed values; and
  • _count, the count of events that have been observed.

A flag has been added to the MetricMap struct to easily identify metrics that should emit a histogram and the construction of a histogram metric is aided by the pg.Array function and a new helper dbToUint64 function.

Finally, and example of usage is given in queries.yaml.

fixes #402

This was something I needed on a last_seen timestamp type of column in my database.

Prior to this change, the custom queries were restricted to counters and
gauges.

This change introduces a new ColumnUsage, namely HISTOGRAM, that expects
the column to contain an array of upper inclusive bounds for each
observation bucket in the emitted metric.  It also expects three more
columns to be present with the suffixes:
- `_bucket`, containing an array of cumulative counters for the
  observation buckets;
- `_sum`, the total sum of all observed values; and
- `_count`, the count of events that have been observed.

A flag has been added to the MetricMap struct to easily identify metrics
that should emit a histogram and the construction of a histogram metric
is aided by the pg.Array function and a new helper dbToUint64 function.

Finally, and example of usage is given in queries.yaml.

fixes prometheus-community#402

Signed-off-by: Corin Lawson <corin@responsight.com>
@coveralls
Copy link

coveralls commented Sep 18, 2020

Coverage Status

Coverage increased (+7.0%) to 71.685% when pulling 1c4cc30 on rs3000:master into b12c8ab on wrouesnel:master.

Prior to this change, the histogram support was untested.

This change introduces a new integration test that reads a user query
containing a number of histogram metrics.  Also, additional checks have
been added to TestBooleanConversionToValueAndString to test dbToUint64.

Signed-off-by: Corin Lawson <corin@responsight.com>
@au-phiware
Copy link
Contributor Author

Moved to a different branch, apologies for the confusion.

@au-phiware au-phiware closed this Sep 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Histogram queries are not supported
2 participants