From e26a5373a2de7324a98d870d430001a770f790d5 Mon Sep 17 00:00:00 2001 From: botbikamordehai2-sketch Date: Thu, 28 May 2026 09:30:09 +0000 Subject: [PATCH] fix: handle empty request timing lists and complete compute_metrics in get_numbers_sequential (closes #542) --- aios/utils/calculator.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/aios/utils/calculator.py b/aios/utils/calculator.py index 2035a66f..1bc1e427 100644 --- a/aios/utils/calculator.py +++ b/aios/utils/calculator.py @@ -113,6 +113,20 @@ def compute_metrics(data): } return metrics +return { + 'avg': np.mean(data), + 'p90': np.percentile(data, 90), + 'p99': np.percentile(data, 99) + } if len(data) else {'avg': 0.0, 'p90': 0.0, 'p99': 0.0} + + metrics = { + 'agent_waiting_time': compute_metrics(stats['waiting_times']), + 'agent_turnaround_time': compute_metrics(stats['turnaround_times']), + 'request_waiting_time': compute_metrics(stats['request_waiting_times']), + 'request_turnaround_time': compute_metrics(stats['request_turnaround_times']) + } + + return metrics def calculate_improvement(sequential, concurrent):