You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
Python
59 lines
1.1 KiB
Python
from typing import List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class CpuInfo(BaseModel):
|
|
cpu_num: int
|
|
total: float
|
|
sys: float
|
|
used: float
|
|
wait: float
|
|
free: float
|
|
|
|
|
|
class SystemInfo(BaseModel):
|
|
computerName: str
|
|
computerIp: str
|
|
userDir: str
|
|
osName: str
|
|
osArch: str
|
|
|
|
|
|
class DiskInfo(BaseModel):
|
|
dirName: str
|
|
sysTypeName: str
|
|
typeName: str
|
|
total: str # 格式化大小,如 "1.20GB"
|
|
free: str # 格式化大小
|
|
used: str # 格式化大小
|
|
usage: float # 百分比
|
|
|
|
|
|
class MemoryInfo(BaseModel):
|
|
total: float # GB
|
|
used: float # GB
|
|
free: float # GB
|
|
usage: float # 百分比
|
|
|
|
|
|
class PythonEnvInfo(BaseModel):
|
|
name: str
|
|
version: str
|
|
home: str
|
|
inputArgs: str
|
|
total: float # MB
|
|
max: float # MB
|
|
free: float # MB
|
|
usage: float # MB
|
|
runTime: str # 格式化时间,如 "1天2小时30分钟"
|
|
startTime: str # 格式化时间
|
|
|
|
|
|
class ServerInfo(BaseModel):
|
|
cpu: CpuInfo
|
|
memory: MemoryInfo
|
|
system: SystemInfo
|
|
disks: List[DiskInfo]
|
|
python: PythonEnvInfo
|