fix(ui): Correct performance profiling instrumentation and Diagnostics UI

This commit is contained in:
2026-03-07 13:01:39 -05:00
parent a4c267d864
commit 1f760f2381
3 changed files with 1990 additions and 242 deletions

View File

@@ -84,9 +84,14 @@ This file tracks all major tracks for the project. Each track has its own detail
19. [ ] **Track: Manual UX Validation & Review** 19. [ ] **Track: Manual UX Validation & Review**
*Link: [./tracks/manual_ux_validation_20260302/](./tracks/manual_ux_validation_20260302/)* *Link: [./tracks/manual_ux_validation_20260302/](./tracks/manual_ux_validation_20260302/)*
### Misc Side-tracks
20. [x] **Track: Enhanced Context Control & Cache Awareness** 20. [x] **Track: Enhanced Context Control & Cache Awareness**
*Link: [./tracks/enhanced_context_control_20260307/](./tracks/enhanced_context_control_20260307/)* *Link: [./tracks/enhanced_context_control_20260307/](./tracks/enhanced_context_control_20260307/)*
22. [~] **Track: GUI Performance Profiling & Optimization**
*Link: [./tracks/gui_performance_profiling_20260307/](./tracks/gui_performance_profiling_20260307/)*
--- ---
## Completed / Archived ## Completed / Archived

View File

@@ -0,0 +1,21 @@
# Track Specification: GUI Performance Profiling & Optimization (gui_performance_profiling_20260307)
## Overview
Implement fine-grained performance profiling within the main ImGui rendering loop (`gui_2.py`) to ensure adherence to data-oriented and immediate mode heuristics. This track will provide visual diagnostics for high-overhead UI components, allowing developers to monitor and optimize render frame times.
## Core Requirements
1. **Instrumentation:** Inject `start_component()` and `end_component()` calls from the `PerformanceMonitor` API (`src/performance_monitor.py`) around identified high-overhead methods in `src/gui_2.py`.
2. **Diagnostics UI:** Expand the Diagnostics panel in `gui_2.py` to include a new table titled "Detailed Component Timings".
3. **Threshold Alerting:** Add visual threshold alerts (e.g., color highlighting) in the new Diagnostics table for any individual component whose execution time exceeds 10ms.
4. **Target Methods:**
- `_render_log_management`
- `_render_discussion_panel`
- `_render_mma_dashboard`
- `_gui_func` (as a global wrapper)
## Acceptance Criteria
- [ ] Profiling calls correctly wrap target methods.
- [ ] "Detailed Component Timings" table displays in Diagnostics panel.
- [ ] Timings update in real-time (every 0.5s or similar).
- [ ] Components exceeding 10ms are highlighted (e.g., Red).
- [ ] 1-space indentation maintained.

File diff suppressed because it is too large Load Diff