Skip to content

Commit f7cc658

Browse files
committed
Add recipe_id to spans
1 parent cc9ee12 commit f7cc658

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

src/workflows/recipe/__init__.py

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)