-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Introduce new exporter helper with batching option #8122
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
Labels
Milestone
Comments
This was referenced Aug 16, 2023
dmitryax
added a commit
that referenced
this issue
Aug 21, 2023
Introduce a new exporter helper that operates over client-provided requests instead of pdata. The helper user now has to provide `Converter` - an interface with a function implementing translation of pdata Metrics/Traces/Logs into a user-defined `Request`. `Request` is an interface with only one required function `Export`. It opens a door for moving batching to the exporter, where batches will be built from client data format, instead of pdata. The batches can be properly sized by custom request size, which can be different from OTLP. The same custom request sizing will be applied to the sending queue. It will also improve the performance of the sending queue retries for non-OTLP exporters, they don't need to translate pdata on every retry. This is an implementation alternative to #7874 as suggested in #7874 (comment) Tracking Issue: #8122 --------- Co-authored-by: Alex Boten <[email protected]>
dmitryax
added a commit
that referenced
this issue
Aug 21, 2023
This change adds collector's internal metrics and tracing to the new request-based exporter helpers. Only those metrics and traces are added that are already adopted by the existing exporter helpers for backward compatibility. The new exporter helpers can and should expose more metrics in the future, e.g. for tracking converter errors. Tracking Issue: #8122
Some feedback about the interface:
|
Thanks for the feedback!
That's what I wanted to do after #8248 is merged 👍 |
This was referenced Aug 24, 2023
This was referenced Oct 2, 2023
dmitryax
added a commit
to dmitryax/opentelemetry-collector
that referenced
this issue
Oct 26, 2023
dmitryax
added a commit
to dmitryax/opentelemetry-collector
that referenced
this issue
Oct 26, 2023
dmitryax
added a commit
that referenced
this issue
Nov 17, 2023
…on (#8764) As proposed in #8122 (comment) If we need backward conversion, we will use an optional argument to the helper function instead of an optional interface.
This was referenced Dec 19, 2023
dmitryax
added a commit
that referenced
this issue
Dec 22, 2023
#9164) Introduce an option to limit the queue size by the number of items instead of number of requests. This is preliminary step for having the exporter helper v2 with a batcher sender placed after the queue sender. Otherwise, it'll be hard for the users to estimate the queue size based on the number of requests without batch processor in front of it. This change doesn't effect the existing functionality and the items based queue limiting cannot be utilized yet. Updates #8122 Alternative to #9147
bogdandrutu
pushed a commit
that referenced
this issue
Feb 3, 2024
Introduce a way to enable queue in the new exporter helper with a developer interface suggested in #8248 (comment). The new configuration interface for the end users provides a new `queue_size_items` option to limit the queue by a number of spans, log records, or metric data points. The previous way to limit the queue by number of requests is preserved under the same field, `queue_size,` which will later be deprecated through a longer transition process. Tracking issue: #8122
github-merge-queue bot
pushed a commit
that referenced
this issue
Jan 14, 2025
#12074) This functionality is not yet exposed to the user because there is no config available. One option to consider is to add a "blocking" bool in the queue config. #### Link to tracking issue #8122 #10368 Signed-off-by: Bogdan Drutu <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this issue
Jan 21, 2025
…eBatcher to beta (#12122) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This PR sets feature gate UsePullingBasedExporterQueueBatcher to beta. <!-- Issue number if applicable --> #### Link to tracking issue #8122 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
github-merge-queue bot
pushed a commit
that referenced
this issue
Feb 1, 2025
This change will allow to simplify significantly the implementation for when queue is disabled and caller must block until the batch is constructed and processed downstream Updates #8122 It is ok to have this as a breaking change since Queue is still experimental. Signed-off-by: Bogdan Drutu <[email protected]>
Can we mark this closed @dmitryax @bogdandrutu? |
mx-psi
added a commit
to open-telemetry/opentelemetry-collector-contrib
that referenced
this issue
Jun 6, 2025
#### Description Following the completion of open-telemetry/opentelemetry-collector#8122. #### Link to tracking issue open-telemetry/otel-arrow#240 #### Testing ✅ #### Documentation ✅ --------- Co-authored-by: Pablo Baeyens <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This is a tracking issue for introducing the new exporter helper and migrating the existing exporters to use it.
The primary reason for introducing the new exporter helper is to move the batching to the exporter side and deprecate the batch processor as part of making the delivery pipeline reliable, as reported in #7460. More details about moving batching to the exporter helper can be found in #4646.
Shifting batching to the exporter side grants us the opportunity to leverage the exporter's data model instead of relying on OTLP. As a result, we can achieve the following benefits:
Adapting to the new exporter helper requires exporter developers to implement at least two functions:
Design document: https://docs.google.com/document/d/1uxnn5rMHhCBLP1s8K0Pg_1mAs4gCeny8OWaYvWcuibs
(edit by @mx-psi) For essential sub-issues to mark this as complete see the 'Sub-issues' list below.
Additional sub-issues to get feature parity with the batch processor:
The text was updated successfully, but these errors were encountered: