29 lines
622 B
Plaintext
29 lines
622 B
Plaintext
|
# vim: ft=ruby
|
||
|
|
||
|
class GPU < Worker
|
||
|
require 'open3'
|
||
|
|
||
|
def mainloop()
|
||
|
while true do
|
||
|
Open3.popen2("nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader") {|i,o,t|
|
||
|
gpu_temp = o.gets.to_i
|
||
|
|
||
|
if gpu_temp > @my_config['temp_crit'].to_i
|
||
|
fg_colour = "crit_colour"
|
||
|
elsif gpu_temp > @my_config['temp_warn'].to_i
|
||
|
fg_colour = "warn_colour"
|
||
|
else
|
||
|
fg_colour = "ok_colour"
|
||
|
end
|
||
|
|
||
|
rstr = "%%{FC{%s}}%s%%{F-}" % [ fg_colour, gpu_temp ]
|
||
|
self.write(rstr)
|
||
|
}
|
||
|
|
||
|
sleep(1)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
Modules.add("gpu", "GPU")
|