diff --git a/DiskIOMeter.c b/DiskIOMeter.c index b94af6de..c9db240c 100644 --- a/DiskIOMeter.c +++ b/DiskIOMeter.c @@ -31,9 +31,6 @@ static unsigned long int cached_write_diff = 0; static double cached_utilisation_diff = 0.0; static void DiskIOMeter_updateValues(Meter* this, char* buffer, int len) { - static unsigned long int cached_read_total = 0; - static unsigned long int cached_write_total = 0; - static unsigned long int cached_msTimeSpend_total = 0; static unsigned long long int cached_last_update = 0; struct timeval tv; @@ -43,6 +40,10 @@ static void DiskIOMeter_updateValues(Meter* this, char* buffer, int len) { /* update only every 500ms */ if (passedTimeInMs > 500) { + static unsigned long int cached_read_total = 0; + static unsigned long int cached_write_total = 0; + static unsigned long int cached_msTimeSpend_total = 0; + cached_last_update = timeInMilliSeconds; DiskIOData data; diff --git a/NetworkIOMeter.c b/NetworkIOMeter.c index c332aa87..a28738a2 100644 --- a/NetworkIOMeter.c +++ b/NetworkIOMeter.c @@ -18,16 +18,13 @@ static const int NetworkIOMeter_attributes[] = { }; static bool hasData = false; + static unsigned long int cached_rxb_diff = 0; static unsigned long int cached_rxp_diff = 0; static unsigned long int cached_txb_diff = 0; static unsigned long int cached_txp_diff = 0; static void NetworkIOMeter_updateValues(ATTR_UNUSED Meter* this, char* buffer, int len) { - static unsigned long int cached_rxb_total = 0; - static unsigned long int cached_rxp_total = 0; - static unsigned long int cached_txb_total = 0; - static unsigned long int cached_txp_total = 0; static unsigned long long int cached_last_update = 0; struct timeval tv; @@ -37,6 +34,11 @@ static void NetworkIOMeter_updateValues(ATTR_UNUSED Meter* this, char* buffer, i /* update only every 500ms */ if (passedTimeInMs > 500) { + static unsigned long int cached_rxb_total = 0; + static unsigned long int cached_rxp_total = 0; + static unsigned long int cached_txb_total = 0; + static unsigned long int cached_txp_total = 0; + cached_last_update = timeInMilliSeconds; unsigned long int bytesReceived, packetsReceived, bytesTransmitted, packetsTransmitted;