From 5575c4f9e68cc1405e6b244dbc6ccb155d0fad49 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 25 Oct 2024 09:58:21 -0700 Subject: [PATCH 1/3] initial commit --- opentelemetry/src/trace/context.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/opentelemetry/src/trace/context.rs b/opentelemetry/src/trace/context.rs index 681c7b2e0c..34b1bfd8ad 100644 --- a/opentelemetry/src/trace/context.rs +++ b/opentelemetry/src/trace/context.rs @@ -55,7 +55,9 @@ impl SpanRef<'_> { if let Some(ref inner) = self.0.inner { match inner.lock() { Ok(mut locked) => f(&mut locked), - Err(err) => global::handle_error(err), + Err(_) => { + // Ignoring the error silently. TODO: Add specific handling if needed. + } } } } From 8c30c47b1a8d8973f0a7ed84492f520ec040a4e4 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 25 Oct 2024 10:15:22 -0700 Subject: [PATCH 2/3] add otel_error --- opentelemetry/src/trace/context.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/opentelemetry/src/trace/context.rs b/opentelemetry/src/trace/context.rs index 34b1bfd8ad..723a525f88 100644 --- a/opentelemetry/src/trace/context.rs +++ b/opentelemetry/src/trace/context.rs @@ -1,6 +1,6 @@ //! Context extensions for tracing use crate::{ - global, + global, otel_debug, trace::{Span, SpanContext, Status}, Context, ContextGuard, KeyValue, }; @@ -55,8 +55,12 @@ impl SpanRef<'_> { if let Some(ref inner) = self.0.inner { match inner.lock() { Ok(mut locked) => f(&mut locked), - Err(_) => { - // Ignoring the error silently. TODO: Add specific handling if needed. + Err(err) => { + otel_debug!( + name: "SpanRef.LockFailed", + message = "Failed to acquire lock for SpanRef: {:?}", + reason = format!("{:?}", err), + span_context = format!("{:?}", self.0.span_context)); } } } From a87c7577c9b1a43413039c9e9e9fac4e31170ba8 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 25 Oct 2024 10:27:34 -0700 Subject: [PATCH 3/3] fix --- opentelemetry/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opentelemetry/Cargo.toml b/opentelemetry/Cargo.toml index 75b6597a57..0a4ef72242 100644 --- a/opentelemetry/Cargo.toml +++ b/opentelemetry/Cargo.toml @@ -26,6 +26,7 @@ futures-sink = "0.3" once_cell = { workspace = true } pin-project-lite = { workspace = true, optional = true } thiserror = { workspace = true } +tracing = {workspace = true, optional = true} # optional for opentelemetry internal logging [target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies] js-sys = "0.3.63" @@ -38,6 +39,7 @@ testing = ["trace", "metrics"] logs = [] logs_level_enabled = ["logs"] otel_unstable = [] +internal-logs = ["tracing"] [dev-dependencies] opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["logs_level_enabled"]} # for documentation tests