Skip to content

InfluxDB exporter/receiver do not sum/decompose histogram bucket counts #19453

Closed
@jacobmarble

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

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds triageNew item requiring triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions