From f6528a774ed1a1f2cea0586c4ac7db61847b3d81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 12:45:38 +0000 Subject: [PATCH 1/5] deps: bump opentelemetry_sdk from 0.27.1 to 0.32.1 Bumps [opentelemetry_sdk](https://github.com/open-telemetry/opentelemetry-rust) from 0.27.1 to 0.32.1. - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md) - [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry_sdk-0.27.1...opentelemetry-semantic-conventions-0.32.1) --- updated-dependencies: - dependency-name: opentelemetry_sdk dependency-version: 0.32.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Cargo.lock | 59 ++++++++++++++++++++++++++--------- examples/autonatv2/Cargo.toml | 2 +- examples/metrics/Cargo.toml | 2 +- 3 files changed, 46 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 91c18e3562e..cad1d7fc565 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -359,9 +359,9 @@ dependencies = [ "cfg-if", "clap", "libp2p", - "opentelemetry", + "opentelemetry 0.27.1", "opentelemetry-otlp", - "opentelemetry_sdk", + "opentelemetry_sdk 0.32.1", "rand 0.8.6", "tokio", "tracing", @@ -2249,7 +2249,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.9", + "socket2 0.6.5", "system-configuration 0.6.1", "tokio", "tower-service", @@ -3935,9 +3935,9 @@ dependencies = [ "axum", "futures", "libp2p", - "opentelemetry", + "opentelemetry 0.27.1", "opentelemetry-otlp", - "opentelemetry_sdk", + "opentelemetry_sdk 0.32.1", "prometheus-client", "tokio", "tracing", @@ -4355,6 +4355,20 @@ dependencies = [ "tracing", ] +[[package]] +name = "opentelemetry" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0142c63252a9e054e68a4c61a5778f7b14f576274d593f8ce883d191a099682" +dependencies = [ + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 2.0.19", + "tracing", +] + [[package]] name = "opentelemetry-otlp" version = "0.27.0" @@ -4364,9 +4378,9 @@ dependencies = [ "async-trait", "futures-core", "http", - "opentelemetry", + "opentelemetry 0.27.1", "opentelemetry-proto", - "opentelemetry_sdk", + "opentelemetry_sdk 0.27.1", "prost 0.13.5", "thiserror 1.0.69", "tokio", @@ -4380,8 +4394,8 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6" dependencies = [ - "opentelemetry", - "opentelemetry_sdk", + "opentelemetry 0.27.1", + "opentelemetry_sdk 0.27.1", "prost 0.13.5", "tonic", ] @@ -4397,14 +4411,29 @@ dependencies = [ "futures-executor", "futures-util", "glob", - "opentelemetry", + "opentelemetry 0.27.1", "percent-encoding", "rand 0.8.6", "serde_json", "thiserror 1.0.69", +] + +[[package]] +name = "opentelemetry_sdk" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b59f80e1ac4d5ff7a2db8fb6c80badb7f0f3f858211fba08dd9aaec750894f9" +dependencies = [ + "futures-channel", + "futures-executor", + "futures-util", + "opentelemetry 0.32.0", + "percent-encoding", + "portable-atomic", + "rand 0.9.5", + "thiserror 2.0.19", "tokio", "tokio-stream", - "tracing", ] [[package]] @@ -4903,7 +4932,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.5.9", + "socket2 0.6.5", "thiserror 2.0.19", "tokio", "tracing", @@ -6658,8 +6687,8 @@ checksum = "97a971f6058498b5c0f1affa23e7ea202057a7301dbff68e968b2d578bcbd053" dependencies = [ "js-sys", "once_cell", - "opentelemetry", - "opentelemetry_sdk", + "opentelemetry 0.27.1", + "opentelemetry_sdk 0.27.1", "smallvec", "tracing", "tracing-core", @@ -7350,7 +7379,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/examples/autonatv2/Cargo.toml b/examples/autonatv2/Cargo.toml index 5aa7da6e38e..1a1922cf0ec 100644 --- a/examples/autonatv2/Cargo.toml +++ b/examples/autonatv2/Cargo.toml @@ -22,7 +22,7 @@ tracing = "0.1" tracing-subscriber = { workspace = true, features = ["env-filter"] } rand = { workspace = true } opentelemetry = { version = "0.27", optional = true } -opentelemetry_sdk = { version = "0.27", optional = true, features = ["rt-tokio"] } +opentelemetry_sdk = { version = "0.32", optional = true, features = ["rt-tokio"] } opentelemetry-otlp = { version = "0.27", optional = true } tracing-opentelemetry = { version = "0.28", optional = true } cfg-if = "1.0" diff --git a/examples/metrics/Cargo.toml b/examples/metrics/Cargo.toml index 0a90495134b..38ffc98656b 100644 --- a/examples/metrics/Cargo.toml +++ b/examples/metrics/Cargo.toml @@ -14,7 +14,7 @@ axum = { workspace = true } libp2p = { path = "../../libp2p", features = ["tokio", "metrics", "ping", "noise", "identify", "tcp", "yamux", "macros"] } opentelemetry = { version = "0.27", features = ["metrics"] } opentelemetry-otlp = { version = "0.27", features = ["metrics"] } -opentelemetry_sdk = { version = "0.27", features = ["rt-tokio", "metrics"] } +opentelemetry_sdk = { version = "0.32", features = ["rt-tokio", "metrics"] } prometheus-client = { workspace = true } tokio = { workspace = true, features = ["full"] } tracing = { workspace = true } From ff829ef2453588cc7d1c28ad2fa576cc5b2fa946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Oliveira?= Date: Thu, 23 Jul 2026 14:19:15 +0100 Subject: [PATCH 2/5] fix: update autonatv2 example to use opentelemetry_sdk 0.32.1 API Fixes compilation errors caused by renaming TracerProvider to SdkTracerProvider, making Resource::new private, and KeyValue version mismatch. Also bumps opentelemetry, opentelemetry-otlp, and tracing-opentelemetry to versions compatible with SDK 0.32.1. --- Cargo.lock | 129 ++++++++++++++++-- examples/autonatv2/Cargo.toml | 6 +- .../autonatv2/src/bin/autonatv2_server.rs | 14 +- 3 files changed, 131 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cad1d7fc565..3183736aca7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -359,13 +359,13 @@ dependencies = [ "cfg-if", "clap", "libp2p", - "opentelemetry 0.27.1", - "opentelemetry-otlp", + "opentelemetry 0.32.0", + "opentelemetry-otlp 0.32.0", "opentelemetry_sdk 0.32.1", "rand 0.8.6", "tokio", "tracing", - "tracing-opentelemetry", + "tracing-opentelemetry 0.33.0", "tracing-subscriber", ] @@ -3936,12 +3936,12 @@ dependencies = [ "futures", "libp2p", "opentelemetry 0.27.1", - "opentelemetry-otlp", + "opentelemetry-otlp 0.27.0", "opentelemetry_sdk 0.32.1", "prometheus-client", "tokio", "tracing", - "tracing-opentelemetry", + "tracing-opentelemetry 0.28.0", "tracing-subscriber", ] @@ -4369,6 +4369,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "opentelemetry-http" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5683015d09e2df236ef005b17f6f196f0d5f6313c4fa43a7b6a53b52776e4331" +dependencies = [ + "async-trait", + "bytes", + "http", + "opentelemetry 0.32.0", + "reqwest", +] + [[package]] name = "opentelemetry-otlp" version = "0.27.0" @@ -4379,15 +4392,34 @@ dependencies = [ "futures-core", "http", "opentelemetry 0.27.1", - "opentelemetry-proto", + "opentelemetry-proto 0.27.0", "opentelemetry_sdk 0.27.1", "prost 0.13.5", "thiserror 1.0.69", "tokio", - "tonic", + "tonic 0.12.3", "tracing", ] +[[package]] +name = "opentelemetry-otlp" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9966929966d17620d7c316c643ba62631826e10021409357772d5eea84f62c35" +dependencies = [ + "http", + "opentelemetry 0.32.0", + "opentelemetry-http", + "opentelemetry-proto 0.32.0", + "opentelemetry_sdk 0.32.1", + "prost 0.14.4", + "reqwest", + "thiserror 2.0.19", + "tokio", + "tonic 0.14.6", + "tonic-types", +] + [[package]] name = "opentelemetry-proto" version = "0.27.0" @@ -4397,7 +4429,20 @@ dependencies = [ "opentelemetry 0.27.1", "opentelemetry_sdk 0.27.1", "prost 0.13.5", - "tonic", + "tonic 0.12.3", +] + +[[package]] +name = "opentelemetry-proto" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d658ba1faf63f7b9c492cfbe6e0ec365440a16132d3270c1065f7b33f1b638" +dependencies = [ + "opentelemetry 0.32.0", + "opentelemetry_sdk 0.32.1", + "prost 0.14.4", + "tonic 0.14.6", + "tonic-prost", ] [[package]] @@ -5276,6 +5321,7 @@ dependencies = [ "base64", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", @@ -6529,6 +6575,54 @@ dependencies = [ "tracing", ] +[[package]] +name = "tonic" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" +dependencies = [ + "async-trait", + "base64", + "bytes", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "sync_wrapper", + "tokio", + "tokio-stream", + "tower 0.5.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-prost" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +dependencies = [ + "bytes", + "prost 0.14.4", + "tonic 0.14.6", +] + +[[package]] +name = "tonic-types" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab1b02061f83d519bba3caa167f88f261ef05720ab8ebc954ade70de3348e8" +dependencies = [ + "prost 0.14.4", + "prost-types", + "tonic 0.14.6", +] + [[package]] name = "tower" version = "0.4.13" @@ -6557,9 +6651,12 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap 2.13.0", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -6697,6 +6794,22 @@ dependencies = [ "web-time", ] +[[package]] +name = "tracing-opentelemetry" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adbc64cba7137545b8044cb1fe9814f7aacf3c6b5f9b45be8bb5db538befdb26" +dependencies = [ + "js-sys", + "opentelemetry 0.32.0", + "smallvec", + "tracing", + "tracing-core", + "tracing-log", + "tracing-subscriber", + "web-time", +] + [[package]] name = "tracing-subscriber" version = "0.3.23" diff --git a/examples/autonatv2/Cargo.toml b/examples/autonatv2/Cargo.toml index 1a1922cf0ec..f75fc8118fc 100644 --- a/examples/autonatv2/Cargo.toml +++ b/examples/autonatv2/Cargo.toml @@ -21,10 +21,10 @@ tokio = { version = "1.53", features = ["macros", "rt-multi-thread"] } tracing = "0.1" tracing-subscriber = { workspace = true, features = ["env-filter"] } rand = { workspace = true } -opentelemetry = { version = "0.27", optional = true } +opentelemetry = { version = "0.32", optional = true } opentelemetry_sdk = { version = "0.32", optional = true, features = ["rt-tokio"] } -opentelemetry-otlp = { version = "0.27", optional = true } -tracing-opentelemetry = { version = "0.28", optional = true } +opentelemetry-otlp = { version = "0.32", optional = true, features = ["grpc-tonic"] } +tracing-opentelemetry = { version = "0.33", optional = true } cfg-if = "1.0" [features] diff --git a/examples/autonatv2/src/bin/autonatv2_server.rs b/examples/autonatv2/src/bin/autonatv2_server.rs index 2fb1960fe39..0542f1a0eaa 100644 --- a/examples/autonatv2/src/bin/autonatv2_server.rs +++ b/examples/autonatv2/src/bin/autonatv2_server.rs @@ -27,18 +27,18 @@ async fn main() -> Result<(), Box> { use opentelemetry::trace::TracerProvider as _; use opentelemetry::KeyValue; use opentelemetry_otlp::SpanExporter; - use opentelemetry_sdk::{runtime, trace::TracerProvider}; + use opentelemetry_sdk::trace::SdkTracerProvider; use tracing_subscriber::layer::SubscriberExt; - let provider = TracerProvider::builder() + let provider = SdkTracerProvider::builder() .with_batch_exporter( SpanExporter::builder().with_tonic().build()?, - runtime::Tokio, ) - .with_resource(opentelemetry_sdk::Resource::new(vec![KeyValue::new( - "service.name", - "autonatv2", - )])) + .with_resource( + opentelemetry_sdk::Resource::builder_empty() + .with_attribute(KeyValue::new("service.name", "autonatv2")) + .build(), + ) .build(); let telemetry = tracing_opentelemetry::layer() .with_tracer(provider.tracer("autonatv2")); From 20c323327795e7e417b5c40b28bef4146948f38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Oliveira?= Date: Thu, 23 Jul 2026 14:41:34 +0100 Subject: [PATCH 3/5] fix: update metrics example to use opentelemetry_sdk 0.32.1 API Same fixes as autonatv2: rename TracerProvider to SdkTracerProvider, use Resource builder pattern, drop runtime arg, bump companion deps to opentelemetry 0.32, opentelemetry-otlp 0.32, tracing-opentelemetry 0.33. --- Cargo.lock | 391 +++++++---------------------------- examples/metrics/Cargo.toml | 6 +- examples/metrics/src/main.rs | 16 +- 3 files changed, 83 insertions(+), 330 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 772c75402e5..1c4fa41e9b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,28 +271,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "async-trait" version = "0.1.91" @@ -359,13 +337,13 @@ dependencies = [ "cfg-if", "clap", "libp2p", - "opentelemetry 0.32.0", - "opentelemetry-otlp 0.32.0", - "opentelemetry_sdk 0.32.1", + "opentelemetry", + "opentelemetry-otlp", + "opentelemetry_sdk", "rand 0.8.6", "tokio", "tracing", - "tracing-opentelemetry 0.33.0", + "tracing-opentelemetry", "tracing-subscriber", ] @@ -391,40 +369,13 @@ dependencies = [ "fs_extra", ] -[[package]] -name = "axum" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" -dependencies = [ - "async-trait", - "axum-core 0.4.5", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "itoa", - "matchit 0.7.3", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower 0.5.3", - "tower-layer", - "tower-service", -] - [[package]] name = "axum" version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" dependencies = [ - "axum-core 0.5.6", + "axum-core", "bytes", "form_urlencoded", "futures-util", @@ -434,7 +385,7 @@ dependencies = [ "hyper", "hyper-util", "itoa", - "matchit 0.8.4", + "matchit", "memchr", "mime", "percent-encoding", @@ -445,32 +396,12 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", "tracing", ] -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-core" version = "0.5.6" @@ -595,7 +526,7 @@ name = "browser-webrtc-example" version = "0.1.0" dependencies = [ "anyhow", - "axum 0.8.9", + "axum", "futures", "js-sys", "libp2p", @@ -606,7 +537,7 @@ dependencies = [ "rust-embed", "tokio", "tokio-util", - "tower 0.5.3", + "tower", "tower-http 0.7.0", "tracing", "tracing-subscriber", @@ -1335,7 +1266,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1954,7 +1885,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.13.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -1971,12 +1902,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.5" @@ -2509,16 +2434,6 @@ dependencies = [ "xmltree", ] -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.13.0" @@ -2567,7 +2482,7 @@ name = "interop-tests" version = "0.1.0" dependencies = [ "anyhow", - "axum 0.8.9", + "axum", "console_error_panic_hook", "futures", "futures-timer", @@ -2949,7 +2864,7 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-swarm-test", - "prost 0.14.4", + "prost", "prost-codec", "rand 0.8.6", "rand_core 0.6.4", @@ -2992,7 +2907,7 @@ dependencies = [ "multistream-select", "parking_lot", "pin-project", - "prost 0.14.4", + "prost", "rand 0.8.6", "rw-stream-sink", "thiserror 2.0.19", @@ -3021,7 +2936,7 @@ dependencies = [ "libp2p-swarm-test", "libp2p-tcp", "libp2p-yamux", - "prost 0.14.4", + "prost", "prost-codec", "thiserror 2.0.19", "tokio", @@ -3058,7 +2973,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "prost 0.14.4", + "prost", "prost-codec", "rand 0.8.6", "smallvec", @@ -3087,7 +3002,7 @@ dependencies = [ "libp2p-swarm", "libp2p-swarm-test", "prometheus-client", - "prost 0.14.4", + "prost", "prost-codec", "quickcheck-ext", "rand 0.8.6", @@ -3113,7 +3028,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "libp2p-swarm-test", - "prost 0.14.4", + "prost", "prost-codec", "smallvec", "thiserror 2.0.19", @@ -3135,7 +3050,7 @@ dependencies = [ "k256", "multihash", "p256", - "prost 0.14.4", + "prost", "quickcheck-ext", "rand 0.8.6", "ring", @@ -3167,7 +3082,7 @@ dependencies = [ "libp2p-swarm", "libp2p-swarm-test", "libp2p-yamux", - "prost 0.14.4", + "prost", "prost-codec", "quickcheck-ext", "rand 0.8.6", @@ -3283,7 +3198,7 @@ dependencies = [ "libp2p-identity", "multiaddr", "multihash", - "prost 0.14.4", + "prost", "quickcheck-ext", "rand 0.8.6", "snow", @@ -3362,7 +3277,7 @@ dependencies = [ "futures_ringbuf", "libp2p-core", "libp2p-identity", - "prost 0.14.4", + "prost", "prost-codec", "quickcheck-ext", "tracing", @@ -3434,7 +3349,7 @@ dependencies = [ "libp2p-swarm", "libp2p-swarm-test", "libp2p-yamux", - "prost 0.14.4", + "prost", "prost-codec", "quickcheck-ext", "rand 0.8.6", @@ -3460,7 +3375,7 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-swarm-test", - "prost 0.14.4", + "prost", "prost-codec", "rand 0.8.6", "thiserror 2.0.19", @@ -3496,7 +3411,7 @@ dependencies = [ name = "libp2p-server" version = "0.13.0" dependencies = [ - "axum 0.8.9", + "axum", "base64", "clap", "futures", @@ -3680,7 +3595,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-noise", - "prost 0.14.4", + "prost", "prost-codec", "rand 0.8.6", "serde", @@ -3931,12 +3846,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "matchit" version = "0.8.4" @@ -3982,16 +3891,16 @@ dependencies = [ name = "metrics-example" version = "0.1.0" dependencies = [ - "axum 0.8.9", + "axum", "futures", "libp2p", - "opentelemetry 0.27.1", - "opentelemetry-otlp 0.27.0", - "opentelemetry_sdk 0.32.1", + "opentelemetry", + "opentelemetry-otlp", + "opentelemetry_sdk", "prometheus-client", "tokio", "tracing", - "tracing-opentelemetry 0.28.0", + "tracing-opentelemetry", "tracing-subscriber", ] @@ -4391,20 +4300,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" -[[package]] -name = "opentelemetry" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab70038c28ed37b97d8ed414b6429d343a8bbf44c9f79ec854f3a643029ba6d7" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 1.0.69", - "tracing", -] - [[package]] name = "opentelemetry" version = "0.32.0" @@ -4428,29 +4323,10 @@ dependencies = [ "async-trait", "bytes", "http", - "opentelemetry 0.32.0", + "opentelemetry", "reqwest", ] -[[package]] -name = "opentelemetry-otlp" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cf61a1868dacc576bf2b2a1c3e9ab150af7272909e80085c3173384fe11f76" -dependencies = [ - "async-trait", - "futures-core", - "http", - "opentelemetry 0.27.1", - "opentelemetry-proto 0.27.0", - "opentelemetry_sdk 0.27.1", - "prost 0.13.5", - "thiserror 1.0.69", - "tokio", - "tonic 0.12.3", - "tracing", -] - [[package]] name = "opentelemetry-otlp" version = "0.32.0" @@ -4458,61 +4334,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9966929966d17620d7c316c643ba62631826e10021409357772d5eea84f62c35" dependencies = [ "http", - "opentelemetry 0.32.0", + "opentelemetry", "opentelemetry-http", - "opentelemetry-proto 0.32.0", - "opentelemetry_sdk 0.32.1", - "prost 0.14.4", + "opentelemetry-proto", + "opentelemetry_sdk", + "prost", "reqwest", "thiserror 2.0.19", "tokio", - "tonic 0.14.6", + "tonic", "tonic-types", ] -[[package]] -name = "opentelemetry-proto" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6" -dependencies = [ - "opentelemetry 0.27.1", - "opentelemetry_sdk 0.27.1", - "prost 0.13.5", - "tonic 0.12.3", -] - [[package]] name = "opentelemetry-proto" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d658ba1faf63f7b9c492cfbe6e0ec365440a16132d3270c1065f7b33f1b638" dependencies = [ - "opentelemetry 0.32.0", - "opentelemetry_sdk 0.32.1", - "prost 0.14.4", - "tonic 0.14.6", + "opentelemetry", + "opentelemetry_sdk", + "prost", + "tonic", "tonic-prost", ] -[[package]] -name = "opentelemetry_sdk" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "231e9d6ceef9b0b2546ddf52335785ce41252bc7474ee8ba05bfad277be13ab8" -dependencies = [ - "async-trait", - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "opentelemetry 0.27.1", - "percent-encoding", - "rand 0.8.6", - "serde_json", - "thiserror 1.0.69", -] - [[package]] name = "opentelemetry_sdk" version = "0.32.1" @@ -4522,7 +4368,7 @@ dependencies = [ "futures-channel", "futures-executor", "futures-util", - "opentelemetry 0.32.0", + "opentelemetry", "percent-encoding", "portable-atomic", "rand 0.9.5", @@ -4635,7 +4481,7 @@ checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", "hashbrown 0.15.5", - "indexmap 2.13.0", + "indexmap", ] [[package]] @@ -4848,16 +4694,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes", - "prost-derive 0.13.5", -] - [[package]] name = "prost" version = "0.14.4" @@ -4865,7 +4701,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1" dependencies = [ "bytes", - "prost-derive 0.14.4", + "prost-derive", ] [[package]] @@ -4880,7 +4716,7 @@ dependencies = [ "multimap", "petgraph", "prettyplease", - "prost 0.14.4", + "prost", "prost-types", "regex", "syn 2.0.117", @@ -4894,25 +4730,12 @@ dependencies = [ "asynchronous-codec", "bytes", "futures", - "prost 0.14.4", + "prost", "quickcheck-ext", "thiserror 2.0.19", "unsigned-varint", ] -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.13.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "prost-derive" version = "0.14.4" @@ -4934,7 +4757,7 @@ checksum = "590aa145fee8f7a26b5a6055365e7c5e89a5c1caae9869de76ec0ee73181a2f9" dependencies = [ "logos 0.16.1", "miette", - "prost 0.14.4", + "prost", "prost-types", ] @@ -4944,7 +4767,7 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f94967dc7688f3054c7fac87473ffae4cc4c3904800e2d9f5b857246d8963b0a" dependencies = [ - "prost 0.14.4", + "prost", ] [[package]] @@ -4955,7 +4778,7 @@ checksum = "4f25a07a73c6717f0b9bbbd685918f5df9815f7efba450b83d9c9dea41f0e3a1" dependencies = [ "bytes", "miette", - "prost 0.14.4", + "prost", "prost-reflect", "prost-types", "protox-parse", @@ -5396,7 +5219,7 @@ dependencies = [ "tokio", "tokio-rustls", "tokio-util", - "tower 0.5.3", + "tower", "tower-http 0.6.10", "tower-service", "url", @@ -5457,7 +5280,7 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.17.1", - "indexmap 2.13.0", + "indexmap", "munge", "ptr_meta", "rancor", @@ -5627,7 +5450,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5685,7 +5508,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5873,7 +5696,7 @@ version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" dependencies = [ - "indexmap 2.13.0", + "indexmap", "itoa", "memchr", "serde", @@ -6319,7 +6142,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -6348,7 +6171,7 @@ dependencies = [ "fs4", "futures-util", "http", - "indexmap 2.13.0", + "indexmap", "pastey", "reqwest", "serde", @@ -6562,7 +6385,7 @@ version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "399b1124a3c9e16766831c6bba21e50192572cdd98706ea114f9502509686ffc" dependencies = [ - "indexmap 2.13.0", + "indexmap", "serde_core", "serde_spanned", "toml_datetime", @@ -6595,36 +6418,6 @@ version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" -[[package]] -name = "tonic" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" -dependencies = [ - "async-stream", - "async-trait", - "axum 0.7.9", - "base64", - "bytes", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-timeout", - "hyper-util", - "percent-encoding", - "pin-project", - "prost 0.13.5", - "socket2 0.5.9", - "tokio", - "tokio-stream", - "tower 0.4.13", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tonic" version = "0.14.6" @@ -6645,7 +6438,7 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -6658,8 +6451,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", - "prost 0.14.4", - "tonic 0.14.6", + "prost", + "tonic", ] [[package]] @@ -6668,40 +6461,20 @@ version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73ab1b02061f83d519bba3caa167f88f261ef05720ab8ebc954ade70de3348e8" dependencies = [ - "prost 0.14.4", + "prost", "prost-types", - "tonic 0.14.6", + "tonic", ] [[package]] name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.6", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 2.13.0", + "indexmap", "pin-project-lite", "slab", "sync_wrapper", @@ -6724,7 +6497,7 @@ dependencies = [ "http", "http-body", "pin-project-lite", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", "url", @@ -6812,24 +6585,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a971f6058498b5c0f1affa23e7ea202057a7301dbff68e968b2d578bcbd053" -dependencies = [ - "js-sys", - "once_cell", - "opentelemetry 0.27.1", - "opentelemetry_sdk 0.27.1", - "smallvec", - "tracing", - "tracing-core", - "tracing-log", - "tracing-subscriber", - "web-time", -] - [[package]] name = "tracing-opentelemetry" version = "0.33.0" @@ -6837,7 +6592,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adbc64cba7137545b8044cb1fe9814f7aacf3c6b5f9b45be8bb5db538befdb26" dependencies = [ "js-sys", - "opentelemetry 0.32.0", + "opentelemetry", "smallvec", "tracing", "tracing-core", @@ -7244,7 +6999,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap 2.13.0", + "indexmap", "wasm-encoder", "wasmparser", ] @@ -7270,7 +7025,7 @@ checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ "bitflags 2.11.1", "hashbrown 0.15.5", - "indexmap 2.13.0", + "indexmap", "semver", ] @@ -8086,7 +7841,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap 2.13.0", + "indexmap", "prettyplease", "syn 2.0.117", "wasm-metadata", @@ -8117,7 +7872,7 @@ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", "bitflags 2.11.1", - "indexmap 2.13.0", + "indexmap", "log", "serde", "serde_derive", @@ -8136,7 +7891,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap 2.13.0", + "indexmap", "log", "semver", "serde", @@ -8375,7 +8130,7 @@ checksum = "79b32dd4ad3aca14ae109f8cce0495ac1c57f6f4f00ad459a40e582f89440d97" dependencies = [ "crc32fast", "flate2", - "indexmap 2.13.0", + "indexmap", "memchr", "typed-path", "zopfli", diff --git a/examples/metrics/Cargo.toml b/examples/metrics/Cargo.toml index 38ffc98656b..4f76300c274 100644 --- a/examples/metrics/Cargo.toml +++ b/examples/metrics/Cargo.toml @@ -12,13 +12,13 @@ release = false futures = { workspace = true } axum = { workspace = true } libp2p = { path = "../../libp2p", features = ["tokio", "metrics", "ping", "noise", "identify", "tcp", "yamux", "macros"] } -opentelemetry = { version = "0.27", features = ["metrics"] } -opentelemetry-otlp = { version = "0.27", features = ["metrics"] } +opentelemetry = { version = "0.32", features = ["metrics"] } +opentelemetry-otlp = { version = "0.32", features = ["metrics", "grpc-tonic"] } opentelemetry_sdk = { version = "0.32", features = ["rt-tokio", "metrics"] } prometheus-client = { workspace = true } tokio = { workspace = true, features = ["full"] } tracing = { workspace = true } -tracing-opentelemetry = "0.28" +tracing-opentelemetry = "0.33" tracing-subscriber = { workspace = true, features = ["env-filter"] } [lints] diff --git a/examples/metrics/src/main.rs b/examples/metrics/src/main.rs index 0802d24c17c..46c1503eefd 100644 --- a/examples/metrics/src/main.rs +++ b/examples/metrics/src/main.rs @@ -33,7 +33,7 @@ use libp2p::{ }; use opentelemetry::{KeyValue, trace::TracerProvider as _}; use opentelemetry_otlp::SpanExporter; -use opentelemetry_sdk::{runtime, trace::TracerProvider}; +use opentelemetry_sdk::trace::SdkTracerProvider; use prometheus_client::registry::Registry; use tracing_subscriber::{EnvFilter, Layer, layer::SubscriberExt, util::SubscriberInitExt}; @@ -93,15 +93,13 @@ async fn main() -> Result<(), Box> { } fn setup_tracing() -> Result<(), Box> { - let provider = TracerProvider::builder() - .with_batch_exporter( - SpanExporter::builder().with_tonic().build()?, - runtime::Tokio, + let provider = SdkTracerProvider::builder() + .with_batch_exporter(SpanExporter::builder().with_tonic().build()?) + .with_resource( + opentelemetry_sdk::Resource::builder_empty() + .with_attribute(KeyValue::new("service.name", "libp2p")) + .build(), ) - .with_resource(opentelemetry_sdk::Resource::new(vec![KeyValue::new( - "service.name", - "libp2p", - )])) .build(); tracing_subscriber::registry() .with(tracing_subscriber::fmt::layer().with_filter(EnvFilter::from_default_env())) From de4e74fc19c3335f8b224893c7b823a3a3950133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Oliveira?= Date: Thu, 23 Jul 2026 14:45:02 +0100 Subject: [PATCH 4/5] refactor: move opentelemetry deps to workspace --- Cargo.toml | 5 +++++ examples/autonatv2/Cargo.toml | 8 ++++---- examples/metrics/Cargo.toml | 8 ++++---- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e3af0155b74..c8c7fd102a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -149,6 +149,11 @@ thiserror = "2" tokio = { version = "1.53", default-features = false } tracing = "0.1" tracing-subscriber = "0.3" +tracing-opentelemetry = "0.33" + +opentelemetry = "0.32" +opentelemetry-otlp = "0.32" +opentelemetry_sdk = "0.32" unsigned-varint = { version = "0.8" } # Pinned to avoid wasm-bindgen >=0.2.109 which breaks gloo-timers 0.2.6 (used by futures-timer for wasm). # wasm-bindgen-futures pins wasm-bindgen exactly, so capping it caps wasm-bindgen. diff --git a/examples/autonatv2/Cargo.toml b/examples/autonatv2/Cargo.toml index f75fc8118fc..98c2c24e69e 100644 --- a/examples/autonatv2/Cargo.toml +++ b/examples/autonatv2/Cargo.toml @@ -21,10 +21,10 @@ tokio = { version = "1.53", features = ["macros", "rt-multi-thread"] } tracing = "0.1" tracing-subscriber = { workspace = true, features = ["env-filter"] } rand = { workspace = true } -opentelemetry = { version = "0.32", optional = true } -opentelemetry_sdk = { version = "0.32", optional = true, features = ["rt-tokio"] } -opentelemetry-otlp = { version = "0.32", optional = true, features = ["grpc-tonic"] } -tracing-opentelemetry = { version = "0.33", optional = true } +opentelemetry = { workspace = true, optional = true, features = [] } +opentelemetry_sdk = { workspace = true, optional = true, features = ["rt-tokio"] } +opentelemetry-otlp = { workspace = true, optional = true, features = ["grpc-tonic"] } +tracing-opentelemetry = { workspace = true, optional = true } cfg-if = "1.0" [features] diff --git a/examples/metrics/Cargo.toml b/examples/metrics/Cargo.toml index 4f76300c274..a4cf4a3a9f9 100644 --- a/examples/metrics/Cargo.toml +++ b/examples/metrics/Cargo.toml @@ -12,13 +12,13 @@ release = false futures = { workspace = true } axum = { workspace = true } libp2p = { path = "../../libp2p", features = ["tokio", "metrics", "ping", "noise", "identify", "tcp", "yamux", "macros"] } -opentelemetry = { version = "0.32", features = ["metrics"] } -opentelemetry-otlp = { version = "0.32", features = ["metrics", "grpc-tonic"] } -opentelemetry_sdk = { version = "0.32", features = ["rt-tokio", "metrics"] } +opentelemetry = { workspace = true, features = ["metrics"] } +opentelemetry-otlp = { workspace = true, features = ["metrics", "grpc-tonic"] } +opentelemetry_sdk = { workspace = true, features = ["rt-tokio", "metrics"] } prometheus-client = { workspace = true } tokio = { workspace = true, features = ["full"] } tracing = { workspace = true } -tracing-opentelemetry = "0.33" +tracing-opentelemetry = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } [lints] From 48940f790e6a460351ce997416e1ea8f1aae54e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Oliveira?= Date: Thu, 23 Jul 2026 14:45:38 +0100 Subject: [PATCH 5/5] Apply suggestion from @jxs --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index c8c7fd102a2..83e65bc4e73 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -150,7 +150,6 @@ tokio = { version = "1.53", default-features = false } tracing = "0.1" tracing-subscriber = "0.3" tracing-opentelemetry = "0.33" - opentelemetry = "0.32" opentelemetry-otlp = "0.32" opentelemetry_sdk = "0.32"