mirror of
https://github.com/Jerryplusy/rc-plugin.git
synced 2025-10-14 08:09:19 +00:00
🐞fix:暂时取消异常值检测
This commit is contained in:
parent
b77e67c6d6
commit
c283f41fb4
@ -5,7 +5,6 @@ import si from 'systeminformation';
|
|||||||
let lastBytesReceived = 0;
|
let lastBytesReceived = 0;
|
||||||
let lastBytesSent = 0;
|
let lastBytesSent = 0;
|
||||||
let lastTimestamp = Date.now();
|
let lastTimestamp = Date.now();
|
||||||
let isFirstRun = true;
|
|
||||||
|
|
||||||
async function getLinuxStats() {
|
async function getLinuxStats() {
|
||||||
const data = await fs.readFile('/proc/net/dev', 'utf8');
|
const data = await fs.readFile('/proc/net/dev', 'utf8');
|
||||||
@ -59,33 +58,18 @@ async function getNetworkStats() {
|
|||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
const timeDiff = (now - lastTimestamp) / 1000;
|
const timeDiff = (now - lastTimestamp) / 1000;
|
||||||
|
|
||||||
let downloadSpeed = 0;
|
const downloadSpeed = Math.max(0, (bytesReceived - lastBytesReceived) / timeDiff);
|
||||||
let uploadSpeed = 0;
|
const uploadSpeed = Math.max(0, (bytesSent - lastBytesSent) / timeDiff);
|
||||||
|
|
||||||
if (!isFirstRun) {
|
|
||||||
// 检查是否发生了计数器重置或异常值
|
|
||||||
if (bytesReceived >= lastBytesReceived && bytesSent >= lastBytesSent) {
|
|
||||||
downloadSpeed = (bytesReceived - lastBytesReceived) / timeDiff;
|
|
||||||
uploadSpeed = (bytesSent - lastBytesSent) / timeDiff;
|
|
||||||
|
|
||||||
// 设置合理的上限值(比如 1GB/s)
|
|
||||||
const MAX_SPEED = 1024 * 1024 * 1024; // 1 GB/s
|
|
||||||
downloadSpeed = Math.min(downloadSpeed, MAX_SPEED);
|
|
||||||
uploadSpeed = Math.min(uploadSpeed, MAX_SPEED);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新状态
|
|
||||||
lastBytesReceived = bytesReceived;
|
lastBytesReceived = bytesReceived;
|
||||||
lastBytesSent = bytesSent;
|
lastBytesSent = bytesSent;
|
||||||
lastTimestamp = now;
|
lastTimestamp = now;
|
||||||
isFirstRun = false;
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
downloadSpeed: (downloadSpeed / 1024).toFixed(2), // KB/s
|
downloadSpeed: (downloadSpeed / 1024).toFixed(2),
|
||||||
uploadSpeed: (uploadSpeed / 1024).toFixed(2), // KB/s
|
uploadSpeed: (uploadSpeed / 1024).toFixed(2),
|
||||||
totalReceived: (bytesReceived / (1024 * 1024 * 1024)).toFixed(2), // GB
|
totalReceived: (bytesReceived / (1024 * 1024 * 1024)).toFixed(2),
|
||||||
totalSent: (bytesSent / (1024 * 1024 * 1024)).toFixed(2), // GB
|
totalSent: (bytesSent / (1024 * 1024 * 1024)).toFixed(2),
|
||||||
timestamp: now
|
timestamp: now
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user