diff --git a/opentelemetry-otlp/src/exporter/http/trace.rs b/opentelemetry-otlp/src/exporter/http/trace.rs index 69abd7b404..afea3e3a47 100644 --- a/opentelemetry-otlp/src/exporter/http/trace.rs +++ b/opentelemetry-otlp/src/exporter/http/trace.rs @@ -46,25 +46,25 @@ impl SpanExporter for OtlpHttpClient { } Box::pin(async move { - #[cfg(debug_assertions)] - let request_uri = request.uri().to_string(); - let response = client.send(request).await?; + #[cfg(not(debug_assertions))] + client.send(request).await?; - if response.status().is_success() { - Ok(()) - } else { - #[cfg(debug_assertions)] - let request_uri = request_uri.as_str(); - #[cfg(not(debug_assertions))] - const request_uri: &str = "(available in debug mode)"; + #[cfg(debug_assertions)] + { + let request_uri = request.uri().to_string(); + let response = client.send(request).await?; - let error = format!( - "OpenTelemetry export failed. Url: {}, Response: {:?}", - request_uri, - response.body() - ); - Err(TraceError::Other(error.into())) + if !response.status().is_success() { + let error = format!( + "OpenTelemetry export failed. Url: {}, Response: {:?}", + request_uri, + response.body() + ); + return Err(TraceError::Other(error.into())); + } } + + Ok(()) }) }