@@ -697,8 +697,17 @@ class MarketResponse(BaseModel):
|
||||
exchange_id: str
|
||||
|
||||
|
||||
class CpuInfo(BaseModel):
|
||||
cpu: int
|
||||
pct: float
|
||||
|
||||
|
||||
class SysInfo(BaseModel):
|
||||
cpu_pct: list[float]
|
||||
cpu_load: list[CpuInfo]
|
||||
cpu_load_avg: dict[str, float]
|
||||
cpu_count: int
|
||||
cpu_avg: float
|
||||
ram_pct: float
|
||||
|
||||
|
||||
|
||||
+17
-1
@@ -1736,8 +1736,24 @@ class RPC:
|
||||
|
||||
@staticmethod
|
||||
def _rpc_sysinfo() -> dict[str, Any]:
|
||||
cpu_pct = psutil.cpu_percent(interval=0.1, percpu=True)
|
||||
load_avg = psutil.getloadavg()
|
||||
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,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user