diff --git a/Cargo.lock b/Cargo.lock index a500974fe..a2feff303 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1714,7 +1714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4034,7 +4034,7 @@ dependencies = [ "sha1", "sha2", "sprintf", - "thiserror 1.0.69", + "thiserror 2.0.17", "tokio", "tracing", "urlencoding", @@ -4113,9 +4113,9 @@ dependencies = [ [[package]] name = "opentelemetry-otlp" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2366db2dca4d2ad033cad11e6ee42844fd727007af5ad04a1730f4cb8163bf" +checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f" dependencies = [ "http", "opentelemetry", @@ -4124,6 +4124,7 @@ dependencies = [ "opentelemetry_sdk", "prost", "thiserror 2.0.17", + "tonic", ] [[package]] @@ -5084,7 +5085,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6151,7 +6152,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6417,6 +6418,8 @@ dependencies = [ "percent-encoding", "pin-project", "sync_wrapper", + "tokio", + "tokio-rustls", "tokio-stream", "tower-layer", "tower-service", @@ -6560,15 +6563,12 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6e5658463dd88089aba75c7791e1d3120633b1bfde22478b28f625a9bb1b8e" +checksum = "1ac28f2d093c6c477eaa76b23525478f38de514fa9aeb1285738d4b97a9552fc" dependencies = [ "js-sys", "opentelemetry", - "opentelemetry_sdk", - "rustversion", - "thiserror 2.0.17", "tracing", "tracing-core", "tracing-subscriber", @@ -7279,7 +7279,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 4586bfea7..58fefc8b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -408,9 +408,9 @@ version = "0.1.2" [workspace.dependencies.opentelemetry-jaeger-propagator] version = "0.31.0" [workspace.dependencies.opentelemetry-otlp] -version = "0.31.0" +version = "0.31.1" default-features = false -features = ["trace", "metrics", "http-proto"] +features = ["trace", "metrics", "http-proto", "tls-provider-agnostic"] [workspace.dependencies.opentelemetry-prometheus-text-exporter] version = "0.2.1" [workspace.dependencies.opentelemetry-resource-detectors] @@ -429,7 +429,7 @@ features = [ "rt-tokio", ] [workspace.dependencies.tracing-opentelemetry] -version = "0.32.0" +version = "0.32.1" default-features = false # P256 elliptic curve diff --git a/crates/context/src/fmt.rs b/crates/context/src/fmt.rs index 47e72fcae..5d52625fc 100644 --- a/crates/context/src/fmt.rs +++ b/crates/context/src/fmt.rs @@ -1,12 +1,13 @@ +// Copyright 2025, 2026 Element Creations Ltd. // Copyright 2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial // Please see LICENSE files in the repository root for full details. use console::{Color, Style}; -use opentelemetry::TraceId; +use opentelemetry::{TraceId, trace::TraceContextExt as _}; use tracing::{Level, Subscriber}; -use tracing_opentelemetry::OtelData; +use tracing_opentelemetry::get_otel_context; use tracing_subscriber::{ fmt::{ FormatEvent, FormatFields, @@ -127,8 +128,11 @@ where // If we have a OTEL span, we can add the trace ID to the end of the log line if let Some(span) = ctx.lookup_current() - && let Some(otel) = span.extensions().get::() - && let Some(trace_id) = otel.trace_id() + && let Some(trace_id) = tracing::dispatcher::get_default(|dispatch| { + let otel_cx = get_otel_context(&mut span.extensions_mut(), dispatch)?; + let trace_id = otel_cx.span().span_context().trace_id(); + Some(trace_id) + }) && trace_id != TraceId::INVALID { let label = Style::new()