Skip to content

Commit 3ca5e00

Browse files
committed
fix: don't log a warning if span is disabled
This has been logging lots of unactionable warnings, don't log in that case. See #310 (comment)
1 parent db954ac commit 3ca5e00

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

axum-tracing-opentelemetry/src/middleware/trace_extractor.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ where
138138
}
139139

140140
fn call(&mut self, req: Request<B>) -> Self::Future {
141-
use tracing_opentelemetry::OpenTelemetrySpanExt;
141+
use tracing_opentelemetry::{OpenTelemetrySpanExt, SetParentError};
142142
let req = req;
143143
let span = if self.filter.is_none_or(|f| f(req.uri().path())) {
144144
let route = http_route(&req);
@@ -162,7 +162,12 @@ where
162162
span.record(CLIENT_ADDRESS, client_ip);
163163
}
164164
if let Err(error) = span.set_parent(otel_http::extract_context(req.headers())) {
165-
tracing::warn!(?error, "can not set parent trace_id to span");
165+
match error {
166+
SetParentError::LayerNotFound | SetParentError::AlreadyStarted => {
167+
tracing::warn!(?error, "can not set parent trace_id to span");
168+
}
169+
SetParentError::SpanDisabled => {}
170+
}
166171
}
167172
span
168173
} else {

tonic-tracing-opentelemetry/src/middleware/server.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ where
7272
}
7373

7474
fn call(&mut self, req: Request<B>) -> Self::Future {
75-
use tracing_opentelemetry::OpenTelemetrySpanExt;
75+
use tracing_opentelemetry::{OpenTelemetrySpanExt, SetParentError};
7676
// This is necessary because tonic internally uses `tower::buffer::Buffer`.
7777
// See https://github.com/tower-rs/tower/issues/547#issuecomment-767629149
7878
// for details on why this is necessary
@@ -82,7 +82,12 @@ where
8282
let span = if self.filter.is_none_or(|f| f(req.uri().path())) {
8383
let span = otel_http::grpc_server::make_span_from_request(&req);
8484
if let Err(error) = span.set_parent(otel_http::extract_context(req.headers())) {
85-
tracing::warn!(?error, "can not set parent trace_id to span");
85+
match error {
86+
SetParentError::LayerNotFound | SetParentError::AlreadyStarted => {
87+
tracing::warn!(?error, "can not set parent trace_id to span");
88+
}
89+
SetParentError::SpanDisabled => {}
90+
}
8691
}
8792
span
8893
} else {

0 commit comments

Comments
 (0)