module Rubysermon
class Cpu < ModTemplate
def initialize
@y_axis = "CPU Load"
@graph_name = "CPU Load In Time"
@cpu_count = File.readlines("/proc/stat").select { |line|
line =~ /^cpu[\d]/
}.length
@cpu_load = 0.00
@options = {notify_threshold: @cpu_count*0.90}
end
def load_options(options)
@options.merge!(options)
end
def results
@cpu_load = File.read("/proc/loadavg").split(" ").first.to_f
end
def notify?
@cpu_load >= @options[:notify_threshold].to_i
end
def y_axis_name
@y_axis
end
def graph_name
"#@graph_name (CPUs: #@cpu_count)"
end
end
end