Browse Source

fix: 解决概览页流量突增问题 (#2142)

Refs #2073
pull/2162/head
ssongliu 1 year ago committed by GitHub
parent
commit
0c6a065994
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      frontend/src/views/home/index.vue

13
frontend/src/views/home/index.vue

@ -374,9 +374,10 @@ const onLoadCurrentInfo = async () => {
const res = await loadCurrentInfo(searchInfo.ioOption, searchInfo.netOption); const res = await loadCurrentInfo(searchInfo.ioOption, searchInfo.netOption);
currentInfo.value.timeSinceUptime = res.data.timeSinceUptime; currentInfo.value.timeSinceUptime = res.data.timeSinceUptime;
let timeInterval = Number(res.data.uptime - currentInfo.value.uptime) || 3;
currentChartInfo.netBytesSent = currentChartInfo.netBytesSent =
res.data.netBytesSent - currentInfo.value.netBytesSent > 0 res.data.netBytesSent - currentInfo.value.netBytesSent > 0
? Number(((res.data.netBytesSent - currentInfo.value.netBytesSent) / 1024 / 3).toFixed(2)) ? Number(((res.data.netBytesSent - currentInfo.value.netBytesSent) / 1024 / timeInterval).toFixed(2))
: 0; : 0;
netBytesSents.value.push(currentChartInfo.netBytesSent); netBytesSents.value.push(currentChartInfo.netBytesSent);
if (netBytesSents.value.length > 20) { if (netBytesSents.value.length > 20) {
@ -385,7 +386,7 @@ const onLoadCurrentInfo = async () => {
currentChartInfo.netBytesRecv = currentChartInfo.netBytesRecv =
res.data.netBytesRecv - currentInfo.value.netBytesRecv > 0 res.data.netBytesRecv - currentInfo.value.netBytesRecv > 0
? Number(((res.data.netBytesRecv - currentInfo.value.netBytesRecv) / 1024 / 3).toFixed(2)) ? Number(((res.data.netBytesRecv - currentInfo.value.netBytesRecv) / 1024 / timeInterval).toFixed(2))
: 0; : 0;
netBytesRecvs.value.push(currentChartInfo.netBytesRecv); netBytesRecvs.value.push(currentChartInfo.netBytesRecv);
if (netBytesRecvs.value.length > 20) { if (netBytesRecvs.value.length > 20) {
@ -394,7 +395,7 @@ const onLoadCurrentInfo = async () => {
currentChartInfo.ioReadBytes = currentChartInfo.ioReadBytes =
res.data.ioReadBytes - currentInfo.value.ioReadBytes > 0 res.data.ioReadBytes - currentInfo.value.ioReadBytes > 0
? Number(((res.data.ioReadBytes - currentInfo.value.ioReadBytes) / 1024 / 1024 / 3).toFixed(2)) ? Number(((res.data.ioReadBytes - currentInfo.value.ioReadBytes) / 1024 / 1024 / timeInterval).toFixed(2))
: 0; : 0;
ioReadBytes.value.push(currentChartInfo.ioReadBytes); ioReadBytes.value.push(currentChartInfo.ioReadBytes);
if (ioReadBytes.value.length > 20) { if (ioReadBytes.value.length > 20) {
@ -403,17 +404,17 @@ const onLoadCurrentInfo = async () => {
currentChartInfo.ioWriteBytes = currentChartInfo.ioWriteBytes =
res.data.ioWriteBytes - currentInfo.value.ioWriteBytes > 0 res.data.ioWriteBytes - currentInfo.value.ioWriteBytes > 0
? Number(((res.data.ioWriteBytes - currentInfo.value.ioWriteBytes) / 1024 / 1024 / 3).toFixed(2)) ? Number(((res.data.ioWriteBytes - currentInfo.value.ioWriteBytes) / 1024 / 1024 / timeInterval).toFixed(2))
: 0; : 0;
ioWriteBytes.value.push(currentChartInfo.ioWriteBytes); ioWriteBytes.value.push(currentChartInfo.ioWriteBytes);
if (ioWriteBytes.value.length > 20) { if (ioWriteBytes.value.length > 20) {
ioWriteBytes.value.splice(0, 1); ioWriteBytes.value.splice(0, 1);
} }
currentChartInfo.ioCount = Math.round(Number((res.data.ioCount - currentInfo.value.ioCount) / 3)); currentChartInfo.ioCount = Math.round(Number((res.data.ioCount - currentInfo.value.ioCount) / timeInterval));
let ioReadTime = res.data.ioReadTime - currentInfo.value.ioReadTime; let ioReadTime = res.data.ioReadTime - currentInfo.value.ioReadTime;
let ioWriteTime = res.data.ioWriteTime - currentInfo.value.ioWriteTime; let ioWriteTime = res.data.ioWriteTime - currentInfo.value.ioWriteTime;
let ioChoose = ioReadTime > ioWriteTime ? ioReadTime : ioWriteTime; let ioChoose = ioReadTime > ioWriteTime ? ioReadTime : ioWriteTime;
currentChartInfo.ioTime = Math.round(Number(ioChoose / 3)); currentChartInfo.ioTime = Math.round(Number(ioChoose / timeInterval));
timeIODatas.value.push(dateFormatForSecond(res.data.shotTime)); timeIODatas.value.push(dateFormatForSecond(res.data.shotTime));
if (timeIODatas.value.length > 20) { if (timeIODatas.value.length > 20) {

Loading…
Cancel
Save