From d4949062ddd5f74b5a833d8c8ca1511787448e7c Mon Sep 17 00:00:00 2001 From: yeyang <746659424@qq.com> Date: Mon, 10 Jun 2024 10:59:15 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9A=97=EF=B8=8F=20=E7=8A=B6=E6=80=81debug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/state.js | 2 +- model/State/FsSize.js | 1 - model/State/NodeInfo.js | 2 +- model/State/index.js | 28 +++++++++++++++++++++++----- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/apps/state.js b/apps/state.js index 1c6eaee..aad35ed 100644 --- a/apps/state.js +++ b/apps/state.js @@ -12,7 +12,7 @@ export class NewState extends plugin { priority: -1000, rule: [ { - reg: "^#?(椰奶)?状态(pro)?$", + reg: "^#?(椰奶)?状态(pro)?(debug)?$", fnc: "state" }, { diff --git a/model/State/FsSize.js b/model/State/FsSize.js index 53c808a..cbd9782 100644 --- a/model/State/FsSize.js +++ b/model/State/FsSize.js @@ -4,7 +4,6 @@ import Monitor from "./Monitor.js" /** * 获取硬盘 - * @returns {*} */ export async function getFsSize() { // 去重 diff --git a/model/State/NodeInfo.js b/model/State/NodeInfo.js index a7fc879..efee177 100644 --- a/model/State/NodeInfo.js +++ b/model/State/NodeInfo.js @@ -3,7 +3,7 @@ import { Config } from "../../components/index.js" import { Circle, getFileSize } from "./utils.js" /** 获取nodejs内存情况 */ -export default function getNodeInfo() { +export default async function getNodeInfo() { if (Config.state.closedNodeInfo) return false let memory = process.memoryUsage() // 总共 diff --git a/model/State/index.js b/model/State/index.js index f5af4c5..711903e 100644 --- a/model/State/index.js +++ b/model/State/index.js @@ -17,7 +17,19 @@ import getStyle, { getBackground } from "./style.js" export async function getData(e) { e.isPro = e.msg.includes("pro") - /** bot列表 */ + e.isDebug = e.msg.includes("debug") + const timeStr = [] + const _nameMap1 = [ "CPU", "RAM", "SWAP", "GPU", "Node" ] + const _nameMap2 = [ "visualData", "FastFetch", "FsSize", "NetworkTest", "BotState", "Style" ] + function timePromiseExecution(promiseFn, name) { + const start = Date.now() + return promiseFn.then((result) => { + const end = Date.now() + logger.debug(`Promise ${name}: ${end - start} ms`) + timeStr.push(`${name}: ${end - start} ms`) + return result + }) + } const visualDataPromise = Promise.all([ getCPU(), @@ -25,7 +37,7 @@ export async function getData(e) { getSWAP(), getGPU(), getNode() - ]) + ].map((v, i) => timePromiseExecution(v, _nameMap1[i]))) const promiseTaskList = [ visualDataPromise, getFastFetch(e), @@ -33,14 +45,20 @@ export async function getData(e) { getNetworkTestList(e), getBotState(e), getStyle() - ] - + ].map((v, i) => timePromiseExecution(v, _nameMap2[i])) + const start = Date.now() const [ visualData, FastFetch, HardDisk, psTest, BotStatusList, style - ] = await Promise.all(promiseTaskList) + ] = await Promise.all(promiseTaskList).then(res => { + const end = Date.now() + logger.debug(`Promise all: ${end - start} ms`) + timeStr.push(`all: ${end - start} ms`) + return res + }) + e.isDebug && e.reply(timeStr.join("\n")) const chartData = JSON.stringify( common.checkIfEmpty(Monitor.chartData, [ "echarts_theme", "cpu", "ram" ]) ? ""