Skip to content

Commit d8e046e

Browse files
committed
address review 2
1 parent f7faf80 commit d8e046e

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

opentelemetry-sdk/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- TODO: Placeholder for Span processor related things
66
- *Fix* SpanProcessor::on_start is no longer called on non recording spans
7+
- **Fix**: Restore true parallel exports in the async-native `BatchSpanProcessor` by honoring `OTEL_BSP_MAX_CONCURRENT_EXPORTS` ([#2959](https://github.com/open-telemetry/opentelemetry-rust/pull/3028)). A regression in [#2685](https://github.com/open-telemetry/opentelemetry-rust/pull/2685) inadvertently awaited the `export()` future directly in `opentelemetry-sdk/src/trace/span_processor_with_async_runtime.rs` instead of spawning it on the runtime, forcing all exports to run sequentially.
78

89
## 0.30.0
910

opentelemetry-sdk/src/trace/span_processor_with_async_runtime.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,11 @@ struct BatchSpanProcessorInternal<E, R> {
190190
spans: Vec<SpanData>,
191191
export_tasks: FuturesUnordered<BoxFuture<'static, OTelSdkResult>>,
192192
runtime: R,
193-
exporter: Arc<RwLock<E>>,
194193
config: BatchConfig,
194+
// TODO: Redesign the `SpanExporter` trait to use immutable references (`&self`)
195+
// for all methods. This would allow us to remove the `RwLock` and just use `Arc<E>`,
196+
// similar to how `crate::logs::LogExporter` is implemented.
197+
exporter: Arc<RwLock<E>>,
195198
}
196199

197200
impl<E: SpanExporter + 'static, R: RuntimeChannel> BatchSpanProcessorInternal<E, R> {

0 commit comments

Comments
 (0)