@@ -134,14 +134,16 @@ def __init__(
134
134
self ,
135
135
tracer ,
136
136
function_name ,
137
- cold_start_span_finish_time_ns ,
137
+ current_span_start_time_ns ,
138
138
trace_ctx ,
139
139
min_duration_ms : int ,
140
- ignored_libs : List [str ] = [] ,
140
+ ignored_libs : List [str ] = None ,
141
141
):
142
+ if ignored_libs is None :
143
+ ignored_libs = []
142
144
self ._tracer = tracer
143
145
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
145
147
self .min_duration_ms = min_duration_ms
146
148
self .trace_ctx = trace_ctx
147
149
self .ignored_libs = ignored_libs
@@ -151,11 +153,12 @@ def trace(self, root_nodes: List[ImportNode] = root_nodes):
151
153
if not root_nodes :
152
154
return
153
155
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 )
154
157
cold_start_span = self .create_cold_start_span (cold_start_span_start_time_ns )
155
158
while root_nodes :
156
159
root_node = root_nodes .pop ()
157
160
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 )
159
162
160
163
def trace_tree (self , import_node : ImportNode , parent_span ):
161
164
if (
0 commit comments