aboutsummaryrefslogtreecommitdiff
path: root/dio.lua
diff options
context:
space:
mode:
authorAdrian C. (anrxc) <anrxc@sysphere.org>2010-01-29 16:41:40 +0100
committerAdrian C. (anrxc) <anrxc@sysphere.org>2010-01-29 16:48:01 +0100
commit71566e04840201f13b1e869fd17a3576460dff9a (patch)
treed06b9dfee91197474dcc21aea27333de5749d83f /dio.lua
parent8fe4cf436afd24877ebe0fb6d706cbafdc2cc4e7 (diff)
downloadvicious-legacy-71566e04840201f13b1e869fd17a3576460dff9a.tar.xz
dio: further improved support for multiple devices
Diffstat (limited to 'dio.lua')
-rw-r--r--dio.lua30
1 files changed, 15 insertions, 15 deletions
diff --git a/dio.lua b/dio.lua
index ef6500f..57b786d 100644
--- a/dio.lua
+++ b/dio.lua
@@ -34,41 +34,41 @@ end
-- {{{ Disk I/O widget type
local function worker(format, disk)
- local disk_lines = { disk = {} }
+ local disk_lines = { [disk] = {} }
local disk_stats = helpers.pathtotable("/sys/block/" .. disk)
if disk_stats.stat then
local match = string.gmatch(disk_stats.stat, "[%s]+([%d]+)")
for i = 1, 11 do -- Store disk stats
- table.insert(disk_lines.disk, match())
+ table.insert(disk_lines[disk], match())
end
end
-- Ensure tables are initialized correctly
- local diff_total = { disk = {} }
- if not disk_total.disk then
- disk_usage.disk = {}
- disk_total.disk = {}
+ local diff_total = { [disk] = {} }
+ if not disk_total[disk] then
+ disk_usage[disk] = {}
+ disk_total[disk] = {}
- while #disk_total.disk < #disk_lines.disk do
- table.insert(disk_total.disk, 0)
+ while #disk_total[disk] < #disk_lines[disk] do
+ table.insert(disk_total[disk], 0)
end
end
- for i, v in ipairs(disk_lines.disk) do
+ for i, v in ipairs(disk_lines[disk]) do
-- Diskstats are absolute, substract our last reading
- diff_total.disk[i] = v - disk_total.disk[i]
+ diff_total[disk][i] = v - disk_total[disk][i]
-- Store totals
- disk_total.disk[i] = v
+ disk_total[disk][i] = v
end
-- Calculate and store I/O
- uformat(disk_usage.disk, "read", diff_total.disk[3])
- uformat(disk_usage.disk, "write", diff_total.disk[7])
- uformat(disk_usage.disk, "total", diff_total.disk[7] + diff_total.disk[3])
+ uformat(disk_usage[disk], "read", diff_total[disk][3])
+ uformat(disk_usage[disk], "write", diff_total[disk][7])
+ uformat(disk_usage[disk], "total", diff_total[disk][7] + diff_total[disk][3])
- return disk_usage.disk
+ return disk_usage[disk]
end
-- }}}