opentelemetry-cpp
opentelemetry-cpp copied to clipboard
Make `WITH_ASYNC_EXPORT_PREVIEW` mainstream
To discuss.
Asynchronous export has been stable for a while.
The preview flag can be removed, and the code be mainstream (without ifdef).
This will decrease the overall complexity, and simplify CI builds.
If I remember correctly, Async export was put under feature flag as it is not specs compliant. It calls Export::export simultaneously without waiting for previous call to end.
If I remember correctly, Async export was put under feature flag as it is not specs compliant. It calls Export::export simultaneously without waiting for previous call to end.
Good to know.
In that case, we should investigate which parts are still missing and not compliant, so it gets resolved over time, instead of keeping a feature flag forever.
This was a feature provided for those looking for high throughput at the expense of deviating from the specifications. I don't think the plan was ever to make this compliant.
Is it possible to move the async exporter to contrib repo then, if it is not in the spec?
Thats a good idea. Though won’t be easy as I think this preview flag is both in batch processor and exporter.
Is it possible to move the async exporter to contrib repo then, if it is not in the spec?
It's in spec but optional.
https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#otlpgrpc-concurrent-requests https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#otlphttp-concurrent-requests
Aync exporting for OTLP gRPC exporter do not implemented yet.
To summarize:
- HTTP async is in the spec, and implemented
- GRPC async is in the spec, but not implemented
- the name
WITH_ASYNC_EXPORT_PREVIEW
is not specific to HTTP or GRPC
To discuss, possible options:
- wait for the GRPC async implementation, and put both mainstream much later
- make HTTP async mainstream now, and use a different feature flag later for GRPC (
WITH_GRPC_ASYNC_EXPORT_PREVIEW
)
To summarize:
- HTTP async is in the spec, and implemented
- GRPC async is in the spec, but not implemented
- the name
WITH_ASYNC_EXPORT_PREVIEW
is not specific to HTTP or GRPCTo discuss, possible options:
- wait for the GRPC async implementation, and put both mainstream much later
- make HTTP async mainstream now, and use a different feature flag later for GRPC (
WITH_GRPC_ASYNC_EXPORT_PREVIEW
)
Maybe I will have time to implement gRPC async exporting one or two weeks later. Personally I prefer to keep WITH_ASYNC_EXPORT_PREVIEW
now.
This issue was marked as stale due to lack of activity.
Maybe WITH_GRPC_ASYNC_EXPORT_PREVIEW
can be removed after #2407 is merged and test it for some time.
This issue was marked as stale due to lack of activity.