moltenbar/mod/memory

29 lines
636 B
Ruby

# vim: ft=ruby
class ModMemory < Worker
def mainloop()
while true do
mem = {}
data = File.read("/proc/meminfo").scan(/(.+):\s+([0-9]+)/).map do |k, v|
mem[k] = v.to_i
end
mem["avail_part"] = mem["MemAvailable"]/(mem["MemTotal"]/100)
if mem["avail_part"] < @my_config['crit_value']
fg_colour = @my_config['crit_colour']
elsif mem["avail_part"] < @my_config['warn_value']
fg_colour = @my_config['warn_colour']
else
fg_colour = @my_config['ok_colour']
end
self.write "%%{F%s}%s%%{F-}" % [ fg_colour, mem["avail_part"].to_s ]
sleep(1)
end
end
end
Modules.add("memory", "ModMemory")