class Sidekiq::Datadog::Monitor::MetricsWorker
Public Instance Methods
perform()
click to toggle source
# File lib/sidekiq/datadog/monitor/metrics_worker.rb, line 12 def perform statsd = ::Datadog::Statsd.new(Data.agent_host, Data.agent_port) return send_metrics(statsd) unless Data.batch statsd.batch { |batch_statsd| send_metrics(batch_statsd) } end
Private Instance Methods
post_queue_latency(statsd, queue_name)
click to toggle source
# File lib/sidekiq/datadog/monitor/metrics_worker.rb, line 35 def post_queue_latency(statsd, queue_name) latency = Sidekiq::Queue.new(queue_name).latency statsd.gauge('sidekiq.queue.latency', latency, tags: ["queue_name:#{queue_name}"].concat(Data.tags)) end
post_queue_size(statsd, queue_name, size)
click to toggle source
# File lib/sidekiq/datadog/monitor/metrics_worker.rb, line 30 def post_queue_size(statsd, queue_name, size) statsd.gauge('sidekiq.queue.size', size, tags: ["queue_name:#{queue_name}"].concat(Data.tags)) end
send_metrics(statsd)
click to toggle source
# File lib/sidekiq/datadog/monitor/metrics_worker.rb, line 22 def send_metrics(statsd) Sidekiq::Stats.new.queues.each_pair do |queue_name, size| post_queue_size(statsd, queue_name, size) post_queue_latency(statsd, queue_name) end end