Class: RequestQueueTime::AutoScalingMetrics::SidekiqReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/services/auto_scaling_metrics/sidekiq_reporter.rb

Class Method Summary collapse

Class Method Details

.collect_metricsObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/services/auto_scaling_metrics/sidekiq_reporter.rb', line 14

def self.collect_metrics
  Sidekiq::Queue.all.each do |queue|
    AutoScalingMetrics::Reporter.add_metric(
      metric_name: "sidekiq_queue_latency",
      value: queue.paused? ? 0 : queue.latency,
      unit: "Seconds",
      dimensions: [{name: "queue_name", value: queue.name}]
    )
  end
end

.enableObject



4
5
6
7
8
9
10
11
12
# File 'lib/services/auto_scaling_metrics/sidekiq_reporter.rb', line 4

def self.enable
  Sidekiq.configure_server do |config|
    config.on(:leader) do
      AutoScalingMetrics::Reporter.start do |reporter|
        reporter.collector = method(:collect_metrics)
      end
    end
  end
end