InfluxDB exporter/receiver do not sum/decompose histogram bucket counts #19453
Closed
Description
Component(s)
exporter/influxdb, receiver/influxdb
What happened?
Description
The InfluxDB/otel conversion library assumed that OpenTelemetry histogram buckets are cumulative, like Prometheus histogram buckets. The result is that the bucket counts are always incorrect after conversion.
Originally reported here: influxdata/influxdb-observability#60
Steps to Reproduce
Either:
- Configure otelcol-contrib to export InfluxDB/Telegraf metrics with Prometheus v1 or v2 schema
- Receive an OpenTelemetry histogram via OTLP
Or:
- Configure otelcol-contrib to receive InfluxDB/Telegraf metrics with Prometheus v1 or v2 schema
- Receive a histogram from Telegraf via line protocol
Expected Result
This otel histogram:
0.05: 24054
0.1: 9390
0.2: 66948
0.5: 28997
1: 4599
inf: 10332
Yields this line protocol (schema is Telegraf Prometheus v1 in the example):
count=144320,sum=53423,0.05=24054,0.1=33444,0.2=100392,0.5=129389,1=133988
And visa-versa.
Actual Result
This otel histogram:
0.05: 24054
0.1: 9390
0.2: 66948
0.5: 28997
1: 4599
inf: 10332
Yields this line protocol (schema is Telegraf Prometheus v1 in the example):
count=144320,sum=53423,0.05=24054,0.1=9390,0.2=66948,0.5=28997,1=4599
And this line protocol:
count=144320,sum=53423,0.05=24054,0.1=33444,0.2=100392,0.5=129389,1=133988
Yields this otel histogram:
0.05: 24054
0.1: 33444
0.2: 100392
0.5: 129389
1: 133988
inf: 144320
Collector version
v0.73.0
Environment information
Environment
OS: MacOS 13.2 (and surely every OS)
Compiler(if manually compiled): go 1.19.5 (and surely every compiler)
OpenTelemetry Collector configuration
No response
Log output
No response
Additional context
No response