-
Notifications
You must be signed in to change notification settings - Fork 192
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
OTLP/GRPC exporter implementation - Missing retries on Exporter errors #328
Comments
Here are some notes from my quick look at the current state of other client SDK implementations around this:
And for PHP, I'm not sure how backoff strategies typically get implemented (in particular for a library that needs to be very generically reusable in various different frameworks, e.g. the reactive ones I've heard about) so if anyone happens to know of a really good example of this from somewhere else on the internet, feel free to link to it here |
This is not feasible as a generic feature of the exporter, as it pretty much depends on the runtime, if this will create problems or not. So if anything this feature has to be turned on explicitly by the user/instrumentation. For non-traditional runtimes this is less of a problems, in particular not for the event-based ones. Especially Swoole and Swoft can handle back-offs with ease, as they can be executed in coroutines, while pure event-based runtimes (ReactPHP, AMP, etc.) can only defer execution like JavaScript. To cut a long story short. To have a safe implementation of this feature for all runtimes, the retry must not happen in the same place, where the initial try happened. So retries have to go into a queue upon which a daemon or agent will act. Since classic queues can also possible fail because of networks errors, etc, ZeroMQ could be used as a broker-less buffered transport mechanism to guarantee delivery. btw: I think the exporter is blocking on the grpc request. Is there any way to change this to be asynchronous? |
@bobstrecansky |
After discussing this in the SIG meeting: Yes, this sounds reasonable to me. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had recent activity, but it can be reopened. Thank you for your contributions. |
Hi @tidal and @bobstrecansky : Can you assign this to me? |
…entation - Missing retries on Exporter errors
We're missing retries on Exporter errors: https://github.com/open-telemetry/opentelemetry-specification/blob/318745aaf6fb173eb5cbc887ab76796bd817b3d6/specification/protocol/exporter.md#retry
The text was updated successfully, but these errors were encountered: