WIP almost done with track planning

This commit is contained in:
2026-03-06 15:00:15 -05:00
parent 2c90020682
commit 3b79f2a4e1
77 changed files with 1186 additions and 674 deletions

View File

@@ -0,0 +1,9 @@
# Performance Dashboard
**Track ID:** performance_dashboard_20260306
**Status:** Planned
**See Also:**
- [Spec](./spec.md)
- [Plan](./plan.md)

View File

@@ -0,0 +1,9 @@
{
"id": "performance_dashboard_20260306",
"name": "Performance Dashboard",
"status": "planned",
"created_at": "2026-03-06T00:00:00Z",
"updated_at": "2026-03-06T00:00:00Z",
"type": "feature",
"priority": "medium"
}

View File

@@ -1,16 +1,26 @@
# Implementation Plan: Performance Dashboard (performance_dashboard)
# Implementation Plan: Performance Dashboard (performance_dashboard_20260306)
## Phase 1: Research & Design
- [ ] Task: Analyze existing backend implementation
- [ ] Task: Design GUI/UX approach
- [ ] Task: Conductor - User Manual Verification
## Phase 1: Metrics Collection
- [ ] Task: Initialize MMA Environment
- [ ] Task: Verify performance_monitor
- WHERE: src/performance_monitor.py
- WHAT: Check existing metrics
- HOW: Review get_metrics() output
## Phase 2: Implementation
- [ ] Task: Implement feature
- [ ] Task: Write tests
- [ ] Task: Conductor - User Manual Verification
## Phase 2: Historical Data
- [ ] Task: Implement metrics history
- WHERE: src/performance_monitor.py
- WHAT: Rolling window of metrics
- HOW: deque with maxlen
- SAFETY: Memory bounded
## Phase 3: Verification
- [ ] Task: Run test suite
- [ ] Task: Verify coverage
- [ ] Task: Conductor - Phase Completion Verification
## Phase 3: Visualization
- [ ] Task: Render graphs
- WHERE: src/gui_2.py
- WHAT: Line graphs for CPU/RAM/frame time
- HOW: imgui.plot_lines or custom
- SAFETY: 60fps during rendering
## Phase 4: Verification
- [ ] Task: Test graph rendering
- [ ] Task: Conductor - Phase Verification

View File

@@ -1,29 +1,21 @@
# Track Specification: Performance Dashboard
# Track Specification: Performance Dashboard (performance_dashboard_20260306)
## Overview
Expand performance metrics with CPU/RAM, frame time, input lag graphs.
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.
## Current State Audit
### Already Implemented
- performance_monitor.py
- get_metrics() method
- Basic FPS display
### Gaps to Fill
- No historical graphs
- No input lag tracking
- No CPU/RAM visualization
## Goals
- Historical performance graphs
- CPU/RAM usage display
- Input lag metrics
## Architectural Constraints
- **60fps Constraint**: Metrics collection MUST NOT impact frame rate.
- **Thread Safety**: Cross-thread metrics MUST use proper synchronization.
## Functional Requirements
- Rolling metrics history
- Graph rendering
- Alert thresholds
- **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.
## Non-Functional Requirements
- 60fps UI during metrics collection
- Configurable history length
## 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.