1- use opentelemetry:: propagation:: PropagationError ;
21use opentelemetry:: {
3- global :: { self , Error } ,
2+ otel_warn ,
43 propagation:: { text_map_propagator:: FieldIter , Extractor , Injector , TextMapPropagator } ,
5- trace:: { SpanContext , SpanId , TraceContextExt , TraceError , TraceFlags , TraceId , TraceState } ,
4+ trace:: { SpanContext , SpanId , TraceContextExt , TraceFlags , TraceId , TraceState } ,
65 Context ,
76} ;
87use std:: borrow:: Cow ;
@@ -82,10 +81,11 @@ impl Propagator {
8281
8382 let parts = header_value. split_terminator ( ':' ) . collect :: < Vec < & str > > ( ) ;
8483 if parts. len ( ) != 4 {
85- global:: handle_error ( Error :: Propagation ( PropagationError :: extract (
86- "invalid jaeger header format" ,
87- "JaegerPropagator" ,
88- ) ) ) ;
84+ otel_warn ! (
85+ name: "JaegerPropagator.InvalidHeader" ,
86+ message = "Invalid jaeger header format" ,
87+ header_value = header_value. to_string( ) ,
88+ ) ;
8989 return None ;
9090 }
9191
@@ -100,10 +100,11 @@ impl Propagator {
100100 Some ( SpanContext :: new ( trace_id, span_id, flags, true , state) )
101101 }
102102 _ => {
103- global:: handle_error ( Error :: Propagation ( PropagationError :: extract (
104- "invalid jaeger header format" ,
105- "JaegerPropagator" ,
106- ) ) ) ;
103+ otel_warn ! (
104+ name: "JaegerPropagator.InvalidHeader" ,
105+ message = "Invalid jaeger header format" ,
106+ header_value = header_value. to_string( ) ,
107+ ) ;
107108 None
108109 }
109110 }
@@ -171,7 +172,11 @@ impl Propagator {
171172 match TraceState :: from_key_value ( baggage_keys) {
172173 Ok ( trace_state) => Ok ( trace_state) ,
173174 Err ( trace_state_err) => {
174- global:: handle_error ( Error :: Trace ( TraceError :: Other ( Box :: new ( trace_state_err) ) ) ) ;
175+ otel_warn ! (
176+ name: "JaegerPropagator.InvalidTraceState" ,
177+ message = "Invalid trace state" ,
178+ reason = format!( "{:?}" , trace_state_err) ,
179+ ) ;
175180 Err ( ( ) ) //todo: assign an error type instead of using ()
176181 }
177182 }
0 commit comments