Skip to content
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

Minor clarification on BatchExportingProcessor behavior #4164

Merged
merged 10 commits into from
Aug 19, 2024
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ release.

### Traces

- Minor clarification on BatchExportingProcessor behavior.
([#4164](https://github.com/open-telemetry/opentelemetry-specification/pull/4164))

### Metrics

### Logs
Expand Down
8 changes: 3 additions & 5 deletions specification/trace/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -703,9 +703,9 @@ This is an implementation of the `SpanProcessor` which create batches of finishe
spans and passes the export-friendly span data representations to the
configured `SpanExporter`.

The processor SHOULD export a batch when any of the following happens AND
`SpanProcessor#Export()` has not yet returned (for additional concurrency
details see the [Export() specification](#exportbatch)):
The processor SHOULD export a batch when any of the following happens AND the
previous export call has returned (for additional concurrency details see
the [Export() specification](#exportbatch)):
cijothomas marked this conversation as resolved.
Show resolved Hide resolved

- `scheduledDelayMillis` after the processor is constructed OR the first span
is received by the span processor.
Expand All @@ -715,8 +715,6 @@ details see the [Export() specification](#exportbatch)):
- The queue contains `maxExportBatchSize` or more spans.
- `ForceFlush` is called.

If any of the above events occurs before `Export()` returns, the span processor
should wait until `Export()` returns before exporting the next batch.
If the queue is empty when an export is triggered, the processor MAY export
an empty batch OR skip the export and consider it to be completed immediately.

Expand Down
Loading