Class: NetuitiveRailsAgent::SidekiqTracker::ErrorTracker
- Inherits:
-
Object
- Object
- NetuitiveRailsAgent::SidekiqTracker::ErrorTracker
- Includes:
- ErrorUtils
- Defined in:
- lib/netuitive_rails_agent/sidekiq.rb
Instance Attribute Summary
Attributes included from ErrorUtils
Instance Method Summary collapse
- #call(exception, ctx_hash) ⇒ Object
-
#initialize ⇒ ErrorTracker
constructor
A new instance of ErrorTracker.
Methods included from ErrorUtils
#handle_error, #ignored_error?
Constructor Details
#initialize ⇒ ErrorTracker
Returns a new instance of ErrorTracker.
39 40 41 |
# File 'lib/netuitive_rails_agent/sidekiq.rb', line 39 def initialize @interaction = NetuitiveRailsAgent::ApiInteraction.new end |
Instance Method Details
#call(exception, ctx_hash) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/netuitive_rails_agent/sidekiq.rb', line 43 def call(exception, ctx_hash) NetuitiveRailsAgent::ErrorLogger.guard('error during sidekiq ErrorTracker') do NetuitiveRailsAgent::NetuitiveLogger.log.debug "sidekiq error tracked. context: #{ctx_hash[:context]}" = { sidekiq: 'true', context: ctx_hash[:context] } metrics = ['sidekiq.errors'] job = ctx_hash[:job] unless job.nil? if defined? job.item item = job.item klass = item['wrapped'.freeze] || worker.class.to_s queue = item['queue'] metrics << "sidekiq.#{queue}.#{klass}.error.count" metrics << "sidekiq.#{queue}.error.count" end end handle_error(exception, metrics, ) end end |