Files
HeXi/hexi/plugins/nonebot_plugin_picstatus/collectors/mem.py
T

31 lines
701 B
Python
Raw Normal View History

from dataclasses import dataclass
import psutil
from . import normal_collector, periodic_collector
@dataclass
class MemoryStat:
percent: float
used: int
total: int
async def get_memory_stat() -> MemoryStat:
mem = psutil.virtual_memory()
return MemoryStat(percent=mem.percent, used=mem.used, total=mem.total)
normal_collector("memory_stat")(get_memory_stat)
periodic_collector("memory_stat_periodic")(get_memory_stat)
async def get_swap_stat() -> MemoryStat:
swap = psutil.swap_memory()
return MemoryStat(percent=swap.percent, used=swap.used, total=swap.total)
normal_collector("swap_stat")(get_swap_stat)
periodic_collector("swap_stat_periodic")(get_swap_stat)