Skip to content

Commit e9d26ec

Browse files
committed
Update with PR feedback
1 parent 8bd253d commit e9d26ec

File tree

2 files changed

+13
-22
lines changed

2 files changed

+13
-22
lines changed

datadog_lambda/tracing.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -226,34 +226,29 @@ def is_lambda_context():
226226
return type(xray_recorder.context) == LambdaContext
227227

228228

229-
def create_function_execution_span(
230-
context,
231-
function_name,
232-
handler_name,
233-
is_cold_start,
234-
trace_context,
235-
merge_xray_traces,
236-
):
237-
span_context = None
229+
def set_dd_trace_py_root(trace_context, merge_xray_traces):
238230
if trace_context["source"] == TraceContextSource.EVENT or merge_xray_traces:
239231
headers = get_dd_trace_context()
240232
span_context = propagator.extract(headers)
233+
tracer.context_provider.activate(span_context)
241234

235+
236+
def create_function_execution_span(context, function_name, is_cold_start):
242237
tags = {}
243238
if context:
244239
tags = {
245-
"cold_start": is_cold_start,
240+
"cold_start": str(is_cold_start).lower(),
246241
"function_arn": context.invoked_function_arn,
247242
"request_id": context.aws_request_id,
248243
"resource_names": context.function_name,
249244
}
250245
args = {
251-
"service": function_name,
252-
"resource": handler_name,
246+
"service": "aws.lambda",
247+
"resource": function_name,
253248
"span_type": "serverless",
254-
"child_of": span_context,
255249
}
256-
span = tracer.start_span("aws.lambda", **args)
250+
tracer.set_tags({"_dd.origin": "lambda"})
251+
span = tracer.trace("aws.lambda", **args)
257252
if span:
258253
span.set_tags(tags)
259254
return span

datadog_lambda/wrapper.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
inject_correlation_ids,
2020
dd_tracing_enabled,
2121
set_correlation_ids,
22+
set_dd_trace_py_root,
2223
create_function_execution_span,
2324
)
2425

@@ -85,7 +86,6 @@ def __init__(self, func):
8586
self.merge_xray_traces = (
8687
os.environ.get("DD_MERGE_XRAY_TRACES", "false").lower() == "true"
8788
)
88-
self.handler_name = os.environ.get("_HANDLER", "handler")
8989
self.function_name = os.environ.get("AWS_LAMBDA_FUNCTION_NAME", "function")
9090

9191
# Inject trace correlation ids to logs
@@ -120,15 +120,11 @@ def _before(self, event, context):
120120
dd_context = extract_dd_trace_context(event)
121121

122122
self.span = None
123-
if dd_tracing_enabled:
124123

124+
if dd_tracing_enabled:
125+
set_dd_trace_py_root(dd_context, self.merge_xray_traces)
125126
self.span = create_function_execution_span(
126-
context,
127-
self.function_name,
128-
self.handler_name,
129-
is_cold_start(),
130-
dd_context,
131-
self.merge_xray_traces,
127+
context, self.function_name, is_cold_start()
132128
)
133129
else:
134130
set_correlation_ids()

0 commit comments

Comments
 (0)