Skip to content

Improve cli output in an interactive terminal#265

Open
GuillaumeLagrange wants to merge 11 commits intomainfrom
cod-2210-improve-exec-harnessscli-stdoutstderr-output-in-local-mode
Open

Improve cli output in an interactive terminal#265
GuillaumeLagrange wants to merge 11 commits intomainfrom
cod-2210-improve-exec-harnessscli-stdoutstderr-output-in-local-mode

Conversation

@GuillaumeLagrange
Copy link
Contributor

@GuillaumeLagrange GuillaumeLagrange commented Mar 13, 2026

Summary

Improve the CLI output in interactive terminal (local mode) with richer visual hierarchy, rolling log buffer, and polished feedback.

Visual polish

  • Style the ASCII banner with CodSpeed orange
  • Richer local logger: styled group headers, spinner with elapsed time, colored log levels (error/warn/debug), completion checkmarks
  • Color-coded benchmark result tables: icons per instrument type, cyan primary metrics, StdDev color thresholds
  • Impact reporting: directional arrows with color, cleaner report URL display

Rolling buffer for executor output

  • Add a rolling buffer that shows the last N lines of executor stdout/stderr instead of spamming the full output
  • Add --show-full-output flag to bypass the rolling buffer when needed

Refactors

  • Flatten orchestrator execution loop over (command, mode) pairs — fixes a bug where single-mode + multiple entrypoint targets would reuse the same profile folder
  • Move EXEC_HARNESS_VERSION and EXEC_HARNESS_COMMAND to orchestrator mod
  • Remove the closure argument to poll in favor of polling options
  • Add a standalone spinner while waiting for poll results
recording-20260313-170535.mp4

GuillaumeLagrange and others added 11 commits March 13, 2026 17:01
Render the logo in bold CodSpeed orange (#FF8700) with a dim
separator line and styled version tag below. Output via eprintln
(stderr) for consistency with other UI output.

Cherry-picked-from: f3daff5
- Group headers: replace ">>>" with a single bold orange play icon
- Spinner: custom dot-animation with elapsed time counter
- Completion: green checkmark with dimmed name and elapsed duration
  when groups end
- Errors: red cross prefix; Warnings: yellow triangle prefix
- Debug: dimmed dot prefix for quieter output
- Info: consistent 2-space indent across all log levels
- Main error display: show primary error once, causes in debug only

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Unicode icons per instrument type: gear for CPU Simulation,
  stopwatch for Walltime, trigram for Memory
- Highlight primary metrics (time, peak memory) in cyan
- Color-code StdDev: green (<=2%), yellow (<=5%), red (>5%) to
  flag noisy benchmarks at a glance
- Color-code CPU simulation distribution percentages: bold when
  dominant, dim when minor
- Add cell padding for better readability
- Apply same color enhancements to detailed summary output
- Update snapshot test

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Impact display: directional arrows (green up / red down / dimmed
  neutral) alongside the percentage change
- Report URL: cleaner "View full report:" label in dim with
  prominent blue bold link
- Improved polling timeout error message

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace the nested command → modes iteration (run_all_modes) with a
single flattened loop over ExecutorTarget pairs. This fixes a bug where
single-mode + multiple entrypoint targets would reuse the same profile
folder, causing runs to overwrite each other.

Profile folder resolution is now centralized in resolve_profile_folder:
- Single run part + --profile-folder: use as-is
- Multiple run parts + --profile-folder: deterministic subdirs (<mode>-<index>)
- No --profile-folder: random temp folder

Also removes profile_folder from ExecutorConfig since it's now resolved
by the orchestrator and passed directly to ExecutionContext::new.
@GuillaumeLagrange GuillaumeLagrange changed the title Cod 2210 improve exec harnessscli stdoutstderr output in local mode Improve cli output in an interactive terminal Mar 13, 2026
@codspeed-hq
Copy link

codspeed-hq bot commented Mar 13, 2026

Merging this PR will not alter performance

✅ 4 untouched benchmarks


Comparing cod-2210-improve-exec-harnessscli-stdoutstderr-output-in-local-mode (dd45aec) with main (ce1ad6e)

Open in CodSpeed

@GuillaumeLagrange GuillaumeLagrange requested review from adriencaccia, art049 and not-matthias and removed request for adriencaccia and art049 March 13, 2026 16:07
@GuillaumeLagrange GuillaumeLagrange marked this pull request as ready for review March 13, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants