class NetuitiveRailsAgent::SidekiqTracker::ChainTracker

Attributes

interaction[RW]

Public Class Methods

new() click to toggle source
# File lib/netuitive_rails_agent/sidekiq.rb, line 19
def initialize
  @interaction = NetuitiveRailsAgent::ApiInteraction.new
end

Public Instance Methods

call(worker, item, queue) { || ... } click to toggle source
# File lib/netuitive_rails_agent/sidekiq.rb, line 23
def call(worker, item, queue)
  NetuitiveRailsAgent::ErrorLogger.guard('error during sidekiq ChainTracker') do
    klass = item['wrapped'.freeze] || worker.class.to_s
    queue = item['queue']
    NetuitiveRailsAgent::NetuitiveLogger.log.debug "sidekiq job tracked. queue: #{queue}, class: #{klass}"
    interaction.aggregate_metric("sidekiq.#{klass}.job.count", 1)
    interaction.aggregate_metric("sidekiq.#{queue}.job.count", 1)
    interaction.aggregate_metric("sidekiq.#{queue}.#{klass}.job.count", 1)
  end
  yield
end