1111import threading
1212
1313from cozeloop .internal .trace .exporter import *
14- from cozeloop .internal .trace .model .model import FinishEventInfo , QueueConf
14+ from cozeloop .internal .trace .model .model import FinishEventInfo , QueueConf , FinishEventInfoExtra
1515from cozeloop .internal .trace .queue_manager import BatchQueueManager , BatchQueueManagerOptions , QUEUE_NAME_FILE_RETRY , \
1616 QUEUE_NAME_FILE , QUEUE_NAME_SPAN_RETRY , QUEUE_NAME_SPAN
1717from cozeloop .internal .trace .span import Span
@@ -159,7 +159,9 @@ def export_func(ctx: dict, items: List[Any]):
159159
160160 is_fail = False
161161 err_msg = ""
162+ before = time .perf_counter ()
162163 is_pass , msg = exporter .export_spans (ctx , upload_spans )
164+ elapsed_time_ms = (time .perf_counter () - before ) * 1000
163165 if not is_pass :
164166 if span_retry_queue :
165167 for span in spans :
@@ -178,6 +180,9 @@ def export_func(ctx: dict, items: List[Any]):
178180 is_event_fail = is_fail ,
179181 item_num = len (spans ),
180182 detail_msg = err_msg ,
183+ extra_params = FinishEventInfoExtra (
184+ latency_ms = int (elapsed_time_ms )
185+ )
181186 ))
182187
183188 return export_func
@@ -193,7 +198,9 @@ def export_func(ctx: dict, items: List[Any]):
193198
194199 is_fail = False
195200 err_msg = ""
201+ before = time .perf_counter ()
196202 is_pass , msg = exporter .export_files (ctx , files )
203+ elapsed_time_ms = (time .perf_counter () - before ) * 1000
197204 if not is_pass :
198205 if file_retry_queue :
199206 for file in files :
@@ -208,6 +215,9 @@ def export_func(ctx: dict, items: List[Any]):
208215 is_event_fail = is_fail ,
209216 item_num = len (files ),
210217 detail_msg = err_msg ,
218+ extra_params = FinishEventInfoExtra (
219+ latency_ms = int (elapsed_time_ms )
220+ )
211221 ))
212222
213223 return export_func
0 commit comments