@@ -148,6 +148,11 @@ pub trait SpanProcessor: Send + Sync + std::fmt::Debug {
148148/// spans must be emitted from a non-tokio runtime thread.
149149/// - `reqwest-client`: TracerProvider may be created anywhere, but spans must be
150150/// emitted from a tokio runtime thread.
151+ ///
152+ /// The OTLP HTTP exporter chooses its default HTTP client from enabled crate
153+ /// features. That choice is not processor-aware. If you enable async HTTP
154+ /// clients such as `reqwest-client` or `hyper-client`, ensure this processor is
155+ /// only used from a thread where those clients can run.
151156#[ derive( Debug ) ]
152157pub struct SimpleSpanProcessor < T : SpanExporter > {
153158 exporter : Mutex < T > ,
@@ -222,8 +227,14 @@ impl<T: SpanExporter> SpanProcessor for SimpleSpanProcessor<T> {
222227/// runtime.
223228/// - `reqwest-blocking-client`: Works with a regular `main` or `tokio::main`.
224229///
225- /// In other words, other clients like `reqwest` and `hyper` are not supported.
226- /// /// # Example
230+ /// In other words, async HTTP clients like `reqwest-client` and `hyper-client`
231+ /// are not supported by this default processor. The OTLP HTTP exporter chooses
232+ /// its default HTTP client from enabled crate features and cannot tell which
233+ /// processor will drive it. If your dependency graph enables async HTTP client
234+ /// features, either pass an explicit blocking client for this processor or use
235+ /// the experimental async-runtime batch span processor.
236+ ///
237+ /// # Example
227238///
228239/// This example demonstrates how to configure and use the `BatchSpanProcessor`
229240/// with a custom configuration. Note that a dedicated thread is used internally
@@ -301,7 +312,12 @@ enum BatchMessage {
301312/// - `grpc-tonic`: Requires `TracerProvider` to be created within a tokio runtime.
302313/// - `reqwest-blocking-client`: Works with a regular `main` or `tokio::main`.
303314///
304- /// In other words, other clients like `reqwest` and `hyper` are not supported.
315+ /// In other words, async HTTP clients like `reqwest-client` and `hyper-client`
316+ /// are not supported by this default processor. The OTLP HTTP exporter chooses
317+ /// its default HTTP client from enabled crate features and cannot tell which
318+ /// processor will drive it. If your dependency graph enables async HTTP client
319+ /// features, either pass an explicit blocking client for this processor or use
320+ /// the experimental async-runtime batch span processor.
305321///
306322/// `BatchSpanProcessor` buffers spans in memory and exports them in batches. An
307323/// export is triggered when `max_export_batch_size` is reached or every
0 commit comments