33 lines
844 B
Python
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 = ""
|