Skip to content

instrumentation (of prometheus/prometheus itself): Add native histograms to classic histograms and to complement/replace summaries #17332

@beorn7

Description

@beorn7

#16637 made a start here. Quoting/paraphrasing from there:

Now that we have native histograms available, we should probably add native buckets to most of the existing histograms, and ultimately replace most of the summaries by native histograms.

This is broadly the plan:

  • Initially, we cannot really replace the summaries with the histograms because many users would probably like to continue to use the summaries for a while (at least for a smooth transition). So let's have (native) histograms and summaries in parallel for a while, and maybe remove the summaries in v4.
  • Existing histograms are easy: We can simply add the native buckets. With v4, we might consider remove or at least reducing the number of classic buckets.
  • Problem: We cannot have a summary and a histogram in parallel with the same name. So a newly introduced histogram needs a new name. The current idea of a consistent re-naming scheme is the following: Summary is named foobar_seconds. Corresponding histogram is named foobar_histogram_seconds. It's not the most elegant thing to add the metric type to the name, but this allow us to apply the same scheme everywhere. (We can consider dropping the _histogram_ part in v4. But maybe that's not worth the noise.)
  • We want to encourage native histogram usage. While we might still add some classic buckets for convenience, let's not use too many of them so that the size of the exposition doesn't blow up. (This is for the newly introduced histograms. Existing classic histograms should be kept as is for now, see above.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions