Sha256: 05a0837edc36707f21d5b56228022074b0f96a38c69daa69ed173fd6c6ff174d

Contents?: true

Size: 552 Bytes

Versions: 4

Compression:

Stored size: 552 Bytes

Contents

module Eye::Process::Trigger

  def add_triggers
    if self[:triggers]
      self[:triggers].each do |type, cfg|
        add_trigger(cfg)
      end      
    end
  end

  def remove_triggers
    self.triggers = []
  end

  def check_triggers
    return if unmonitored?

    self.triggers.each do |trigger|
      if !trigger.check(self.states_history)
        notify :crit, 'flapping!'
        @flapping = true        
      end
    end
  end

private

  def add_trigger(cfg = {})
    self.triggers << Eye::Trigger.create(cfg, logger.prefix)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eye-0.2.2 lib/eye/process/trigger.rb
eye-0.2.1 lib/eye/process/trigger.rb
eye-0.2 lib/eye/process/trigger.rb
eye-0.1.11 lib/eye/process/trigger.rb