kiwi-simple-metrics/kiwi_simple_metrics/metrics/cpu.py
Jörn-Michael Miehe 8b532829a5 improved aggregation by refactoring metrics._report
ReportData mutable, Report immutable
class Report has builtin `aggregate`
2023-08-31 15:23:00 +00:00

20 lines
368 B
Python

import psutil
from ..settings import SETTINGS
from ._report import Report, ReportData
def _hwdata() -> ReportData:
return ReportData(
name=SETTINGS.cpu.name,
value=psutil.cpu_percent(interval=1),
)
def cpu() -> Report | None:
if not SETTINGS.cpu.enabled:
return None
data = _hwdata()
return data.report(SETTINGS.cpu)