feat(perf): Integrate PerformanceMonitor with DPG main loop
This commit is contained in:
6
gui.py
6
gui.py
@@ -26,6 +26,7 @@ import session_logger
|
|||||||
import project_manager
|
import project_manager
|
||||||
import api_hooks
|
import api_hooks
|
||||||
import theme
|
import theme
|
||||||
|
from performance_monitor import PerformanceMonitor
|
||||||
|
|
||||||
CONFIG_PATH = Path("config.toml")
|
CONFIG_PATH = Path("config.toml")
|
||||||
PROVIDERS = ["gemini", "anthropic"]
|
PROVIDERS = ["gemini", "anthropic"]
|
||||||
@@ -493,6 +494,8 @@ class App:
|
|||||||
self._is_script_blinking = False
|
self._is_script_blinking = False
|
||||||
self._script_blink_start_time = 0.0
|
self._script_blink_start_time = 0.0
|
||||||
|
|
||||||
|
self.perf_monitor = PerformanceMonitor()
|
||||||
|
|
||||||
session_logger.open_session()
|
session_logger.open_session()
|
||||||
ai_client.set_provider(self.current_provider, self.current_model)
|
ai_client.set_provider(self.current_provider, self.current_model)
|
||||||
ai_client.confirm_and_run_callback = self._confirm_and_run
|
ai_client.confirm_and_run_callback = self._confirm_and_run
|
||||||
@@ -2108,6 +2111,7 @@ class App:
|
|||||||
self.hook_server.start()
|
self.hook_server.start()
|
||||||
|
|
||||||
while dpg.is_dearpygui_running():
|
while dpg.is_dearpygui_running():
|
||||||
|
self.perf_monitor.start_frame()
|
||||||
# Show any pending confirmation dialog on the main thread safely
|
# Show any pending confirmation dialog on the main thread safely
|
||||||
with self._pending_dialog_lock:
|
with self._pending_dialog_lock:
|
||||||
dialog = self._pending_dialog
|
dialog = self._pending_dialog
|
||||||
@@ -2244,6 +2248,7 @@ class App:
|
|||||||
self._flush_pending_comms()
|
self._flush_pending_comms()
|
||||||
self._update_telemetry_panel()
|
self._update_telemetry_panel()
|
||||||
|
|
||||||
|
self.perf_monitor.end_frame()
|
||||||
dpg.render_dearpygui_frame()
|
dpg.render_dearpygui_frame()
|
||||||
|
|
||||||
# Save everything on exit
|
# Save everything on exit
|
||||||
@@ -2254,6 +2259,7 @@ class App:
|
|||||||
|
|
||||||
dpg.save_init_file("dpg_layout.ini")
|
dpg.save_init_file("dpg_layout.ini")
|
||||||
session_logger.close_session()
|
session_logger.close_session()
|
||||||
|
self.perf_monitor.stop()
|
||||||
ai_client.cleanup() # Destroy active API caches to stop billing
|
ai_client.cleanup() # Destroy active API caches to stop billing
|
||||||
self.hook_server.stop()
|
self.hook_server.stop()
|
||||||
dpg.destroy_context()
|
dpg.destroy_context()
|
||||||
|
|||||||
Reference in New Issue
Block a user