class Faulty::Events::HoneybadgerListener

Reports circuit errors to Honeybadger

www.honeybadger.io/

The honeybadger gem must be available.

Constants

HONEYBADGER_EVENTS

Public Instance Methods

handle(event, payload) click to toggle source

(see ListenerInterface#handle)

# File lib/faulty/events/honeybadger_listener.rb, line 20
def handle(event, payload)
  return unless HONEYBADGER_EVENTS.include?(event)

  send(event, payload)
end

Private Instance Methods

_circuit_error(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 54
def _circuit_error(payload)
  Honeybadger.notify(payload[:error], context: {
    circuit: payload[:circuit].name
  })
end
cache_failure(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 40
def cache_failure(payload)
  Honeybadger.notify(payload[:error], context: {
    action: payload[:action],
    key: payload[:key]
  })
end
circuit_failure(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 28
def circuit_failure(payload)
  _circuit_error(payload)
end
circuit_opened(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 32
def circuit_opened(payload)
  _circuit_error(payload)
end
circuit_reopened(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 36
def circuit_reopened(payload)
  _circuit_error(payload)
end
storage_failure(payload) click to toggle source
# File lib/faulty/events/honeybadger_listener.rb, line 47
def storage_failure(payload)
  Honeybadger.notify(payload[:error], context: {
    action: payload[:action],
    circuit: payload[:circuit]&.name
  })
end