From 9ddba91b8e0d4d49a41451d93e2e431c7b1380e0 Mon Sep 17 00:00:00 2001 From: Lalit Date: Fri, 25 Oct 2024 09:44:49 -0700 Subject: [PATCH 1/3] remove propagator error --- opentelemetry-sdk/src/propagation/baggage.rs | 29 +++++++++--------- opentelemetry/src/propagation/mod.rs | 31 -------------------- 2 files changed, 15 insertions(+), 45 deletions(-) diff --git a/opentelemetry-sdk/src/propagation/baggage.rs b/opentelemetry-sdk/src/propagation/baggage.rs index 397edc3fc9..c319c549ab 100644 --- a/opentelemetry-sdk/src/propagation/baggage.rs +++ b/opentelemetry-sdk/src/propagation/baggage.rs @@ -1,8 +1,7 @@ use once_cell::sync::Lazy; -use opentelemetry::propagation::PropagationError; use opentelemetry::{ baggage::{BaggageExt, KeyValueMetadata}, - global, + otel_error, propagation::{text_map_propagator::FieldIter, Extractor, Injector, TextMapPropagator}, Context, }; @@ -120,24 +119,26 @@ impl TextMapPropagator for BaggagePropagator { decoded_props.as_str(), )) } else { - global::handle_error(PropagationError::extract( - "invalid UTF8 string in key values", - "BaggagePropagator", - )); + otel_error!( + name: "BaggagePropagator.Extract.InvalidUTF8", + message = "Invalid UTF8 string in key values", + baggage_header = header_value, + ); None } } else { - global::handle_error(PropagationError::extract( - "invalid baggage key-value format", - "BaggagePropagator", - )); + otel_error!( + name: "BaggagePropagator.Extract.InvalidKeyValueFormat", + message = "Invalid baggage key-value format", + baggage_header = header_value, + ); None } } else { - global::handle_error(PropagationError::extract( - "invalid baggage format", - "BaggagePropagator", - )); + otel_error!( + name: "BaggagePropagator.Extract.InvalidFormat", + message = "Invalid baggage format", + baggage_header = header_value); None } }); diff --git a/opentelemetry/src/propagation/mod.rs b/opentelemetry/src/propagation/mod.rs index 35005f881a..9c85936b0f 100644 --- a/opentelemetry/src/propagation/mod.rs +++ b/opentelemetry/src/propagation/mod.rs @@ -62,37 +62,6 @@ impl Extractor for HashMap { } } -/// Error when extracting or injecting context data(i.e propagating) across application boundaries. -#[derive(Error, Debug)] -#[error("Cannot {} from {}, {}", ops, message, propagator_name)] -pub struct PropagationError { - message: &'static str, - // which propagator does this error comes from - propagator_name: &'static str, - // are we extracting or injecting information across application boundaries - ops: &'static str, -} - -impl PropagationError { - /// Error happens when extracting information - pub fn extract(message: &'static str, propagator_name: &'static str) -> Self { - PropagationError { - message, - propagator_name, - ops: "extract", - } - } - - /// Error happens when extracting information - pub fn inject(message: &'static str, propagator_name: &'static str) -> Self { - PropagationError { - message, - propagator_name, - ops: "inject", - } - } -} - #[cfg(test)] mod tests { use super::*; From de933f9227e384057b086e86b7c32d7e63b16a6b Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Sat, 26 Oct 2024 12:35:41 -0700 Subject: [PATCH 2/3] use otel_warn --- opentelemetry-sdk/src/propagation/baggage.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/opentelemetry-sdk/src/propagation/baggage.rs b/opentelemetry-sdk/src/propagation/baggage.rs index c319c549ab..35567b4b4b 100644 --- a/opentelemetry-sdk/src/propagation/baggage.rs +++ b/opentelemetry-sdk/src/propagation/baggage.rs @@ -1,7 +1,7 @@ use once_cell::sync::Lazy; use opentelemetry::{ baggage::{BaggageExt, KeyValueMetadata}, - otel_error, + otel_warn, propagation::{text_map_propagator::FieldIter, Extractor, Injector, TextMapPropagator}, Context, }; @@ -119,7 +119,7 @@ impl TextMapPropagator for BaggagePropagator { decoded_props.as_str(), )) } else { - otel_error!( + otel_warn!( name: "BaggagePropagator.Extract.InvalidUTF8", message = "Invalid UTF8 string in key values", baggage_header = header_value, @@ -127,7 +127,7 @@ impl TextMapPropagator for BaggagePropagator { None } } else { - otel_error!( + otel_warn!( name: "BaggagePropagator.Extract.InvalidKeyValueFormat", message = "Invalid baggage key-value format", baggage_header = header_value, @@ -135,7 +135,7 @@ impl TextMapPropagator for BaggagePropagator { None } } else { - otel_error!( + otel_warn!( name: "BaggagePropagator.Extract.InvalidFormat", message = "Invalid baggage format", baggage_header = header_value); From f83c1dd7ee57000a4734454519b333e18e236a91 Mon Sep 17 00:00:00 2001 From: Lalit Date: Sat, 26 Oct 2024 12:55:12 -0700 Subject: [PATCH 3/3] bring back PropagationError, will cleanup separately --- opentelemetry/src/propagation/mod.rs | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/opentelemetry/src/propagation/mod.rs b/opentelemetry/src/propagation/mod.rs index 9c85936b0f..35005f881a 100644 --- a/opentelemetry/src/propagation/mod.rs +++ b/opentelemetry/src/propagation/mod.rs @@ -62,6 +62,37 @@ impl Extractor for HashMap { } } +/// Error when extracting or injecting context data(i.e propagating) across application boundaries. +#[derive(Error, Debug)] +#[error("Cannot {} from {}, {}", ops, message, propagator_name)] +pub struct PropagationError { + message: &'static str, + // which propagator does this error comes from + propagator_name: &'static str, + // are we extracting or injecting information across application boundaries + ops: &'static str, +} + +impl PropagationError { + /// Error happens when extracting information + pub fn extract(message: &'static str, propagator_name: &'static str) -> Self { + PropagationError { + message, + propagator_name, + ops: "extract", + } + } + + /// Error happens when extracting information + pub fn inject(message: &'static str, propagator_name: &'static str) -> Self { + PropagationError { + message, + propagator_name, + ops: "inject", + } + } +} + #[cfg(test)] mod tests { use super::*;