Skip to content

Commit 05c661f

Browse files
committed
fix: suppression propagation in kafka
Signed-off-by: Varsha GS <[email protected]>
1 parent c245b1c commit 05c661f

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

src/instana/propagators/kafka_propagator.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,26 @@ def inject(
103103
# Suppression `level` made in the child context or in the parent context
104104
# has priority over any non-suppressed `level` setting
105105
suppression_level = int(self.extract_instana_headers(dictionary_carrier)[2])
106-
span_context.level = min(suppression_level, span_context.level)
106+
new_level = min(suppression_level, span_context.level)
107+
108+
if new_level != span_context.level:
109+
# Create a new span context with the updated level
110+
span_context = SpanContext(
111+
trace_id=span_context.trace_id,
112+
span_id=span_context.span_id,
113+
is_remote=span_context.is_remote,
114+
trace_flags=span_context.trace_flags,
115+
trace_state=span_context.trace_state,
116+
level=new_level,
117+
synthetic=span_context.synthetic,
118+
trace_parent=span_context.trace_parent,
119+
instana_ancestor=span_context.instana_ancestor,
120+
long_trace_id=span_context.long_trace_id,
121+
correlation_type=span_context.correlation_type,
122+
correlation_id=span_context.correlation_id,
123+
traceparent=span_context.traceparent,
124+
tracestate=span_context.tracestate
125+
)
107126

108127
def inject_key_value(carrier, key, value):
109128
if isinstance(carrier, list):
@@ -119,9 +138,9 @@ def inject_key_value(carrier, key, value):
119138
inject_key_value(
120139
carrier,
121140
self.KAFKA_HEADER_KEY_L_S,
122-
str(suppression_level).encode("utf-8"),
141+
str(span_context.level).encode("utf-8"),
123142
)
124-
if suppression_level == 1:
143+
if span_context.level == 1:
125144
inject_key_value(
126145
carrier,
127146
self.KAFKA_HEADER_KEY_T,

0 commit comments

Comments
 (0)