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

Support export concurrency #2975

Open
2 tasks
MrAlias opened this issue Jun 23, 2022 · 1 comment
Open
2 tasks

Support export concurrency #2975

MrAlias opened this issue Jun 23, 2022 · 1 comment
Labels
area:trace Part of OpenTelemetry tracing enhancement New feature or request proposal

Comments

@MrAlias
Copy link
Contributor

MrAlias commented Jun 23, 2022

Problem Statement

The specification now allows concurrent exports. Including this in this project could provide export throughput for users.

Proposed Solution

We should evaluate and possibly include concurrent algorithms for our exporters:

  • otlp
  • zipkin

Alternatives

Leave things the way they are.

@MrAlias MrAlias added enhancement New feature or request area:trace Part of OpenTelemetry tracing labels Jun 23, 2022
@MadVikingGod
Copy link
Contributor

This is a weird change because the spec still states:

Export() will never be called concurrently for the same exporter instance.

But that the act of exporting can be done concurrently. So what does that mean for the error returned by ExportSpans()? If the export is synchronous, even if it's concurrent then we have to put the concurrent logic in the SpanProcessor, because our SpanProcessors and flush/shutdown don't continue processing. If the export is now asynchronous then the error can't represent the final status of the export, this will also have impact on shutdown and cleanup logic. E.g. what happens if we call shutdown with outstand Export in flight; how will that impact our examples?

I think we need a different interface to gracefully enable asynchronous Exports, and thus concurrent exports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:trace Part of OpenTelemetry tracing enhancement New feature or request proposal
Projects
None yet
Development

No branches or pull requests

2 participants