@@ -36,35 +36,36 @@ class TracerMiddleware(BaseTransportMiddleware):
3636 def __init__ (self , service_name : str ):
3737 self .service_name = service_name
3838
39- def _get_trace_context (self , message ):
40- """If a trace context exists in the recipe wrapper's environment, get it """
39+ def _extract_trace_context (self , message ):
40+ """Retrieves span context from message """
4141 try :
42- #carrier = message['environment']['trace_context']
4342 carrier = message ['trace_context' ]
4443 ctx = TraceContextTextMapPropagator ().extract (carrier = carrier )
44+ print (f"Extracting { ctx } " )
4545 return ctx
4646 except KeyError :
47+ print (f"Extracted nothing" )
4748 return {}
4849
49- def subscribe (self , call_next : Callable , channel , callback , ** kwargs ) -> int :
50- print (f"call_next: { call_next } , channel: { channel } , callback: { callback } , kwargs: { kwargs } " )
50+ def _inject_trace_context (self , message ):
51+ """Inserts trace context into message"""
52+ carrier = {}
53+ TraceContextTextMapPropagator ().inject (carrier )
54+ message ['trace_context' ] = carrier
55+ print (f"injecting { carrier } " )
56+
5157
58+ def subscribe (self , call_next : Callable , channel , callback , ** kwargs ) -> int :
5259 @functools .wraps (callback )
5360 def wrapped_callback (header , message ):
54- print (f"wrapped_callback header: { header } , message: { message } " )
55-
56- ctx = self ._get_trace_context (message )
61+ ctx = self ._extract_trace_context (message )
5762 with tracer .start_as_current_span (self .service_name , context = ctx ) as span :
5863 if ctx == {}:
59- print ("inserting trace_context into message" )
60- message ['trace_context' ] = "foo"
64+ self ._inject_trace_context (message )
6165 return callback (header , message )
6266
6367 return call_next (channel , wrapped_callback , ** kwargs )
6468
6569 def send (self , call_next : Callable , destination , message , ** kwargs ):
66- carrier = {}
67- TraceContextTextMapPropagator ().inject (carrier )
68- message ['trace_context' ] = carrier
69-
70+ self ._inject_trace_context (message )
7071 call_next (destination , message , ** kwargs )
0 commit comments