feat(perf): Implement performance threshold alert system

This commit is contained in:
2026-02-23 14:47:49 -05:00
parent 4105f6154a
commit 3e9d362be3
3 changed files with 59 additions and 0 deletions

12
gui.py
View File

@@ -502,6 +502,7 @@ class App:
ai_client.comms_log_callback = self._on_comms_entry
ai_client.tool_log_callback = self._on_tool_log
mcp_client.perf_monitor_callback = self.perf_monitor.get_metrics
self.perf_monitor.alert_callback = self._on_performance_alert
# ---------------------------------------------------------------- project loading
@@ -755,6 +756,17 @@ class App:
"""Called from background thread when a tool call completes."""
session_logger.log_tool_call(script, result, None)
def _on_performance_alert(self, message: str):
"""Called by PerformanceMonitor when a threshold is exceeded."""
alert_text = f"[PERFORMANCE ALERT] {message}. Please consider optimizing recent changes or reducing load."
# Inject into history as a 'System' message or similar
with self._pending_history_adds_lock:
self._pending_history_adds.append({
"role": "System",
"content": alert_text,
"ts": project_manager.now_ts()
})
def _flush_pending_comms(self):
"""Called every frame from the main render loop."""
with self._pending_comms_lock: