diff --git a/server/src/main.cpp b/server/src/main.cpp index e1b4600..57e59ed 100644 --- a/server/src/main.cpp +++ b/server/src/main.cpp @@ -265,7 +265,7 @@ void CMain::JSONUpdateThread(void *pUser) str_format(aUptime, sizeof(aUptime), "%02d:%02d:%02d", (int)(pClients[i].m_Stats.m_Uptime/60.0/60.0), (int)((pClients[i].m_Stats.m_Uptime/60)%60), (int)((pClients[i].m_Stats.m_Uptime)%60)); // track month network traffic, diff: 2021-10-01 00:10 - // if ServerStatus is active then last_network_in/out is month traffic diff, else last_network_in/out is last record flag. + // last_network_in/out is last record flag. time_t currentStamp = (long long)time(/*ago*/0); if(0 == pClients[i].m_LastNetworkIN || (localtime(¤tStamp)->tm_mday == pClients[i].m_aMonthStart && localtime(¤tStamp)->tm_hour == 0 && localtime(¤tStamp)->tm_min < 10)) { @@ -281,8 +281,8 @@ void CMain::JSONUpdateThread(void *pUser) pClients[i].m_Stats.m_time_10010, pClients[i].m_Stats.m_time_189, pClients[i].m_Stats.m_time_10086,pClients[i].m_Stats.m_tcpCount,pClients[i].m_Stats.m_udpCount,pClients[i].m_Stats.m_processCount,pClients[i].m_Stats.m_threadCount, pClients[i].m_Stats.m_NetworkRx, pClients[i].m_Stats.m_NetworkTx, pClients[i].m_Stats.m_NetworkIN, pClients[i].m_Stats.m_NetworkOUT, (int)pClients[i].m_Stats.m_CPU, pClients[i].m_Stats.m_MemTotal, pClients[i].m_Stats.m_MemUsed, pClients[i].m_Stats.m_SwapTotal, pClients[i].m_Stats.m_SwapUsed, pClients[i].m_Stats.m_HDDTotal, pClients[i].m_Stats.m_HDDUsed, - pClients[i].m_Stats.m_NetworkIN == 0 ? pClients[i].m_LastNetworkIN : pClients[i].m_Stats.m_NetworkIN - pClients[i].m_LastNetworkIN, - pClients[i].m_Stats.m_NetworkOUT == 0 ? pClients[i].m_LastNetworkOUT : pClients[i].m_Stats.m_NetworkOUT - pClients[i].m_LastNetworkOUT, + pClients[i].m_Stats.m_NetworkIN == 0 || pClients[i].m_LastNetworkIN == 0 ? pClients[i].m_Stats.m_NetworkIN : pClients[i].m_LastNetworkIN, + pClients[i].m_Stats.m_NetworkOUT == 0 || pClients[i].m_LastNetworkOUT == 0 ? pClients[i].m_Stats.m_NetworkOUT : pClients[i].m_LastNetworkOUT, pClients[i].m_Stats.m_aCustom); pBuf += strlen(pBuf); } diff --git a/web/js/serverstatus.js b/web/js/serverstatus.js index ebe90bf..ba9266b 100644 --- a/web/js/serverstatus.js +++ b/web/js/serverstatus.js @@ -152,15 +152,17 @@ function uptime() { // month traffic var monthtraffic = ""; - if(result.servers[i].last_network_in < 1024*1024*1024*1024) - monthtraffic += (result.servers[i].last_network_in/1024/1024/1024).toFixed(2) + "G"; + var trafficdiff_in = result.servers[i].network_in - result.servers[i].last_network_in; + var trafficdiff_out = result.servers[i].network_out - result.servers[i].last_network_out; + if(trafficdiff_in < 1024*1024*1024*1024) + monthtraffic += (trafficdiff_in/1024/1024/1024).toFixed(2) + "G"; else - monthtraffic += (result.servers[i].last_network_in/1024/1024/1024/1024).toFixed(2) + "T"; + monthtraffic += (trafficdiff_in/1024/1024/1024/1024).toFixed(2) + "T"; monthtraffic += " | " - if(result.servers[i].last_network_out < 1024*1024*1024*1024) - monthtraffic += (result.servers[i].last_network_out/1024/1024/1024).toFixed(2) + "G"; + if(trafficdiff_out < 1024*1024*1024*1024) + monthtraffic += (trafficdiff_out/1024/1024/1024).toFixed(2) + "G"; else - monthtraffic += (result.servers[i].last_network_out/1024/1024/1024/1024).toFixed(2) + "T"; + monthtraffic += (trafficdiff_out/1024/1024/1024/1024).toFixed(2) + "T"; TableRow.children["month_traffic"].children[0].children[0].className = "progress-bar"; TableRow.children["month_traffic"].children[0].children[0].innerHTML = ""+monthtraffic+"";