@@ -70,13 +70,19 @@ def unwrap_recipe(header, message):
7070 message = mangle_for_receiving (message )
7171 if header .get ("workflows-recipe" ) in {True , "True" , "true" , 1 }:
7272 rw = RecipeWrapper (message = message , transport = transport_layer )
73- print (rw )
74- logger .log (1 , rw )
73+ logger .debug ("RecipeWrapper created: %s" , rw )
7574
76- # Extract and set DCID on the current span
75+ # Extract and set DCID and recipe_id on the current span
7776 span = trace .get_current_span ()
7877 dcid = None
78+ recipe_id = None
7979
80+ # Extract recipe ID from environment
81+ if isinstance (message , dict ):
82+ environment = message .get ("environment" , {})
83+ if isinstance (environment , dict ):
84+ recipe_id = environment .get ("ID" )
85+
8086 # Try multiple locations where DCID might be stored
8187 top_level_params = {}
8288 if isinstance (message , dict ):
@@ -103,18 +109,28 @@ def unwrap_recipe(header, message):
103109 span .set_attribute ("dcid" , dcid )
104110 span .add_event ("recipe.dcid_extracted" , attributes = {"dcid" : dcid })
105111
112+ if recipe_id :
113+ span .set_attribute ("recipe_id" , recipe_id )
114+ span .add_event ("recipe.id_extracted" , attributes = {"recipe_id" : recipe_id })
115+
106116 # Extract span_id and trace_id for logging
107117 span_context = span .get_span_context ()
108- if span_context .is_valid :
118+ if span_context and span_context .is_valid :
109119 span_id = format (span_context .span_id , '016x' )
110120 trace_id = format (span_context .trace_id , '032x' )
111121
122+ log_extra = {
123+ "span_id" : span_id ,
124+ "trace_id" : trace_id ,
125+ }
126+ if dcid :
127+ log_extra ["dcid" ] = dcid
128+ if recipe_id :
129+ log_extra ["recipe_id" ] = recipe_id
130+
112131 logger .info (
113132 "Processing recipe message" ,
114- extra = {
115- "span_id" : span_id ,
116- "trace_id" : trace_id ,
117- }
133+ extra = log_extra
118134 )
119135
120136 if log_extender and rw .environment and rw .environment .get ("ID" ):
0 commit comments