@@ -229,12 +229,15 @@ def run_master(iterations, target_module, cpu=0, csv_path=None, clear_cache=True
229229 rss_memories , p50_rss , p90_rss , p99_rss
230230 )
231231
232+ exit_code = 0
233+ final_messages = []
234+
232235 if fail_threshold is not None :
233236 if p99_time > fail_threshold :
234- print (f"\n FAILURE : P99 import time ({ p99_time :.2f} ms) exceeds the failure threshold ({ fail_threshold } ms)." , file = sys . stderr )
235- sys . exit ( 1 )
237+ final_messages . append (f"FAILURE : P99 import time ({ p99_time :.2f} ms) exceeds the failure threshold ({ fail_threshold } ms)." )
238+ exit_code = 1
236239 else :
237- print (f"\n SUCCESS : P99 import time ({ p99_time :.2f} ms) is within the failure threshold ({ fail_threshold } ms)." )
240+ final_messages . append (f"SUCCESS : P99 import time ({ p99_time :.2f} ms) is within the failure threshold ({ fail_threshold } ms)." )
238241
239242 if diff_baseline :
240243 if os .path .exists (diff_baseline ):
@@ -246,18 +249,32 @@ def run_master(iterations, target_module, cpu=0, csv_path=None, clear_cache=True
246249 baseline_times .append (float (row [1 ]))
247250 _ , _ , baseline_p99 = _calculate_percentiles (baseline_times )
248251 diff = p99_time - baseline_p99
249- print ("\n --- Diff vs Baseline ---" )
250- print (f"Baseline P99: { baseline_p99 :.2f} ms" )
251- print (f"Current P99: { p99_time :.2f} ms" )
252- print (f"Difference: { diff :+.2f} ms" )
252+
253+ diff_msg = (
254+ f"--- Diff vs Baseline ---\n "
255+ f"Baseline P99: { baseline_p99 :.2f} ms\n "
256+ f"Current P99: { p99_time :.2f} ms\n "
257+ f"Difference: { diff :+.2f} ms"
258+ )
259+ final_messages .append (diff_msg )
253260
254261 if diff > diff_threshold :
255- print (f"FAILURE: Import time regression of { diff :.2f} ms exceeds the allowed threshold of { diff_threshold } ms." , file = sys . stderr )
256- sys . exit ( 1 )
262+ final_messages . append (f"FAILURE: Import time regression of { diff :.2f} ms exceeds the allowed threshold of { diff_threshold } ms." )
263+ exit_code = 1
257264 else :
258- print ("SUCCESS: Import time diff is within acceptable thresholds." )
265+ final_messages . append ("SUCCESS: Import time diff is within acceptable thresholds." )
259266 else :
260- print (f"WARNING: Baseline CSV { diff_baseline } not found. Skipping diff check." )
267+ final_messages .append (f"WARNING: Baseline CSV { diff_baseline } not found. Skipping diff check." )
268+
269+ if final_messages :
270+ print ("\n " + "\n " .join (final_messages ))
271+
272+ if exit_code == 0 :
273+ print ("\n Session import_profiler was successful." )
274+ sys .exit (0 )
275+ else :
276+ print ("\n Session import_profiler was failed." )
277+ sys .exit (1 )
261278
262279
263280def run_trace (target_module ):
0 commit comments