class LitmusPaper::Metric::CPULoad
Public Class Methods
new(weight)
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 4 def initialize(weight) @weight = weight end
Public Instance Methods
current_health()
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 8 def current_health [@weight - (@weight * load_average / processor_count), 1].max end
load_average()
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 23 def load_average File.read('/proc/loadavg').split(' ').first.to_f end
processor_count()
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 12 def processor_count @processor_count ||= File.readlines('/proc/cpuinfo').reduce(0) do |memo, line| if line =~ /^processor/ memo + 1 else memo end end end
stats()
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 27 def stats { :cpu_load_average => load_average, } end
to_s()
click to toggle source
# File lib/litmus_paper/metric/cpu_load.rb, line 33 def to_s "Metric::CPULoad(#{@weight})" end