class Rapporteur::Checks::LoadCheck
Constants
- DEFAULT_TOLERANCE
Public Class Methods
call(checker)
click to toggle source
# File lib/rapporteur/load_check.rb, line 35 def self.call(checker) new.call(checker) end
current_load()
click to toggle source
# File lib/rapporteur/load_check.rb, line 39 def self.current_load loadavg = FFI::MemoryPointer.new(:double, 1) if getloadavg(loadavg, 1) == -1 raise SystemCallError, "getloadavg() - #{strerror(FFI.errno)}" end loadavg.read_double end
new(tolerance=DEFAULT_TOLERANCE)
click to toggle source
# File lib/rapporteur/load_check.rb, line 20 def initialize(tolerance=DEFAULT_TOLERANCE) @tolerance = tolerance end
Public Instance Methods
call(checker)
click to toggle source
# File lib/rapporteur/load_check.rb, line 24 def call(checker) loadavg = self.class.current_load if loadavg > @tolerance checker.add_error(:load, :excessive, :tolerance => @tolerance, :value => loadavg) checker.halt! else checker.add_message(:load, loadavg) end end