Files
RFP_Infinity-Vis/app/core/diagnostics.py

33 lines
844 B
Python

from __future__ import annotations
from dataclasses import dataclass
@dataclass(frozen=True)
class RealtimeDiagnostics:
backend_id: str
backend_name: str
output_enabled: bool
worker_running: bool
target_output_fps: float
render_fps: float
send_fps: float
last_render_time_ms: float
last_send_time_ms: float
frames_rendered: int
frames_submitted: int
frames_sent: int
stale_frame_drops: int
send_failures: int
packets_last_frame: int
devices_last_frame: int
packets_sent_total: int
last_output_message: str = ""
send_budget_misses: int = 0
last_schedule_slip_ms: float = 0.0
controller_fps: float | None = None
controller_live_devices: int = 0
controller_sampled_devices: int = 0
controller_total_devices: int = 0
controller_source: str = ""