From 68831c37d28d5a088238093da66f28ef5ed9e1ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 23:23:15 +0000 Subject: [PATCH 1/7] Bump the otel group across 1 directory with 4 updates Updates the requirements on [opentelemetry](https://github.com/open-telemetry/opentelemetry-rust), [opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust), [opentelemetry_sdk](https://github.com/open-telemetry/opentelemetry-rust) and [tracing-opentelemetry](https://github.com/tokio-rs/tracing-opentelemetry) to permit the latest version. Updates `opentelemetry` to 0.24.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-0.23.0...opentelemetry-0.24.0) Updates `opentelemetry-otlp` to 0.17.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-otlp-0.16.0...opentelemetry-otlp-0.17.0) Updates `opentelemetry_sdk` to 0.24.1 - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-0.23.0...opentelemetry_sdk-0.24.1) Updates `tracing-opentelemetry` to 0.25.0 - [Release notes](https://github.com/tokio-rs/tracing-opentelemetry/releases) - [Changelog](https://github.com/tokio-rs/tracing-opentelemetry/blob/v0.1.x/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/tracing-opentelemetry/compare/v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: opentelemetry dependency-type: direct:production dependency-group: otel - dependency-name: opentelemetry-otlp dependency-type: direct:production dependency-group: otel - dependency-name: opentelemetry_sdk dependency-type: direct:production dependency-group: otel - dependency-name: tracing-opentelemetry dependency-type: direct:production dependency-group: otel ... Signed-off-by: dependabot[bot] --- Cargo.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 285c681..81f91b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,12 +37,12 @@ required-features = ["json-logger"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -opentelemetry = {version = "0.23", optional = true} -opentelemetry-otlp = {version = "0.16", features = ["http-proto", "reqwest-client"], default-features = false, optional = true} -opentelemetry_sdk = {version = "0.23", features = ["rt-tokio"], optional = true} +opentelemetry = {version = "0.24", optional = true} +opentelemetry-otlp = {version = "0.17", features = ["http-proto", "reqwest-client"], default-features = false, optional = true} +opentelemetry_sdk = {version = "0.24", features = ["rt-tokio"], optional = true} tracing = {version = "0.1", features = ["max_level_debug", "release_max_level_info"]} tracing-log = {version = "0.2"} -tracing-opentelemetry = {version = "0.24", optional = true} +tracing-opentelemetry = {version = "0.25", optional = true} tracing-subscriber = {version = "0.3", features = ["env-filter"]} # serialization/deserialization From ed8d20e902b892ace33116c75a26f7c7b9efa42e Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Mon, 22 Jul 2024 16:31:10 +0100 Subject: [PATCH 2/7] Adapt to changes in opentelemetry-otlp 0.17 See https://github.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-otlp/CHANGELOG.md#v0170 --- src/telemetry.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/telemetry.rs b/src/telemetry.rs index 4fc8aca..f280858 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -1,3 +1,5 @@ +use opentelemetry::global; +use opentelemetry::trace::TracerProvider; use opentelemetry::KeyValue; use opentelemetry_otlp::WithExportConfig; use opentelemetry_sdk::{ @@ -55,12 +57,19 @@ pub fn configure(config: &SubscriberConfig) -> Tracer { KeyValue::new("service.name", telemetry.service_name.clone()), ]); - opentelemetry_otlp::new_pipeline() + let tracer_provider = opentelemetry_otlp::new_pipeline() .tracing() .with_exporter(otlp_exporter) - .with_trace_config(trace::config().with_resource(resource)) + .with_trace_config(trace::Config::default().with_resource(resource)) .install_batch(runtime) - .expect("Failed to configure the OpenTelemetry tracer") + .expect("Failed to configure the OpenTelemetry tracer provider"); + + global::set_tracer_provider(tracer_provider.clone()); + + tracer_provider + .tracer_builder("prima-tracing") + .with_version(env!("CARGO_PKG_VERSION")) + .build() } #[cfg(test)] From a8f10c5cb9ad0645e20de4380ee3941f48761749 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Mon, 22 Jul 2024 19:29:26 +0100 Subject: [PATCH 3/7] Update docker-compose.yml --- docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 754a7df..4b6c05e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3" - services: app: user: root @@ -27,6 +25,7 @@ services: jaeger: image: jaegertracing/all-in-one:1.35 ports: + - "16685:16685" - "16686:16686" - "55681:55681" environment: From 58dd8bc34ff99ebb746afa389ba18a632fb2fd76 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Mon, 22 Jul 2024 19:30:54 +0100 Subject: [PATCH 4/7] Use uuid library instead of reading from /proc --- Cargo.toml | 1 + tests/e2e/mod.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 81f91b8..5e10daa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,3 +60,4 @@ opentelemetry-jaeger = {version = "0.22", features = ["integration_test"]} prima_bridge = "0.16" tokio = {version = "1.17", features = ["rt", "macros", "rt-multi-thread"]} tracing-actix-web = {version = "0.7.11", features = ["opentelemetry_0_23"]} +uuid = {version = "1.10", features = ["v4"]} diff --git a/tests/e2e/mod.rs b/tests/e2e/mod.rs index 10d59b1..bf29727 100644 --- a/tests/e2e/mod.rs +++ b/tests/e2e/mod.rs @@ -9,7 +9,7 @@ async fn get_spans(f: impl FnOnce(), collector_url: &str) -> Option> { std::env::set_var("RUST_LOG", "info"); // Unique id for this test run - let seed = std::fs::read_to_string("/proc/sys/kernel/random/uuid").unwrap(); + let seed = uuid::Uuid::new_v4(); let service_name = format!("e2e-test-{seed}"); let query_api_url = "http://jaeger:16685/"; @@ -125,7 +125,7 @@ async fn error_layer_enrich_errored_spans() { std::env::set_var("RUST_LOG", "info"); // Unique id for this test run - let seed = std::fs::read_to_string("/proc/sys/kernel/random/uuid").unwrap(); + let seed = uuid::Uuid::new_v4(); let service_name = format!("e2e-test-{seed}"); let query_api_url = "http://jaeger:16685/"; From a82eb10d005549b50a03a7eab05e411468ff6cff Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Mon, 22 Jul 2024 19:32:02 +0100 Subject: [PATCH 5/7] Workaround: add sleep calls AFAICT this is now needed because of https://github.com/open-telemetry/opentelemetry-rust/pull/1830 (mentioned in https://github.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-sdk/CHANGELOG.md#v0240) Replacing install_batch with install_simple also works. --- tests/e2e/mod.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/e2e/mod.rs b/tests/e2e/mod.rs index bf29727..8c8a945 100644 --- a/tests/e2e/mod.rs +++ b/tests/e2e/mod.rs @@ -27,6 +27,8 @@ async fn get_spans(f: impl FnOnce(), collector_url: &str) -> Option> { f() } + std::thread::sleep(std::time::Duration::from_secs(10)); + let mut client = JaegerTestClient::new(query_api_url); if !client.contain_service(&service_name).await { @@ -152,6 +154,8 @@ async fn error_layer_enrich_errored_spans() { }); }; + std::thread::sleep(std::time::Duration::from_secs(10)); + let mut client = JaegerTestClient::new(query_api_url); let spans = if !client.contain_service(&service_name).await { From 6ec79a429fb5c4b0329104ad5a1c78f016c18d36 Mon Sep 17 00:00:00 2001 From: mae <26093674+MaeIsBad@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:43:13 +0200 Subject: [PATCH 6/7] Update CHANGELOG --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0def39..735e091 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to ## [Unreleased] +### Updated + +- Bumped opentelemetry version to 0.24 + --- ## [0.10.0] - 2024-07-08 From 461fc9631b4f9dda788ee1840765fe2c54a105b0 Mon Sep 17 00:00:00 2001 From: mae <26093674+MaeIsBad@users.noreply.github.com> Date: Wed, 24 Jul 2024 16:18:09 +0200 Subject: [PATCH 7/7] Bump --- CHANGELOG.md | 8 +++++++- Cargo.toml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 735e091..f12a47b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to ## [Unreleased] +--- + +## [0.11.0] - 2024-07-24 + ### Updated - Bumped opentelemetry version to 0.24 @@ -226,7 +230,9 @@ jaeger: ``` -[Unreleased]: https://github.com/primait/prima_tracing.rs/compare/0.10.0...HEAD + +[Unreleased]: https://github.com/primait/prima_tracing.rs/compare/0.11.0...HEAD +[0.11.0]: https://github.com/primait/prima_tracing.rs/compare/0.10.0...0.11.0 [0.10.0]: https://github.com/primait/prima_tracing.rs/compare/0.9.5...0.10.0 [0.9.4]: https://github.com/primait/prima_tracing.rs/compare/0.9.3...0.9.4 [0.9.3]: https://github.com/primait/prima_tracing.rs/compare/0.9.2...0.9.3 diff --git a/Cargo.toml b/Cargo.toml index 5e10daa..adcf0b6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" name = "prima-tracing" readme = "README.md" repository = "https://github.com/primait/prima_tracing.rs" -version = "0.10.0" +version = "0.11.0" [features] default = []