aboutsummaryrefslogtreecommitdiff
path: root/load.lua
blob: a8d6971c3fd90fe95d3159e1ee247fd65b860ffc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
----------------------------------------------------------
-- Licensed under the GNU General Public License version 2
--  * Copyright (C) 2009 Adrian C. <anrxc_sysphere_org>
----------------------------------------------------------

-- {{{ Grab environment
local io = { open = io.open }
local setmetatable = setmetatable
-- }}}


-- Load: provides system load averages for the past 1, 5, and 15 minutes
module("vicious.load")


-- {{{ Load widget type
function worker(format)
    -- Get load averages
    local f = io.open('/proc/loadavg')
    local line = f:read("*line")
    f:close()

    -- Get load data
    local avg1, avg5, avg15 = 
        line:match("([%d]*%.[%d]*)%s([%d]*%.[%d]*)%s([%d]*%.[%d]*)")

    return {avg1, avg5, avg15}
end
-- }}}

setmetatable(_M, { __call = function(_, ...) return worker(...) end })