Skip to content

Commit 5abbe23

Browse files
committed
modify endtime of lambda load span to be the last cold start node endtime
1 parent 411b29f commit 5abbe23

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

datadog_lambda/cold_start.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,16 @@ def __init__(
134134
self,
135135
tracer,
136136
function_name,
137-
cold_start_span_finish_time_ns,
137+
current_span_start_time_ns,
138138
trace_ctx,
139139
min_duration_ms: int,
140-
ignored_libs: List[str] = [],
140+
ignored_libs: List[str] = None,
141141
):
142+
if ignored_libs is None:
143+
ignored_libs = []
142144
self._tracer = tracer
143145
self.function_name = function_name
144-
self.cold_start_span_finish_time_ns = cold_start_span_finish_time_ns
146+
self.current_span_start_time_ns = current_span_start_time_ns
145147
self.min_duration_ms = min_duration_ms
146148
self.trace_ctx = trace_ctx
147149
self.ignored_libs = ignored_libs
@@ -151,11 +153,12 @@ def trace(self, root_nodes: List[ImportNode] = root_nodes):
151153
if not root_nodes:
152154
return
153155
cold_start_span_start_time_ns = root_nodes[0].start_time_ns
156+
cold_start_span_end_time_ns = min(root_nodes[-1].end_time_ns, self.current_span_start_time_ns)
154157
cold_start_span = self.create_cold_start_span(cold_start_span_start_time_ns)
155158
while root_nodes:
156159
root_node = root_nodes.pop()
157160
self.trace_tree(root_node, cold_start_span)
158-
self.finish_span(cold_start_span, self.cold_start_span_finish_time_ns)
161+
self.finish_span(cold_start_span, cold_start_span_end_time_ns)
159162

160163
def trace_tree(self, import_node: ImportNode, parent_span):
161164
if (

0 commit comments

Comments
 (0)