From 795901afc7e794192079a0de5829cda22a57aaa4 Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Thu, 14 May 2020 10:30:08 -0400 Subject: [PATCH 1/2] Fix edge case where dd-trace context had parent source as Xray, when trace merging was disabled --- datadog_lambda/tracing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datadog_lambda/tracing.py b/datadog_lambda/tracing.py index d62cad37..4e875b76 100644 --- a/datadog_lambda/tracing.py +++ b/datadog_lambda/tracing.py @@ -234,7 +234,7 @@ def set_dd_trace_py_root(trace_context, merge_xray_traces): def create_function_execution_span( - context, function_name, is_cold_start, trace_context + context, function_name, is_cold_start, trace_context, merge_xray_traces ): tags = {} if context: @@ -246,7 +246,7 @@ def create_function_execution_span( "resource_names": context.function_name, } source = trace_context["source"] - if source != TraceContextSource.DDTRACE: + if source == TraceContextSource.XRAY and merge_xray_traces: tags["_dd.parent_source"] = source args = { From 601835241a3a85930b5a175f52b977684e0bdfdf Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Thu, 14 May 2020 10:50:56 -0400 Subject: [PATCH 2/2] Fix create_function_execution_span call site --- datadog_lambda/wrapper.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/datadog_lambda/wrapper.py b/datadog_lambda/wrapper.py index cd074ae4..7ddb4340 100644 --- a/datadog_lambda/wrapper.py +++ b/datadog_lambda/wrapper.py @@ -122,7 +122,11 @@ def _before(self, event, context): if dd_tracing_enabled: set_dd_trace_py_root(dd_context, self.merge_xray_traces) self.span = create_function_execution_span( - context, self.function_name, is_cold_start(), dd_context + context, + self.function_name, + is_cold_start(), + dd_context, + self.merge_xray_traces, ) else: set_correlation_ids()