diff --git a/Cargo.lock b/Cargo.lock index df6ea2b08..fd236810d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -408,9 +408,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6a895b664295a4ba0c2c0203c7075ea585dd75cd5c37a8efac829e13e460ef" +checksum = "4cd755adf9707cf671e31d944a189be3deaaeee11c8bc1d669bb8022ac90fbd0" dependencies = [ "aws-lc-sys", "paste", @@ -893,9 +893,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.14" +version = "1.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" +checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" dependencies = [ "jobserver", "libc", @@ -2584,9 +2584,9 @@ checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array", ] @@ -2971,9 +2971,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", ] @@ -3451,7 +3451,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.8", + "redox_syscall 0.5.9", "smallvec", "windows-targets 0.52.6", ] @@ -3507,9 +3507,9 @@ dependencies = [ [[package]] name = "pem" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" dependencies = [ "base64 0.22.1", "serde", @@ -3990,9 +3990,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" dependencies = [ "bitflags 2.8.0", ] @@ -4623,7 +4623,7 @@ dependencies = [ [[package]] name = "server" -version = "0.4.213" +version = "0.4.214" dependencies = [ "ahash 0.8.11", "anyhow", @@ -5572,9 +5572,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f41ffb7cf259f1ecc2876861a17e7142e63ead296f671f81f6ae85903e0d6" +checksum = "93d59ca99a559661b96bf898d8fce28ed87935fd2bea9f05983c1464dd6c71b1" dependencies = [ "getrandom 0.3.1", "rand 0.9.0", @@ -6384,27 +6384,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.2.1" +version = "7.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +checksum = "f3051792fbdc2e1e143244dc28c60f73d8470e93f3f9cbd0ead44da5ed802722" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.14+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5" dependencies = [ "cc", "pkg-config", diff --git a/bench/Cargo.toml b/bench/Cargo.toml index e31482b39..ff919c287 100644 --- a/bench/Cargo.toml +++ b/bench/Cargo.toml @@ -28,7 +28,7 @@ toml = "0.8.20" tracing = { version = "0.1.41" } tracing-appender = "0.2.3" tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } -uuid = { version = "1.13.2", features = ["serde"] } +uuid = { version = "1.14.0", features = ["serde"] } [[bin]] name = "iggy-bench" diff --git a/bench/report/Cargo.toml b/bench/report/Cargo.toml index 9f8a13ca1..d95197f9d 100644 --- a/bench/report/Cargo.toml +++ b/bench/report/Cargo.toml @@ -16,4 +16,4 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" sysinfo = "0.33.1" tracing = "0.1" -uuid = { version = "1.13.2", features = ["serde"] } +uuid = { version = "1.14.0", features = ["serde"] } diff --git a/examples/src/multi-tenant/consumer/main.rs b/examples/src/multi-tenant/consumer/main.rs index d70a3c5af..1cceb337b 100644 --- a/examples/src/multi-tenant/consumer/main.rs +++ b/examples/src/multi-tenant/consumer/main.rs @@ -108,7 +108,7 @@ async fn main() -> anyhow::Result<(), Box> { } print_info("Disconnecting root client"); - root_client.disconnect().await?; + root_client.shutdown().await?; print_info("Creating clients for each tenant"); let mut tenants = Vec::new(); diff --git a/examples/src/multi-tenant/producer/main.rs b/examples/src/multi-tenant/producer/main.rs index 35a34d5cf..7d6b9c6ea 100644 --- a/examples/src/multi-tenant/producer/main.rs +++ b/examples/src/multi-tenant/producer/main.rs @@ -114,7 +114,7 @@ async fn main() -> anyhow::Result<(), Box> { } print_info("Disconnecting root client"); - root_client.disconnect().await?; + root_client.shutdown().await?; print_info("Creating clients for each tenant"); let mut tenants = Vec::new(); diff --git a/integration/Cargo.toml b/integration/Cargo.toml index 67bb19ea0..47e647c61 100644 --- a/integration/Cargo.toml +++ b/integration/Cargo.toml @@ -29,7 +29,7 @@ test-case = "3.3.1" tokio = { version = "1.43.0", features = ["full"] } tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } twox-hash = { version = "2.1.0", features = ["xxhash32"] } -uuid = { version = "1.13.2", features = ["v7", "fast-rng", "zerocopy"] } +uuid = { version = "1.14.0", features = ["v7", "fast-rng", "zerocopy"] } zip = "2.2.2" # Some tests are failing in CI due to lack of IPv6 interfaces diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index 2e693c64a..85378b7be 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -61,7 +61,7 @@ tokio-rustls = { version = "0.26.1" } toml = "0.8.20" tracing = { version = "0.1.41" } trait-variant = { version = "0.1.2" } -uuid = { version = "1.13.2", features = ["v7", "fast-rng", "zerocopy"] } +uuid = { version = "1.14.0", features = ["v7", "fast-rng", "zerocopy"] } webpki-roots = { version = "0.26.8" } [build-dependencies] diff --git a/server/Cargo.toml b/server/Cargo.toml index 5422b6bca..a8f50c1e5 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "server" -version = "0.4.213" +version = "0.4.214" edition = "2021" build = "src/build.rs" license = "Apache-2.0" @@ -64,6 +64,9 @@ opentelemetry_sdk = { version = "0.28.0", features = [ "logs", "trace", "tokio", + "experimental_async_runtime", + "experimental_logs_batch_log_processor_with_async_runtime", + "experimental_trace_batch_span_processor_with_async_runtime" ] } prometheus-client = "0.23.1" quinn = { version = "0.11.6" } @@ -99,7 +102,7 @@ tracing-opentelemetry = { version = "0.29.0" } tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } twox-hash = { version = "2.1.0", features = ["xxhash32"] } ulid = "1.2.0" -uuid = { version = "1.13.2", features = ["v7", "fast-rng", "zerocopy"] } +uuid = { version = "1.14.0", features = ["v7", "fast-rng", "zerocopy"] } [dev-dependencies] mockall = "0.13.1" diff --git a/server/src/log/logger.rs b/server/src/log/logger.rs index 5707cd939..31f4148ed 100755 --- a/server/src/log/logger.rs +++ b/server/src/log/logger.rs @@ -7,7 +7,10 @@ use opentelemetry::trace::TracerProvider; use opentelemetry::KeyValue; use opentelemetry_appender_tracing::layer::OpenTelemetryTracingBridge; use opentelemetry_otlp::{WithExportConfig, WithHttpConfig}; +use opentelemetry_sdk::logs::log_processor_with_async_runtime; use opentelemetry_sdk::propagation::TraceContextPropagator; +use opentelemetry_sdk::runtime; +use opentelemetry_sdk::trace::span_processor_with_async_runtime; use opentelemetry_sdk::Resource; use std::io::{self, Write}; use std::path::PathBuf; @@ -183,18 +186,25 @@ impl Logging { .expect("Failed to initialize gRPC logger."), ) .build(), - TelemetryTransport::HTTP => opentelemetry_sdk::logs::SdkLoggerProvider::builder() - .with_resource(resource.clone()) - .with_batch_exporter( - opentelemetry_otlp::LogExporter::builder() - .with_http() - .with_http_client(reqwest::Client::new()) - .with_endpoint(self.telemetry_config.logs.endpoint.clone()) - .with_protocol(opentelemetry_otlp::Protocol::HttpBinary) - .build() - .expect("Failed to initialize HTTP logger."), - ) - .build(), + TelemetryTransport::HTTP => { + let log_exporter = opentelemetry_otlp::LogExporter::builder() + .with_http() + .with_http_client(reqwest::Client::new()) + .with_endpoint(self.telemetry_config.logs.endpoint.clone()) + .with_protocol(opentelemetry_otlp::Protocol::HttpBinary) + .build() + .expect("Failed to initialize HTTP logger."); + opentelemetry_sdk::logs::SdkLoggerProvider::builder() + .with_resource(resource.clone()) + .with_log_processor( + log_processor_with_async_runtime::BatchLogProcessor::builder( + log_exporter, + runtime::Tokio, + ) + .build(), + ) + .build() + } }; let tracer_provider = match self.telemetry_config.traces.transport { @@ -208,18 +218,25 @@ impl Logging { .expect("Failed to initialize gRPC tracer."), ) .build(), - TelemetryTransport::HTTP => opentelemetry_sdk::trace::SdkTracerProvider::builder() - .with_resource(resource.clone()) - .with_batch_exporter( - opentelemetry_otlp::SpanExporter::builder() - .with_http() - .with_http_client(reqwest::Client::new()) - .with_endpoint(self.telemetry_config.traces.endpoint.clone()) - .with_protocol(opentelemetry_otlp::Protocol::HttpBinary) - .build() - .expect("Failed to initialize HTTP tracer."), - ) - .build(), + TelemetryTransport::HTTP => { + let trace_exporter = opentelemetry_otlp::SpanExporter::builder() + .with_http() + .with_http_client(reqwest::Client::new()) + .with_endpoint(self.telemetry_config.traces.endpoint.clone()) + .with_protocol(opentelemetry_otlp::Protocol::HttpBinary) + .build() + .expect("Failed to initialize HTTP tracer."); + opentelemetry_sdk::trace::SdkTracerProvider::builder() + .with_resource(resource.clone()) + .with_span_processor( + span_processor_with_async_runtime::BatchSpanProcessor::builder( + trace_exporter, + runtime::Tokio, + ) + .build(), + ) + .build() + } }; let tracer = tracer_provider.tracer(service_name);