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

Include more detail in OTLP exporter errors #3513

Closed
jmacd opened this issue Dec 5, 2022 · 0 comments
Closed

Include more detail in OTLP exporter errors #3513

jmacd opened this issue Dec 5, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@jmacd
Copy link
Contributor

jmacd commented Dec 5, 2022

Problem Statement

The default state of an OTel SDK configures a basic standard-error error handler and logger. Using examples/otel-collector as a test case, I edited the example's main() to use a non-blocking Dial, which would be more conventional. This has the side-effect of making the example a useful test for what a user will see if they run an OTel SDK with an invalid endpoint.

I've identified three ways the OTLP exporter errors could improve, so that the default error and logging handlers provide sufficient detail to explain what is failing.

Proposed Solution

The proposal includes three elements.

  1. In the retry package, in wait() when the context deadline is exceeded, return a the same form of error with text explaining the final retryable error code (which will be "connection refused" in the example scenario).
  2. In the OTLP trace exporter, ensure that every error returned is prefixed with trace export: .
  3. In the OTLP metric exporter, ensure that every error returned is prefixed with metrics export: .

The final two points ensure that the user can differentiate metrics and traces errors independently; they are different points because these packages have diverged.

Alternatives

To keep things as they are, the users sees for example what's shown in #2217. You get a timestamp and "context deadline exceeded", no indication of what or why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant