badaoui HF Staff commited on
Commit
7d1ca37
·
1 Parent(s): ee5b772

fix failure rates calculation in history view

Browse files
Files changed (1) hide show
  1. time_series_gradio.py +39 -10
time_series_gradio.py CHANGED
@@ -152,17 +152,46 @@ def create_time_series_summary_gradio(historical_df: pd.DataFrame) -> dict:
152
  for date in dates:
153
  date_data = historical_df[historical_df['date'] == date]
154
 
155
- amd_passed = date_data['success_amd'].sum() if 'success_amd' in date_data.columns else 0
156
- amd_failed = (date_data['failed_multi_no_amd'].sum() + date_data['failed_single_no_amd'].sum()) if 'failed_multi_no_amd' in date_data.columns else 0
157
- amd_skipped = date_data['skipped_amd'].sum() if 'skipped_amd' in date_data.columns else 0
158
- amd_total = amd_passed + amd_failed + amd_skipped
159
- amd_failure_rate = (amd_failed / amd_total * 100) if amd_total > 0 else 0
 
 
 
 
 
 
 
160
 
161
- nvidia_passed = date_data['success_nvidia'].sum() if 'success_nvidia' in date_data.columns else 0
162
- nvidia_failed = (date_data['failed_multi_no_nvidia'].sum() + date_data['failed_single_no_nvidia'].sum()) if 'failed_multi_no_nvidia' in date_data.columns else 0
163
- nvidia_skipped = date_data['skipped_nvidia'].sum() if 'skipped_nvidia' in date_data.columns else 0
164
- nvidia_total = nvidia_passed + nvidia_failed + nvidia_skipped
165
- nvidia_failure_rate = (nvidia_failed / nvidia_total * 100) if nvidia_total > 0 else 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
 
167
  daily_stats.append({
168
  'date': date,
 
152
  for date in dates:
153
  date_data = historical_df[historical_df['date'] == date]
154
 
155
+ # Calculate failure rates using the same logic as summary_page.py
156
+ # This includes ERROR tests in failures and excludes SKIPPED from total
157
+ total_amd_tests = 0
158
+ total_amd_failures = 0
159
+ total_nvidia_tests = 0
160
+ total_nvidia_failures = 0
161
+ amd_passed = 0
162
+ amd_failed = 0
163
+ amd_skipped = 0
164
+ nvidia_passed = 0
165
+ nvidia_failed = 0
166
+ nvidia_skipped = 0
167
 
168
+ for _, row in date_data.iterrows():
169
+ amd_stats, nvidia_stats = extract_model_data(row)[:2]
170
+
171
+ # AMD (matching summary_page.py logic: failed + error, excluding skipped)
172
+ amd_total = amd_stats['passed'] + amd_stats['failed'] + amd_stats['error']
173
+ if amd_total > 0:
174
+ total_amd_tests += amd_total
175
+ total_amd_failures += amd_stats['failed'] + amd_stats['error']
176
+
177
+ # For test counts graphs (these still use the old logic with skipped)
178
+ amd_passed += amd_stats['passed']
179
+ amd_failed += amd_stats['failed'] + amd_stats['error']
180
+ amd_skipped += amd_stats['skipped']
181
+
182
+ # NVIDIA (matching summary_page.py logic: failed + error, excluding skipped)
183
+ nvidia_total = nvidia_stats['passed'] + nvidia_stats['failed'] + nvidia_stats['error']
184
+ if nvidia_total > 0:
185
+ total_nvidia_tests += nvidia_total
186
+ total_nvidia_failures += nvidia_stats['failed'] + nvidia_stats['error']
187
+
188
+ # For test counts graphs (these still use the old logic with skipped)
189
+ nvidia_passed += nvidia_stats['passed']
190
+ nvidia_failed += nvidia_stats['failed'] + nvidia_stats['error']
191
+ nvidia_skipped += nvidia_stats['skipped']
192
+
193
+ amd_failure_rate = (total_amd_failures / total_amd_tests * 100) if total_amd_tests > 0 else 0
194
+ nvidia_failure_rate = (total_nvidia_failures / total_nvidia_tests * 100) if total_nvidia_tests > 0 else 0
195
 
196
  daily_stats.append({
197
  'date': date,