Skip to content

[batchprocessor] Modernize the batch processor#13583

Closed
jmacd wants to merge 53 commits into
open-telemetry:mainfrom
jmacd:jmacd/batch_deprec
Closed

[batchprocessor] Modernize the batch processor#13583
jmacd wants to merge 53 commits into
open-telemetry:mainfrom
jmacd:jmacd/batch_deprec

Conversation

@jmacd
Copy link
Copy Markdown
Contributor

@jmacd jmacd commented Aug 6, 2025

Description

Implements batchprocessor using exporterhelper features. Behind two feature flags:

  • processor.batch.useExporterHelper: use the new logic, QueueBatch with BlockOnOverflow
  • processor.batch.propagateErrors: use error propagation via WaitForResult

The use of feature flags is meant to acknowledge the fact that exporerhelper-based batching does not support every feature in the batch_processor component. After exporterhelper suppors metadata_keys, we can move these feature flags forward and eventually remove the original implementation.

Currently, this emits metrics with incorrect names; the batch processor emits metrics like an exporter, see #14038.

Link to tracking issue

Fixes #13582
Part of #13766
Part of #14038

Testing

Yes.

For every existing test case (19 cases), the test is run once with the feature and once without the feature. For a few selected tests, the propagateErrors feature is also tested.

4 tests are disabled in the exporterhelper-based mode because of the incorrect metric names.

Documentation

@jmacd jmacd changed the title Jmacd/batch deprec [batchprocessor] Modernize the batch processor Aug 6, 2025
Comment thread processor/batchprocessor/batch_processor_test.go
@github-actions
Copy link
Copy Markdown
Contributor

This PR was marked stale due to lack of activity. It will be closed in 14 days.

@github-actions github-actions Bot added Stale and removed Stale labels Feb 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This PR was marked stale due to lack of activity. It will be closed in 14 days.

@github-actions github-actions Bot added the Stale label Mar 13, 2026
@jmacd jmacd removed the Stale label Mar 23, 2026
@jmacd jmacd added the ready-to-merge Code review completed; ready to merge by maintainers label Mar 27, 2026
The number of batch processors currently in use is exported as the
`otelcol_processor_batch_metadata_cardinality` metric.

## Modernization feature gates
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dmathieu
Copy link
Copy Markdown
Member

Sorry, but this isn't ready to merge. It's lacking approvals by an approver+.

@dmathieu dmathieu removed the ready-to-merge Code review completed; ready to merge by maintainers label Mar 30, 2026
@andrzej-stencel
Copy link
Copy Markdown
Member

andrzej-stencel commented Apr 2, 2026

During the face-to-face Collector SIG at KubeCon last week, an idea showed up of having component versions, e.g. healthcheck@v2. I think these improvements would be a good start for a batch@v2 processor.

@jmacd
Copy link
Copy Markdown
Contributor Author

jmacd commented Apr 6, 2026

Closing. This solution is close but cannot be merged. #15047

@jmacd jmacd closed this Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[batchprocessor] Modernize or remove the Batch processor

5 participants