Component(s)
otelcol.exporter.prometheus
Request
Prometheus has the ability to convert incoming histograms from the bloated classic format to native histograms with pre-defined buckets (nhcb) via the prometheus.scrape functionality. The same conversion isn't possible with histogram data coming from otel collectors. While in both cases there is the possibility of modifying the data source to send native/exponential histograms, that doesn't help if the data source cannot be quickly modified, if it can be at all.
Given the conversion logic already exists, it would be helpful to be able to funnel otel histograms through the convert_classic_histograms_to_nhcb logic, thus saving on data transfer and storage costs on the back end.
Another option would be to put the logic into a new processor (ex: otelcol.processor.convert_nhcb)
Use case
We need to scrape many legacy otel data sources that we do not have direct control over. Classic histograms are large and expensive to transmit, process, and store. Allowing for a conversion/compression at the collector level gives control back to the team/user using alloy rather than relying on upstream legacy sources to update.
Tip
React with 👍 if this issue is important to you.
Component(s)
otelcol.exporter.prometheus
Request
Prometheus has the ability to convert incoming histograms from the bloated classic format to native histograms with pre-defined buckets (nhcb) via the prometheus.scrape functionality. The same conversion isn't possible with histogram data coming from otel collectors. While in both cases there is the possibility of modifying the data source to send native/exponential histograms, that doesn't help if the data source cannot be quickly modified, if it can be at all.
Given the conversion logic already exists, it would be helpful to be able to funnel otel histograms through the convert_classic_histograms_to_nhcb logic, thus saving on data transfer and storage costs on the back end.
Another option would be to put the logic into a new processor (ex: otelcol.processor.convert_nhcb)
Use case
We need to scrape many legacy otel data sources that we do not have direct control over. Classic histograms are large and expensive to transmit, process, and store. Allowing for a conversion/compression at the collector level gives control back to the team/user using alloy rather than relying on upstream legacy sources to update.
Tip
React with 👍 if this issue is important to you.