GoogleCloudPlatform / opentelemetry-operations-go

Apache License 2.0
130 stars 100 forks source link

Exemplars should be sorted in Collector exporter #778

Closed jsuereth closed 9 months ago

jsuereth commented 9 months ago

@franciscovalentecastro discovered in #777 that we need to make sure exemplars are sorted when sending to Cloud Monitoring or the points will be rejected.

We've been lucky so far, as most exemplars have come from explicit bucket histograms, where they are implicitly sorted.

franciscovalentecastro commented 9 months ago

This is the error i got when hooking up the go export (https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/777) of Exponential Histograms with the Exemplars from the algorithm implemented in https://github.com/open-telemetry/opentelemetry-go/pull/4455.

2023/12/14 19:14:57 rpc error: code = InvalidArgument desc = One or more TimeSeries could not be written: Field timeSeries[0].points[0].distributionValue had an invalid value: Distribution |bucket_options.exponential_buckets| has out-of-order/duplicate exemplars.
error details: name = Unknown  desc = total_point_count:2 success_point_count:1 errors:{status:{code:3} point_count:1}