Class: IPVSLitmus::Metric::CPULoad

Inherits:
Object
  • Object
show all
Defined in:
lib/ipvs_litmus/metric/cpu_load.rb

Instance Method Summary collapse

Constructor Details

#initialize(weight, facter = Facter) ⇒ CPULoad

Returns a new instance of CPULoad.



4
5
6
7
# File 'lib/ipvs_litmus/metric/cpu_load.rb', line 4

def initialize(weight, facter = Facter)
  @weight = weight
  @facter = facter
end

Instance Method Details

#current_healthObject



9
10
11
# File 'lib/ipvs_litmus/metric/cpu_load.rb', line 9

def current_health
  [@weight - (@weight * load_average / processor_count), 0].max
end

#load_averageObject



17
18
19
# File 'lib/ipvs_litmus/metric/cpu_load.rb', line 17

def load_average
  @facter.value('loadaverage').split(' ').first.to_f
end

#processor_countObject



13
14
15
# File 'lib/ipvs_litmus/metric/cpu_load.rb', line 13

def processor_count
  @processor_count ||= @facter.value('processorcount').to_i
end