Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle partial success responses from OTLP export services #6686

Closed
joaopgrassi opened this issue Dec 6, 2022 · 2 comments · Fixed by #6970 or #6971
Closed

Handle partial success responses from OTLP export services #6686

joaopgrassi opened this issue Dec 6, 2022 · 2 comments · Fixed by #6970 or #6971

Comments

@joaopgrassi
Copy link
Member

Problem Statement

Following the open-telemetry/opentelemetry-specification#2696, each OTel SDK is encouraged to handle the resulting error message string in an appropriate way, considering existing norms. This requires OTLP v0.19. If I got it correct, this PR already added support for it in pdata #6361

Proposed Solution

For each of the Export*ServiceResponse methods used by OTLP Trace and Metrics exporters, construct an error and call the appropriate handler with the error message string and the number of spans/points(/logs) dropped. Future OTel specifications may call for optional treatment of the number of dropped items, but presently that is just additional information to include in the handled error.

For context, here's a few SDKs that already implemented handling partial success responses: Go, PHP

cc @jmacd @tigrannajaryan @evan-bradley

@evan-bradley
Copy link
Contributor

I'll work on implementing this.

@jmacd
Copy link
Contributor

jmacd commented Jun 28, 2023

I would say that ideally the return from a PartialSuccess would factor into the counts of dropped points/spans/logs vs accepted points/spans/logs. Was this considered? The way the PRs #6971 and #6970 were written, these become total errors and the result is exporterhelper counts them as such, meaning:

  1. The metrics are wrong in a way that PartialSuccess was meant to preserve.
  2. The producer of the metrics doesn't get propagated results telling them how many of their points dropped.

I think the collector's metrics should factor the meaning of PartialSuccess in and also propagate the partial success to the original producer. Can we leave this open, hoping for improvements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants