2025-04-03 09:15:39 -07:00
|
|
|
from typing import Optional
|
|
|
|
|
2024-07-28 15:21:51 -07:00
|
|
|
from pydantic import BaseModel, ConfigDict
|
2023-09-29 15:51:03 -07:00
|
|
|
|
|
|
|
|
2023-11-28 23:50:50 -08:00
|
|
|
class ClientMetrics(BaseModel):
|
|
|
|
"""ClientMetrics contains information regarding the state of the peer."""
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_frame_height: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_frame_width: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_frames_decoded: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_frames_dropped: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_frames_per_second: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_frames_received: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_freeze_count: Optional[int] = None
|
|
|
|
|
|
|
|
rtc_jitter_sec: Optional[float] = None
|
2023-09-29 15:51:03 -07:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_keyframes_decoded: Optional[int] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_packets_lost: Optional[int] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_pause_count: Optional[int] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_pli_count: Optional[int] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_stun_rtt_sec: Optional[float] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_total_freezes_duration_sec: Optional[float] = None
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2025-04-03 09:15:39 -07:00
|
|
|
rtc_total_pauses_duration_sec: Optional[float] = None
|
2024-01-06 18:32:21 -08:00
|
|
|
|
|
|
|
model_config = ConfigDict(protected_namespaces=())
|