feat: enhance sysinfo endpoint with additional features

closes #12918
This commit is contained in:
Matthias
2026-03-12 07:27:27 +01:00
parent b46ff76d58
commit a1cbfce316
2 changed files with 26 additions and 1 deletions
+9
View File
@@ -697,8 +697,17 @@ class MarketResponse(BaseModel):
exchange_id: str exchange_id: str
class CpuInfo(BaseModel):
cpu: int
pct: float
class SysInfo(BaseModel): class SysInfo(BaseModel):
cpu_pct: list[float] cpu_pct: list[float]
cpu_load: list[CpuInfo]
cpu_load_avg: dict[str, float]
cpu_count: int
cpu_avg: float
ram_pct: float ram_pct: float
+17 -1
View File
@@ -1736,8 +1736,24 @@ class RPC:
@staticmethod @staticmethod
def _rpc_sysinfo() -> dict[str, Any]: def _rpc_sysinfo() -> dict[str, Any]:
cpu_pct = psutil.cpu_percent(interval=0.1, percpu=True)
load_avg = psutil.getloadavg()
return { return {
"cpu_pct": psutil.cpu_percent(interval=1, percpu=True), "cpu_pct": cpu_pct,
"cpu_load": [
{
"cpu": idx,
"pct": pct,
}
for idx, pct in enumerate(cpu_pct)
],
"cpu_avg": sum(cpu_pct) / len(cpu_pct) if cpu_pct else 0.0,
"cpu_load_avg": {
"1m": load_avg[0],
"5m": load_avg[1],
"15m": load_avg[2],
},
"cpu_count": len(cpu_pct),
"ram_pct": psutil.virtual_memory().percent, "ram_pct": psutil.virtual_memory().percent,
} }