From a85142e33655a43aa144acc38529b18bdea61cf1 Mon Sep 17 00:00:00 2001 From: Oleksiy Syvokon Date: Thu, 22 Jan 2026 14:17:55 +0200 Subject: [PATCH] ep: Don't log steps that took <500ms (#47371) Release Notes: - N/A --- crates/edit_prediction_cli/src/main.rs | 4 +- crates/edit_prediction_cli/src/progress.rs | 45 ++++++++++++++++------ 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/crates/edit_prediction_cli/src/main.rs b/crates/edit_prediction_cli/src/main.rs index 7d794970b303bf6c4f08e43d7800e61ebfdcaaab..a68b68775014ff9a78a68c989fd9b59d176b4dad 100644 --- a/crates/edit_prediction_cli/src/main.rs +++ b/crates/edit_prediction_cli/src/main.rs @@ -403,7 +403,9 @@ async fn load_examples( examples.truncate(limit); } - Progress::global().set_total_examples(examples.len()); + let progress = Progress::global(); + progress.set_total_examples(examples.len()); + progress.set_max_example_name_len(examples.iter().map(|e| &e.spec.name)); Ok(examples) } diff --git a/crates/edit_prediction_cli/src/progress.rs b/crates/edit_prediction_cli/src/progress.rs index db6394d292dfd33e25564f0e3371c96875422885..0f9a29401ca9bb902694e5a13499cc17827aa04f 100644 --- a/crates/edit_prediction_cli/src/progress.rs +++ b/crates/edit_prediction_cli/src/progress.rs @@ -139,6 +139,19 @@ impl Progress { inner.total_examples = total; } + pub fn set_max_example_name_len(&self, example_names: impl Iterator>) { + let mut inner = self.inner.lock().unwrap(); + let max_name_width = inner + .terminal_width + .saturating_sub(MARGIN * 2) + .saturating_div(3) + .max(1); + inner.max_example_name_len = example_names + .map(|name| name.as_ref().len().min(max_name_width)) + .max() + .unwrap_or(0); + } + pub fn increment_failed(&self) { let mut inner = self.inner.lock().unwrap(); inner.failed_examples += 1; @@ -176,14 +189,15 @@ impl Progress { Self::clear_status_lines(&mut inner); - let max_name_width = inner - .terminal_width - .saturating_sub(MARGIN * 2) - .saturating_div(3) - .max(1); - inner.max_example_name_len = inner - .max_example_name_len - .max(example_name.len().min(max_name_width)); + // Update max_example_name_len if not already set via set_max_example_name_len + if inner.max_example_name_len == 0 { + let max_name_width = inner + .terminal_width + .saturating_sub(MARGIN * 2) + .saturating_div(3) + .max(1); + inner.max_example_name_len = example_name.len().min(max_name_width); + } inner.in_progress.insert( example_name.to_string(), InProgressTask { @@ -228,17 +242,24 @@ impl Progress { }; if task.step == step { + let duration = task.started_at.elapsed(); + + // Skip logging for tasks that complete quickly (under 500ms) + let should_print = duration >= Duration::from_millis(500); + inner.completed.push(CompletedTask { step: task.step, example_name: example_name.to_string(), - duration: task.started_at.elapsed(), + duration, info: task.info, }); Self::clear_status_lines(&mut inner); - Self::print_logging_closing_divider(&mut inner); - if let Some(last_completed) = inner.completed.last() { - Self::print_completed(&inner, last_completed); + if should_print { + Self::print_logging_closing_divider(&mut inner); + if let Some(last_completed) = inner.completed.last() { + Self::print_completed(&inner, last_completed); + } } Self::print_status_lines(&mut inner); } else {