-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
The Jaeger exporter currently uses "google.golang.org/api/support/bundler".Bundler to batch OpenTelemetry span data:
| err := e.bundler.AddWait(ctx, span, 1) |
The bundler was originally added to the exporter prior to the BatchSpanProcessor existing, and it was used to batch the transformed Jaeger spans. Now that the project contains a BatchSpanProcessor and will send batches of span data to exporters, instead of one-by-one, this batching will cause an impedance mismatch as well as additional cognitive load determining which batching scheme to use.
The bundler, by design, is used to "amortizes an action with fixed costs over multiple item". While this amortization is likely not being utilized given we are sending the exporter a batch and then sequentially adding it to the bundler, we still should verify that removing it does not drastically change the resource overhead or performance.
Needed changes
- Remove the bundler
- Remove the associated bundler configuration
- Validate that this does not add excessive resource consumption overhead