@@ -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
0 commit comments