class Bigcommerce::Prometheus::Collectors::Resque

Collect metrics to push to the server type collector

Public Instance Methods

collect(metrics = {}) click to toggle source

@param [Hash] metrics @return [Hash]

# File lib/bigcommerce/prometheus/collectors/resque.rb, line 29
def collect(metrics = {})
  info = ::Resque.info

  metrics[:environment] = info[:environment].to_s
  metrics[:workers_total] = info[:workers].to_i
  metrics[:jobs_failed_total] = info[:failed].to_i
  metrics[:jobs_pending_total] = info[:pending].to_i
  metrics[:jobs_processed_total] = info[:processed].to_i
  metrics[:queues_total] = info[:queues].to_i
  metrics[:queues] = queue_sizes
  metrics
end
queue_sizes() click to toggle source
# File lib/bigcommerce/prometheus/collectors/resque.rb, line 42
def queue_sizes
  queues = {}
  ::Resque.queues.each do |queue|
    queues[queue.to_sym] = ::Resque.size(queue)
  end
  queues
end