Class: Sidekiq::Stats

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq/api.rb

Overview

Retrieve runtime statistics from Redis regarding this Sidekiq cluster.

stat = Sidekiq::Stats.new
stat.processed

Defined Under Namespace

Classes: History

Instance Method Summary collapse

Constructor Details

#initializeStats

Returns a new instance of Stats.



29
30
31
# File 'lib/sidekiq/api.rb', line 29

def initialize
  fetch_stats_fast!
end

Instance Method Details

#dead_sizeObject



49
50
51
# File 'lib/sidekiq/api.rb', line 49

def dead_size
  stat :dead_size
end

#default_queue_latencyObject



65
66
67
# File 'lib/sidekiq/api.rb', line 65

def default_queue_latency
  stat :default_queue_latency
end

#enqueuedObject



53
54
55
# File 'lib/sidekiq/api.rb', line 53

def enqueued
  stat :enqueued
end

#failedObject



37
38
39
# File 'lib/sidekiq/api.rb', line 37

def failed
  stat :failed
end

#processedObject



33
34
35
# File 'lib/sidekiq/api.rb', line 33

def processed
  stat :processed
end

#processes_sizeObject



57
58
59
# File 'lib/sidekiq/api.rb', line 57

def processes_size
  stat :processes_size
end

#queuesObject



69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/sidekiq/api.rb', line 69

def queues
  Sidekiq.redis do |conn|
    queues = conn.sscan("queues").to_a

    lengths = conn.pipelined { |pipeline|
      queues.each do |queue|
        pipeline.llen("queue:#{queue}")
      end
    }

    array_of_arrays = queues.zip(lengths).sort_by { |_, size| -size }
    array_of_arrays.to_h
  end
end

#retry_sizeObject



45
46
47
# File 'lib/sidekiq/api.rb', line 45

def retry_size
  stat :retry_size
end

#scheduled_sizeObject



41
42
43
# File 'lib/sidekiq/api.rb', line 41

def scheduled_size
  stat :scheduled_size
end

#workers_sizeObject



61
62
63
# File 'lib/sidekiq/api.rb', line 61

def workers_size
  stat :workers_size
end