Skip to content

nhcb: add global and scrape level convert_classic_histograms option #13532

@krajorama

Description

@krajorama

Proposal

Depends on #13486 #13487 #13529 at least :)

The configuration option should enable conversion upon scrape.
Documentation is also included in this task.

Configuration and expected outcome

In all cases the native histograms feature is enabled. When the feature is disabled, there are no native histograms, so classic histograms have to be produced by the scrape.

Case 1. Metric instrumentation only exposes classic histograms

Typical legacy application scenario.

config classic float series exponential nh custom bucket nh
scrape_classic=false, convert_classic=false
scrape_classic=true, convert_classic=false
scrape_classic=false, convert_classic=true
scrape_classic=true, convert_classic=true

Case 2. Metric instrumentation exposes both classic and exponential native histograms

Exponential native histogram has more information, preferred over custom buckets. Note: we must make a choice since both custom bucket and exponential histogram has the same metric name.

config classic float series exponential nh custom bucket nh
scrape_classic=false, convert_classic=false
scrape_classic=true, convert_classic=false
scrape_classic=false, convert_classic=true
scrape_classic=true, convert_classic=true

Case 3. Metric instrumentation only exposes exponential native histograms

No classic histogram to expose or convert.

config classic float series exponential nh custom bucket nh
scrape_classic=false, convert_classic=false
scrape_classic=true, convert_classic=false
scrape_classic=false, convert_classic=true
scrape_classic=true, convert_classic=true

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions