Sha256: 2a0d1410ef2547ea416a856017203667cdccb61f31cb325c80fc64c8721ab19c

Contents?: true

Size: 629 Bytes

Versions: 3

Compression:

Stored size: 629 Bytes

Contents

# This class has the knowledge of when to run the reporting.
# It may well become a strategy, or a DSL parser; for the time
# being the check is very crude, just check last minute load
# average
class StressReporter::Checker

  # This limit is going to be passed in as a command line arg
  # Defaults to 1.0
  LIMIT = ARGV.empty? ? 1 : ARGV[0].to_f

  # starts at 0.0
  @@load_average = 0.0

  # Returns true if limit exceeded. Sets @@load_average
  def self.go?
    @@load_average = Sys::CPU.load_avg[0].to_f
    @@load_average > LIMIT
  end

  # Returns last load average
  def self.load_average
    @@load_average
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stress_reporter-0.0.4 lib/stress_reporter/checker.rb
stress_reporter-0.0.3 lib/stress_reporter/checker.rb
stress_reporter-0.0.2 lib/stress_reporter/checker.rb