refinement of upcoming tracks

This commit is contained in:
2026-03-06 15:41:33 -05:00
parent 3ce6a2ec8a
commit fca40fd8da
24 changed files with 2388 additions and 391 deletions

View File

@@ -1,21 +1,39 @@
# Track Specification: Performance Dashboard (performance_dashboard_20260306)
## Overview
Expand performance metrics panel with CPU/RAM usage, frame time, input lag with historical graphs. Uses existing performance_monitor.py which has basic metrics but no visualization.
Expand performance metrics panel with CPU/RAM graphs, frame time histogram. Uses existing `performance_monitor.py`.
## Architectural Constraints
- **60fps Constraint**: Metrics collection MUST NOT impact frame rate.
- **Thread Safety**: Cross-thread metrics MUST use proper synchronization.
## Current State Audit
### Already Implemented
- **`src/performance_monitor.py`**: `PerformanceMonitor` class
- **`get_metrics()`**: Returns FPS, frame time, CPU, input lag
- **Basic display in GUI diagnostics**
### Gaps to Fill
- No historical graphs
- No rolling window storage
- No frame time histogram
## Functional Requirements
- **CPU/RAM Graphs**: Display rolling CPU and RAM usage over time.
- **Frame Time**: Show frame time histogram.
- **Input Lag**: Track and display input-to-response latency.
- **Historical Data**: Maintain rolling window of metrics history.
- Rolling window of metrics (deque with maxlen)
- Line graphs for CPU/RAM over time
- Frame time histogram
- Uses existing `PerformanceMonitor.get_metrics()`
## Key Integration Points
| File | Purpose |
|-----|---------|
| `src/performance_monitor.py` | Add history storage |
| `src/gui_2.py` | Graph rendering |
## Architectural Constraints
- 60fps during graph rendering
- Memory bounded (max 100 data points)
## Acceptance Criteria
- [ ] CPU graph shows rolling history.
- [ ] RAM graph shows rolling history.
- [ ] Frame time histogram displays.
- [ ] Input lag metrics tracked.
- [ ] Uses existing performance_monitor.py.
- [ ] CPU graph shows rolling history
- [ ] RAM graph shows rolling history
- [ ] Frame time histogram displays
- [ ] Input lag metrics tracked
- [ ] 1-space indentation