Class: BookingsyncSidekiqProExtendedMetricsCollector::Collector

Inherits:
Object
  • Object
show all
Defined in:
lib/bookingsync_sidekiq_pro_extended_metrics_collector/collector.rb

Instance Method Summary collapse

Constructor Details

#initialize(datadog_client, configuration) ⇒ Collector

Returns a new instance of Collector.



16
17
18
19
# File 'lib/bookingsync_sidekiq_pro_extended_metrics_collector/collector.rb', line 16

def initialize(datadog_client, configuration)
  @datadog_client = datadog_client
  @configuration = configuration
end

Instance Method Details

#collect_queue_latency(queue) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/bookingsync_sidekiq_pro_extended_metrics_collector/collector.rb', line 21

def collect_queue_latency(queue)
  queue = queue.to_s
  latency = Sidekiq::Queue.new(queue).latency
  metric_name = build_metric_name_for_queue_latency(queue)

  datadog_client.gauge(global_metric_name_for_latency, latency, tags: ["queue:#{queue}"])
  datadog_client.gauge(metric_name, latency)
end

#collect_retry_countObject



30
31
32
33
# File 'lib/bookingsync_sidekiq_pro_extended_metrics_collector/collector.rb', line 30

def collect_retry_count
  size = Sidekiq::RetrySet.new.size
  datadog_client.gauge(build_metric_name_for_retry, size)
end

#collect_scheduled_countObject



35
36
37
38
# File 'lib/bookingsync_sidekiq_pro_extended_metrics_collector/collector.rb', line 35

def collect_scheduled_count
  size = Sidekiq::ScheduledSet.new.size
  datadog_client.gauge(build_metric_name_for_scheduled, size)
end