WIP almost done with track planning
This commit is contained in:
9
conductor/tracks/performance_dashboard_20260306/index.md
Normal file
9
conductor/tracks/performance_dashboard_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Performance Dashboard
|
||||
|
||||
**Track ID:** performance_dashboard_20260306
|
||||
|
||||
**Status:** Planned
|
||||
|
||||
**See Also:**
|
||||
- [Spec](./spec.md)
|
||||
- [Plan](./plan.md)
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user