diff --git a/tracing-opentelemetry/src/layer.rs b/tracing-opentelemetry/src/layer.rs index 533fe19406..b966e4372d 100644 --- a/tracing-opentelemetry/src/layer.rs +++ b/tracing-opentelemetry/src/layer.rs @@ -804,8 +804,8 @@ where /// [`ERROR`]: tracing::Level::ERROR /// [`Error`]: opentelemetry::trace::StatusCode::Error fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>) { - // Ignore events that are not in the context of a span - if let Some(span) = ctx.lookup_current() { + // Ignore events that have no explicit parent set *and* are not in the context of a span + if let Some(span) = ctx.event_span(event) { // Performing read operations before getting a write lock to avoid a deadlock // See https://github.com/tokio-rs/tracing/issues/763 #[cfg(feature = "tracing-log")]