细节优化

This commit is contained in:
yeyang
2024-05-20 20:33:38 +08:00
parent 6784f7e230
commit 52575f06a1
2 changed files with 26 additions and 28 deletions

View File

@@ -1,6 +1,6 @@
import { Config } from "../../components/index.js"
import _ from "lodash"
import { si, initDependence, addData } from "./utils.js"
import { si, initDependence } from "./utils.js"
export default new class monitor {
constructor() {
@@ -41,8 +41,8 @@ export default new class monitor {
set network(value) {
if (_.isNumber(value[0]?.tx_sec) && _.isNumber(value[0]?.rx_sec)) {
this._network = value
addData(this.chartData.network.upload, [ Date.now(), value[0].tx_sec ])
addData(this.chartData.network.download, [ Date.now(), value[0].rx_sec ])
this._addData(this.chartData.network.upload, [ Date.now(), value[0].tx_sec ])
this._addData(this.chartData.network.download, [ Date.now(), value[0].rx_sec ])
}
}
@@ -53,8 +53,8 @@ export default new class monitor {
set fsStats(value) {
if (_.isNumber(value?.wx_sec) && _.isNumber(value?.rx_sec)) {
this._fsStats = value
addData(this.chartData.fsStats.writeSpeed, [ Date.now(), value.wx_sec ])
addData(this.chartData.fsStats.readSpeed, [ Date.now(), value.rx_sec ])
this._addData(this.chartData.fsStats.writeSpeed, [ Date.now(), value.wx_sec ])
this._addData(this.chartData.fsStats.readSpeed, [ Date.now(), value.rx_sec ])
}
}
@@ -79,14 +79,14 @@ export default new class monitor {
}
async getData() {
let data = await si.get(this.valueObject)
const data = await si.get(this.valueObject)
_.forIn(data, (value, key) => {
if (_.isEmpty(value)) {
logger.debug(`获取${key}数据失败,停止获取对应数据`)
delete this.valueObject[key]
}
})
let {
const {
fsStats,
networkStats,
mem: { active },
@@ -95,10 +95,10 @@ export default new class monitor {
this.fsStats = fsStats
this.network = networkStats
if (_.isNumber(active)) {
addData(this.chartData.ram, [ Date.now(), active ])
this._addData(this.chartData.ram, [ Date.now(), active ])
}
if (_.isNumber(currentLoad)) {
addData(this.chartData.cpu, [ Date.now(), currentLoad ])
this._addData(this.chartData.cpu, [ Date.now(), currentLoad ])
}
this.setRedisChartData()
return data
@@ -120,4 +120,21 @@ export default new class monitor {
console.log(error)
}
}
/**
* 向数组中添加数据,如果数组长度超过允许的最大值,则删除最早添加的数据
* @param {Array} arr - 要添加数据的数组
* @param {*} data - 要添加的新数据
* @param {number} [maxLen] - 数组允许的最大长度默认值为60
* @returns {void}
*/
_addData(arr, data, maxLen = 60) {
if (data === null || data === undefined) return
// 如果数组长度超过允许的最大值,删除第一个元素
if (arr.length >= maxLen) {
_.pullAt(arr, 0)
}
// 添加新数据
arr.push(data)
}
}()

View File

@@ -1,5 +1,3 @@
import _ from "lodash"
export let si = false
export let osInfo = null
export let colorthief = null
@@ -58,23 +56,6 @@ export async function importColorThief() {
return colorthief
}
/**
* 向数组中添加数据,如果数组长度超过允许的最大值,则删除最早添加的数据
* @param {Array} arr - 要添加数据的数组
* @param {*} data - 要添加的新数据
* @param {number} [maxLen] - 数组允许的最大长度默认值为60
* @returns {void}
*/
export function addData(arr, data, maxLen = 60) {
if (data === null || data === undefined) return
// 如果数组长度超过允许的最大值,删除第一个元素
if (arr.length >= maxLen) {
_.pullAt(arr, 0)
}
// 添加新数据
arr.push(data)
}
/**
* 将字节大小转换成易读的文件大小格式
* @param {number} size - 要转换的字节大小