metrics: add tsdb persistence to AggHistogram #90769
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously,
AggHistogram
instances would not persist their quantiles to tsdb due to a missing interface implementation ofmetrics.WindowedHistogram
. This PR adds a trivial implementation that delegates to the aggregate histogram instance within the struct.This is relatively safe to do even though an
AggHistogram
could contain many children because we are only exporting a single set of aggregate quantiles per-AggHistogram
. The children are only iterated over via thePrometheusIterable
interface which is used by the prometheus exporter, but not by the metrics recorder.Release note (bug fix, ops change): Previously, certain aggregate histograms would appear in
_status/vars
but not be available for graphing in the DB Console. These are now made available. They include changefeed-related histograms, and row-level-TTL histograms.Epic: None