diff --git a/Cargo.lock b/Cargo.lock index 1daba7ffda..127b7dd302 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -139,7 +139,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -150,7 +150,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -415,28 +415,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[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-task" version = "4.7.1" @@ -522,33 +500,6 @@ dependencies = [ "tower-service", ] -[[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 1.11.1", - "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "itoa", - "matchit 0.7.3", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper 1.0.2", - "tower 0.5.3", - "tower-layer", - "tower-service", -] - [[package]] name = "axum" version = "0.8.9" @@ -591,26 +542,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes 1.11.1", - "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper 1.0.2", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-core" version = "0.5.6" @@ -2112,7 +2043,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3324,7 +3255,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi 0.5.2", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3817,9 +3748,9 @@ dependencies = [ "libc", "logging", "nix 0.30.1", - "opentelemetry 0.27.1", + "opentelemetry 0.32.0", "opentelemetry-otlp", - "opentelemetry_sdk 0.27.1", + "opentelemetry_sdk 0.32.1", "privdrop", "slog", "tokio", @@ -4618,7 +4549,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5019,15 +4950,15 @@ dependencies = [ [[package]] name = "opentelemetry" -version = "0.27.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab70038c28ed37b97d8ed414b6429d343a8bbf44c9f79ec854f3a643029ba6d7" +checksum = "b0142c63252a9e054e68a4c61a5778f7b14f576274d593f8ce883d191a099682" dependencies = [ "futures-core", "futures-sink", "js-sys", "pin-project-lite", - "thiserror 1.0.69", + "thiserror 2.0.18", "tracing", ] @@ -5045,6 +4976,19 @@ dependencies = [ "tokio", ] +[[package]] +name = "opentelemetry-http" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5683015d09e2df236ef005b17f6f196f0d5f6313c4fa43a7b6a53b52776e4331" +dependencies = [ + "async-trait", + "bytes 1.11.1", + "http 1.4.0", + "opentelemetry 0.32.0", + "reqwest 0.13.3", +] + [[package]] name = "opentelemetry-jaeger" version = "0.17.0" @@ -5059,7 +5003,7 @@ dependencies = [ "hyper 0.14.32", "once_cell", "opentelemetry 0.18.0", - "opentelemetry-http", + "opentelemetry-http 0.7.0", "opentelemetry-semantic-conventions", "thiserror 1.0.69", "thrift", @@ -5068,33 +5012,34 @@ dependencies = [ [[package]] name = "opentelemetry-otlp" -version = "0.27.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cf61a1868dacc576bf2b2a1c3e9ab150af7272909e80085c3173384fe11f76" +checksum = "9966929966d17620d7c316c643ba62631826e10021409357772d5eea84f62c35" dependencies = [ - "async-trait", - "futures-core", "http 1.4.0", - "opentelemetry 0.27.1", + "opentelemetry 0.32.0", + "opentelemetry-http 0.32.0", "opentelemetry-proto", - "opentelemetry_sdk 0.27.1", - "prost 0.13.5", - "thiserror 1.0.69", + "opentelemetry_sdk 0.32.1", + "prost 0.14.3", + "reqwest 0.13.3", + "thiserror 2.0.18", "tokio", - "tonic 0.12.3", - "tracing", + "tonic 0.14.6", + "tonic-types", ] [[package]] name = "opentelemetry-proto" -version = "0.27.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6" +checksum = "56d658ba1faf63f7b9c492cfbe6e0ec365440a16132d3270c1065f7b33f1b638" dependencies = [ - "opentelemetry 0.27.1", - "opentelemetry_sdk 0.27.1", - "prost 0.13.5", - "tonic 0.12.3", + "opentelemetry 0.32.0", + "opentelemetry_sdk 0.32.1", + "prost 0.14.3", + "tonic 0.14.6", + "tonic-prost", ] [[package]] @@ -5146,23 +5091,20 @@ dependencies = [ [[package]] name = "opentelemetry_sdk" -version = "0.27.1" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "231e9d6ceef9b0b2546ddf52335785ce41252bc7474ee8ba05bfad277be13ab8" +checksum = "9b59f80e1ac4d5ff7a2db8fb6c80badb7f0f3f858211fba08dd9aaec750894f9" dependencies = [ - "async-trait", "futures-channel", "futures-executor", "futures-util", - "glob", - "opentelemetry 0.27.1", + "opentelemetry 0.32.0", "percent-encoding", - "rand 0.8.6", - "serde_json", - "thiserror 1.0.69", + "portable-atomic", + "rand 0.9.4", + "thiserror 2.0.18", "tokio", "tokio-stream", - "tracing", ] [[package]] @@ -5756,16 +5698,6 @@ dependencies = [ "prost-derive 0.11.9", ] -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes 1.11.1", - "prost-derive 0.13.5", -] - [[package]] name = "prost" version = "0.14.3" @@ -5842,19 +5774,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "prost-derive" version = "0.14.3" @@ -5887,6 +5806,15 @@ dependencies = [ "prost 0.11.9", ] +[[package]] +name = "prost-types" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" +dependencies = [ + "prost 0.14.3", +] + [[package]] name = "protobuf" version = "3.7.2" @@ -6425,6 +6353,7 @@ checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" dependencies = [ "base64 0.22.1", "bytes 1.11.1", + "futures-channel", "futures-core", "futures-util", "http 1.4.0", @@ -6826,7 +6755,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -6927,7 +6856,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7616,7 +7545,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -7869,10 +7798,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand 2.4.1", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7881,7 +7810,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -8262,36 +8191,6 @@ dependencies = [ "tracing", ] -[[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 0.22.1", - "bytes 1.11.1", - "h2 0.4.14", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.9.0", - "hyper-timeout 0.5.2", - "hyper-util", - "percent-encoding", - "pin-project", - "prost 0.13.5", - "socket2 0.5.10", - "tokio", - "tokio-stream", - "tower 0.4.13", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tonic" version = "0.14.6" @@ -8358,6 +8257,17 @@ dependencies = [ "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.3", + "prost-types 0.14.3", + "tonic 0.14.6", +] + [[package]] name = "tower" version = "0.4.13" @@ -8602,7 +8512,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" dependencies = [ "memoffset 0.9.1", "tempfile", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -9186,7 +9096,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/src/tools/trace-forwarder/Cargo.toml b/src/tools/trace-forwarder/Cargo.toml index 41ab19e693..6a8f20b0fd 100644 --- a/src/tools/trace-forwarder/Cargo.toml +++ b/src/tools/trace-forwarder/Cargo.toml @@ -19,9 +19,9 @@ libc.workspace = true bincode = "1.3.3" byteorder = "1.4.3" anyhow.workspace = true -opentelemetry = { version = "0.27.0", features = ["trace"] } -opentelemetry-otlp = { version = "0.27.0", features = ["trace", "grpc-tonic"] } -opentelemetry_sdk = { version = "0.27.0", features = ["rt-tokio"] } +opentelemetry = { version = "0.32.0", features = ["trace"] } +opentelemetry-otlp = { version = "0.32.0", features = ["trace", "grpc-tonic"] } +opentelemetry_sdk = { version = "0.32.1", features = ["rt-tokio"] } tokio = { version = "1", features = ["rt-multi-thread"] } # Note: this crate sets the slog 'max_*' features which allows the log level diff --git a/src/tools/trace-forwarder/src/tracer.rs b/src/tools/trace-forwarder/src/tracer.rs index 0b578f30d9..266b6ca6a4 100644 --- a/src/tools/trace-forwarder/src/tracer.rs +++ b/src/tools/trace-forwarder/src/tracer.rs @@ -6,13 +6,13 @@ use opentelemetry::KeyValue; use opentelemetry_otlp::WithExportConfig; -use opentelemetry_sdk::trace::TracerProvider; +use opentelemetry_sdk::trace::SdkTracerProvider; use opentelemetry_sdk::Resource; pub fn create_otlp_trace_exporter( service_name: String, otlp_endpoint: String, -) -> Result { +) -> Result { let exporter_type = "otlp"; // Create OTLP exporter @@ -31,12 +31,15 @@ pub fn create_otlp_trace_exporter( }; // Create tracer provider with resource attributes - let provider = TracerProvider::builder() - .with_batch_exporter(exporter, opentelemetry_sdk::runtime::Tokio) - .with_resource(Resource::new(vec![ + let resource = Resource::builder_empty() + .with_attributes([ KeyValue::new("service.name", service_name), KeyValue::new("exporter", exporter_type), - ])) + ]) + .build(); + let provider = SdkTracerProvider::builder() + .with_batch_exporter(exporter) + .with_resource(resource) .build(); Ok(provider)