User Interface
AIPerf provides 3 UI types to display benchmark progress.
Overview
Choose the UI type that matches your workflow:
- Dashboard: Full Textual TUI with real-time metrics and GPU telemetry (default in interactive terminals)
- Simple: TQDM progress bars for minimal overhead
- None: Application logs only, no progress UI (default in non-interactive environments)
All types display the final metrics table upon completion. UI type only affects progress display during benchmark execution.
Note: Both --ui-type and --ui are supported interchangeably.
Automatic TTY Detection
AIPerf automatically detects whether it is running in an interactive terminal (TTY):
- Interactive terminal (TTY): Defaults to
dashboard - Non-interactive (piped, redirected, CI/CD): Defaults to
nonewith basic non-rich log formatting
This means aiperf profile ... | tee output.log or aiperf profile ... > output.log will automatically use --ui-type none and plain-text logs without Rich formatting.
To override the automatic detection, explicitly pass --ui-type:
Dashboard (Default in TTY)
The full-featured TUI provides:
- Real-time request and record metrics
- Live GPU telemetry (when enabled)
- Worker status monitoring
- Interactive display with multiple tabs
When to use:
- Monitoring benchmarks interactively
- Viewing real-time metrics as they’re computed
- Checking worker status and errors
- Viewing GPU telemetry
Note: Dashboard automatically switches to simple when using --verbose or --extra-verbose in a TTY for better log visibility.
Simple
Lightweight progress bars using TQDM:
Sample Output (Successful Run):
When to use:
- Need lower resource overhead
- Terminal doesn’t support rich TUI rendering
- Running with verbose logging
None (Default in Non-TTY)
Shows application logs only, no progress UI. This is the automatic default when output is piped or redirected:
Sample Output (Successful Run):
When to use:
- Automating benchmarks in scripts or CI/CD (auto-selected)
- Piping output to files (auto-selected)
- Minimizing UI overhead