Skip to content

Commit ed6bc93

Browse files
committed
Fix rw.environment.get('ID') bug
1 parent 33fbce2 commit ed6bc93

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

src/workflows/recipe/__init__.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -73,46 +73,46 @@ def unwrap_recipe(header, message):
7373
if header.get("workflows-recipe") in {True, "True", "true", 1}:
7474
otel_logs = None
7575
rw = RecipeWrapper(message=message, transport=transport_layer)
76-
77-
# Extract recipe ID from environment and add to current span
78-
span = trace.get_current_span()
79-
recipe_id = rw.environment.get("ID")
80-
81-
if recipe_id:
82-
span.set_attribute("recipe_id", recipe_id)
83-
84-
# Extract span_id and trace_id for logging
85-
span_context = span.get_span_context()
86-
if span_context and span_context.is_valid:
87-
span_id = span_context.span_id
88-
trace_id = span_context.trace_id
89-
90-
otel_logs = {
91-
"span_id": span_id,
92-
"trace_id": trace_id,
93-
}
76+
if rw.environment.get("ID"):
77+
# Extract recipe ID from environment and add to current span
78+
span = trace.get_current_span()
79+
recipe_id = rw.environment.get("ID")
9480

9581
if recipe_id:
96-
otel_logs["recipe_id"] = recipe_id
97-
98-
with ExitStack() as stack:
99-
# Configure the context depending on if service is emitting spans
100-
if (
101-
otel_logs
102-
and log_extender
103-
and rw.environment
104-
and rw.environment.get("ID")
105-
):
106-
stack.enter_context(
107-
log_extender("recipe_ID", rw.environment.get("ID"))
108-
)
109-
stack.enter_context(log_extender("otel_logs", otel_logs))
110-
elif log_extender and rw.environment and rw.environment.get("ID"):
111-
stack.enter_context(
112-
log_extender("recipe_ID", rw.environment.get("ID"))
113-
)
114-
115-
return callback(rw, header, message.get("payload"))
82+
span.set_attribute("recipe_id", recipe_id)
83+
84+
# Extract span_id and trace_id for logging
85+
span_context = span.get_span_context()
86+
if span_context and span_context.is_valid:
87+
span_id = span_context.span_id
88+
trace_id = span_context.trace_id
89+
90+
otel_logs = {
91+
"span_id": span_id,
92+
"trace_id": trace_id,
93+
}
94+
95+
if recipe_id:
96+
otel_logs["recipe_id"] = recipe_id
97+
98+
with ExitStack() as stack:
99+
# Configure the context depending on if service is emitting spans
100+
if (
101+
otel_logs
102+
and log_extender
103+
and rw.environment
104+
and rw.environment.get("ID")
105+
):
106+
stack.enter_context(
107+
log_extender("recipe_ID", rw.environment.get("ID"))
108+
)
109+
stack.enter_context(log_extender("otel_logs", otel_logs))
110+
elif log_extender and rw.environment and rw.environment.get("ID"):
111+
stack.enter_context(
112+
log_extender("recipe_ID", rw.environment.get("ID"))
113+
)
114+
115+
return callback(rw, header, message.get("payload"))
116116

117117
if allow_non_recipe_messages:
118118
return callback(None, header, message)

0 commit comments

Comments
 (0)