Sha256: ec6a10491b2ac13b136a37fb0980981d6629ff0ca7b43bcd4cc095dae56a9954

Contents?: true

Size: 543 Bytes

Versions: 6

Compression:

Stored size: 543 Bytes

Contents

module LitmusPaper
  module Metric
    class CPULoad
      def initialize(weight, facter = Facter)
        @weight = weight
        @facter = facter
      end

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

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

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

      def to_s
        "Metric::CPULoad(#{@weight})"
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
litmus_paper-0.9.6 lib/litmus_paper/metric/cpu_load.rb
litmus_paper-0.9.5 lib/litmus_paper/metric/cpu_load.rb
litmus_paper-0.9.4 lib/litmus_paper/metric/cpu_load.rb
litmus_paper-0.9.3 lib/litmus_paper/metric/cpu_load.rb
litmus_paper-0.9.2 lib/litmus_paper/metric/cpu_load.rb
litmus_paper-0.9.1 lib/litmus_paper/metric/cpu_load.rb