Spaces:
Sleeping
Sleeping
File size: 1,133 Bytes
ac5551d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | """models/system.py — Pydantic models for real-time system metrics."""
from __future__ import annotations
from typing import Optional
from pydantic import BaseModel
class GpuMetrics(BaseModel):
index: int
name: str | None = None
utilization_pct: float | None = None
mem_used_mb: float | None = None
mem_total_mb: float | None = None
temperature_c: float | None = None
power_usage_w: float | None = None
power_limit_w: float | None = None
clock_graphics_mhz: float | None = None
class DiskMetrics(BaseModel):
device: str
mountpoint: str
total_gb: float
used_gb: float
percent: float
read_bytes_sec: float
write_bytes_sec: float
class NetworkMetrics(BaseModel):
interface: str
bytes_sent_sec: float
bytes_recv_sec: float
class SystemMetrics(BaseModel):
ts: float
cpu_pct: float
cpu_model: str | None = None
cpu_freq_mhz: float | None = None
cpu_count: int | None = None
ram_used_mb: float
ram_total_mb: float
gpu: Optional[GpuMetrics] = None
disks: list[DiskMetrics] = []
network: list[NetworkMetrics] = []
|