Files
overub/core/monitor.py
2025-12-21 17:12:32 +01:00

22 lines
519 B
Python

import os
from dataclasses import dataclass
from typing import Optional
@dataclass
class SystemStats:
cpu_percent: Optional[float]
memory_mb: Optional[float]
def get_system_stats() -> SystemStats:
try:
import psutil
except ImportError:
return SystemStats(cpu_percent=None, memory_mb=None)
process = psutil.Process(os.getpid())
cpu = psutil.cpu_percent(interval=None)
mem = process.memory_info().rss / (1024 * 1024)
return SystemStats(cpu_percent=cpu, memory_mb=mem)