1
0
forked from bot/app

新版状态页面

This commit is contained in:
2024-04-26 15:02:46 +08:00
parent 857e58d635
commit 5100ca6c77
12 changed files with 277 additions and 42 deletions

View File

@ -94,6 +94,9 @@ def get_local_data(lang_code) -> dict:
"minutes" : lang.get("status.minutes"),
"seconds" : lang.get("status.seconds"),
"runtime" : lang.get("status.runtime"),
"threads" : lang.get("status.threads"),
"cores" : lang.get("status.cores"),
"process" : lang.get("status.process"),
}
@ -149,7 +152,7 @@ async def get_hardware_data() -> dict:
all_processes = psutil.Process().children(recursive=True)
all_processes.append(psutil.Process())
mem_used_bot = 0
mem_used_process = 0
process_mem = {}
for process in all_processes:
try:
@ -157,7 +160,7 @@ async def get_hardware_data() -> dict:
if ps_name not in process_mem:
process_mem[ps_name] = 0
process_mem[ps_name] += process.memory_info().rss
mem_used_bot += process.memory_info().rss
mem_used_process += process.memory_info().rss
except Exception:
pass
swap = psutil.swap_memory()
@ -169,31 +172,34 @@ async def get_hardware_data() -> dict:
else:
brand = "Unknown"
result = {
"cpu" : {
"cpu" : {
"percent": psutil.cpu_percent(),
"name" : f"{brand} {cpuinfo.get_cpu_info().get('arch', 'Unknown')}",
"cores" : psutil.cpu_count(logical=False),
"threads": psutil.cpu_count(logical=True),
"freq" : psutil.cpu_freq().current # MHz
"freq" : psutil.cpu_freq().current # MHz
},
"memory" : {
"percent": mem.percent,
"total" : mem.total,
"used" : mem.used,
"free" : mem.free,
"memory": {
"percent" : mem.percent,
"total" : mem.total,
"used" : mem.used,
"free" : mem.free,
"usedProcess": mem_used_process,
},
"swap": {
"swap" : {
"percent": swap.percent,
"total" : swap.total,
"used" : swap.used,
"free" : swap.free
},
"disk": [],
"disk" : [],
}
for disk in psutil.disk_partitions(all=True):
try:
disk_usage = psutil.disk_usage(disk.mountpoint)
if disk_usage.total == 0:
continue # 虚拟磁盘
result["disk"].append({
"name" : disk.mountpoint,
"percent": disk_usage.percent,

View File

@ -10,9 +10,9 @@ require("nonebot_plugin_alconna")
from nonebot_plugin_alconna import on_alconna, Alconna, Args, Subcommand, Arparma, UniMessage
status_alc = on_alconna(
aliases={"#状态"},
aliases={"状态"},
command=Alconna(
"#status",
"status",
Subcommand(
"memory",
alias={"mem", "m", "内存"},