-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
release:required-for-gaMust be resolved before GA releaseMust be resolved before GA release
Milestone
Description
Right now batching capability is offered as a processor, and this is extremely generic in our current pipeline model, which is a great thing, but also comes with limitations:
- Batch processor uses a queue (implemented as a channel), which is not the same as the one used in the queue retry, that can lose data when the binary crashes even after the client was informed that data were accepted. There is already work to offer a persistent queue mechanism which will not be available in the processor.
- If users want to use batching with the routing processor: will need to fix the Change batch processor to take client info into consideration #4544 issue, AND this will batch data that later will be split again. Very unnecessary.
- SignalFx/SplunkHec receiver/exporter uses a "hack" that adds one header from the incoming request to the resource, batches things, then has to split based on that header. Batching inside the exporter helper can be configured with possible custom logic much easier, by making the batching library accepting a custom "batcher" func.
- Allow customization of the "size" function. There were requests to support batching by the serialized size, we can offer this in the exporter helper much nicer since the custom
sizer
can actually work using the exporter wire format. So batching can happen after data serialization. - When multiple exporters configured, they may have different batching requirements. This can be achieved today with multiple pipelines, but that causes code duplicate between the pipelines.
This will also fix some more problems:
- Change batch processor to take client info into consideration #4544
- otelcol can't get cpu limit and may cause performance issues. #4459 - by using the same workers defined in the queue_retry for this, hence we allow users to control this and we can still default on NumCpu.
- Global sampling service telemetry logging configuration options #4554 - nothing to fix :)
The proposal is to look into offer the "batching" capability similar to timeout/queue/retry logic that we have in the exporterhelper
.
mx-psi, aabmass, pmm-sumo, swiatekm, splunkericl and 10 more
Metadata
Metadata
Assignees
Labels
release:required-for-gaMust be resolved before GA releaseMust be resolved before GA release