aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--widgets/net.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/widgets/net.lua b/widgets/net.lua
index 5991b40..3d92991 100644
--- a/widgets/net.lua
+++ b/widgets/net.lua
@@ -47,17 +47,15 @@ local function worker(format)
local sysnet = helpers.pathtotable("/sys/class/net/" .. name)
args["{"..name.." carrier}"] = tonumber(sysnet.carrier) or 0
+ local now = os.time()
if nets[name] == nil then
-- Default values on the first run
nets[name] = {}
helpers.uformat(args, name .. " down", 0, unit)
helpers.uformat(args, name .. " up", 0, unit)
-
- nets[name].time = os.time()
else -- Net stats are absolute, substract our last reading
- local interval = os.time() - nets[name].time > 0 and
- os.time() - nets[name].time or 1
- nets[name].time = os.time()
+ local interval = now - nets[name].time
+ if interval < 0 then interval = 1 end
local down = (recv - nets[name][1]) / interval
local up = (send - nets[name][2]) / interval
@@ -66,6 +64,8 @@ local function worker(format)
helpers.uformat(args, name .. " up", up, unit)
end
+ nets[name].time = now
+
-- Store totals
nets[name][1] = recv
nets[name][2] = send