Module: NewrelicSidekiqMetrics

Defined in:
lib/newrelic_sidekiq_metrics.rb,
lib/newrelic_sidekiq_metrics/version.rb,
lib/newrelic_sidekiq_metrics/recorder.rb,
lib/newrelic_sidekiq_metrics/middleware.rb

Defined Under Namespace

Classes: Middleware, Recorder

Constant Summary collapse

METRIC_PREFIX =
'Custom/Sidekiq'.freeze
METRIC_MAP =
{
  processed: 'ProcessedSize',
  failed: 'FailedSize',
  scheduled_size: 'ScheduledSize',
  retry_size: 'RetrySize',
  dead_size: 'DeadSize',
  enqueued: 'EnqueuedSize',
  processes_size: 'ProcessesSize',
  workers_size: 'WorkersSize',
}.freeze
DEFAULT_ENABLED_METRICS =
%i[enqueued retry_size].freeze
VERSION =
'1.6.2'.freeze

Class Method Summary collapse

Class Method Details

.add_client_middlewareObject



35
36
37
38
39
40
41
# File 'lib/newrelic_sidekiq_metrics.rb', line 35

def self.add_client_middleware
  Sidekiq.configure_client do |config|
    config.client_middleware do |chain|
      chain.add NewrelicSidekiqMetrics::Middleware
    end
  end
end

.add_server_middlewareObject



43
44
45
46
47
48
49
50
51
52
# File 'lib/newrelic_sidekiq_metrics.rb', line 43

def self.add_server_middleware
  Sidekiq.configure_server do |config|
    config.client_middleware do |chain|
      chain.add NewrelicSidekiqMetrics::Middleware
    end
    config.server_middleware do |chain|
      chain.add NewrelicSidekiqMetrics::Middleware
    end
  end
end

.available_metricsObject



23
24
25
# File 'lib/newrelic_sidekiq_metrics.rb', line 23

def self.available_metrics
  METRIC_MAP.keys
end

.inline_sidekiq?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/newrelic_sidekiq_metrics.rb', line 54

def self.inline_sidekiq?
  defined?(Sidekiq::Testing) && Sidekiq::Testing.inline?
end

.use(*values) ⇒ Object



31
32
33
# File 'lib/newrelic_sidekiq_metrics.rb', line 31

def self.use(*values)
  @used_metrics = values.flatten & available_metrics
end

.used_metricsObject



27
28
29
# File 'lib/newrelic_sidekiq_metrics.rb', line 27

def self.used_metrics
  @used_metrics ||= DEFAULT_ENABLED_METRICS
end