class Riemann::Tools::Sidekiq
Public Class Methods
new()
click to toggle source
# File bin/riemann-sidekiq, line 17 def initialize ::Sidekiq.configure_client do |config| config.redis = { url: opts[:sidekiq_url], namespace: opts[:sidekiq_namespace] } end ::Sidekiq.configure_server do |config| config.redis = { url: opts[:sidekiq_url], namespace: opts[:sidekiq_namespace] } end @enqueued_warning = opts.fetch(:enqueued_warning) @enqueued_critical = opts.fetch(:enqueued_critical) end
Public Instance Methods
tick()
click to toggle source
# File bin/riemann-sidekiq, line 30 def tick stats = ::Sidekiq::Stats.new begin %w(processed failed workers_size enqueued scheduled_size retry_size dead_size).each do |m| metric = stats.send(m) state = if m.eql?("enqueued") && metric >= @enqueued_critical 'critical' elsif m.eql?("enqueued") && metric >= @enqueued_warning 'warning' else 'ok' end report( service: "sidekiq #{m}", metric: metric, state: state ) end stats.queues.each do |name, metric| report( service: "sidekiq queues #{name}", metric: metric ) end rescue => e puts e end end