Refactor BatchSpanProcessor queue logic into a BatchAccumulator #3485
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is a draft PR to gather additional feedback. It takes some of the feedback received when this proposed direction was presented to the SIG, where it was suggested that the BatchSpanProcessor be migrated incrementally. Therefore this PR doesn't reflect the target end state of the BSP but a step towards getting there; for example some of the logic proposed in this change (e.g. the atomic flags) is expected to be replaced by a Timer in a later PR.
This change proposes replacing some of the queueing, batching, and flushing logic in the BatchSpanProcessor with a BatchAccumulator.
Fixes # (issue)
None yet. (We'll probably want to add a new issue to capture BSP refactoring)
Type of change
This change proposes a refactor of the BSP.
How Has This Been Tested?
Tested manually and added new integration (slower running, end-to-end) tests.