bit-monitor-gui¶
Qt6-based graphical monitor with real-time test result display.
Prerequisites¶
The target system must be running bit-manager with Zenoh enabled:
Environment Variables¶
BIT_HOSTNAME- Override hostname for remote monitoring (default: system hostname)ZENOH_CONFIG- Optional path to Zenoh YAML configuration file
Usage¶
Monitor the local system:
Or monitor a remote system:
Interface Layout¶
The GUI window displays three tabs:
- PBIT - Power-On Built-In Tests
- CBIT - Continuous Built-In Tests
- FBIT - Factory Built-In Tests
Each tab contains:
Test Results Table¶
Columns:
- Hostname - Target system hostname
- Time - Timestamp of test result (click to sort)
- Test - Human-readable test name (click to sort)
- Result - PASS (green) or FAIL (red)
- Details - Test-specific output and markers
Control Buttons¶
- Enable All - Enable all tests in current tab
- Disable All - Disable all tests in current tab
- Enable Selected - Enable only selected tests (multi-select with Ctrl/Shift)
- Disable Selected - Disable only selected tests
- Run All - Run all tests in current tab once (marked "manual run")
- Run Selected - Run only selected tests once (marked "manual run")
Statistics Panel¶
Bottom of each tab shows:
- Total tests passed (green counter)
- Total tests failed (red counter)
- Live updates as results arrive
Screenshots¶
PBIT Tab:

CBIT Tab:

Remote Control Features¶
The GUI provides comprehensive remote control of bit-manager test execution.
Control Button Reference¶
| Button | Description | Multi-Select |
|---|---|---|
| Enable All | Enable all tests in the current tab (PBIT/CBIT/FBIT) | N/A |
| Disable All | Disable all tests in the current tab | N/A |
| Enable Selected | Enable only the selected tests | Yes |
| Disable Selected | Disable only the selected tests | Yes |
| Run All | Run all tests in current tab once | N/A |
| Run Selected | Run only selected tests once | Yes |
Usage Examples¶
Disable Unnecessary Tests Before Deployment¶
- Start GUI:
bit-monitor-gui --hostname=production-device - Switch to CBIT tab
- Select tests you want to disable (Ctrl+Click for multiple, Shift+Click for range)
- Click Disable Selected
- Verify tests no longer run periodically in the table
Run Diagnostic Test On-Demand¶
- Connect to remote device:
bit-monitor-gui --hostname=test-device - Find test in appropriate tab (PBIT/CBIT/FBIT)
- Click test row to select it
- Click Run Selected
- Watch for result with "(manual run)" in Details column
Enable All Tests After Maintenance¶
- Switch to each tab (PBIT, CBIT, FBIT)
- Click Enable All in each tab
- Observe tests resume periodic execution
Run All Enabled Tests Without Waiting¶
- Switch to desired test type tab
- Click Run All
- All tests execute immediately with "(manual run)" marker
- Periodic tests continue on their normal schedule
Interface Features¶
Multi-Selection:
Ctrl+Click- Select multiple individual testsShift+Click- Select a range of tests- Click empty area to deselect all
Sorting:
- Click column headers to sort by: Hostname, Time, Test name, or Result
- Click again to reverse sort order
- Sorting does not affect control button behavior
Color Coding:
- Green rows indicate PASS results
- Red rows indicate FAIL results
- Helps quickly identify issues
Manual Run Markers:
- Test results from Run buttons show "(manual run)" in Details column
- Distinguishes on-demand execution from scheduled periodic tests
- Manual runs do not affect normal test scheduling
Persistent State:
- Enable/disable changes persist to config files on target system
- Changes survive bit-manager restarts and system reboots
- Test enabled state is independent for each test
Real-Time Updates:
- Table refreshes automatically as test results arrive via Zenoh
- No manual refresh needed
- Statistics counters update live
Thread-Safe Operation:
- Zenoh callbacks run on background thread
- GUI updates happen on main thread via QTimer
- No blocking or UI freezes during network operations
Monitoring Multiple Hosts¶
Launch multiple GUI instances to monitor different systems:
./bit-monitor-gui --hostname=device-1 &
./bit-monitor-gui --hostname=device-2 &
./bit-monitor-gui --hostname=device-3 &
Troubleshooting¶
See Troubleshooting Guide for common monitor connectivity issues.
Next Steps¶
- bit-monitor-cli - Command-line monitor alternative
- Running Tests - Understanding test execution
- Test Types - PBIT, CBIT, and FBIT explained