Class: Sidekiq::Monitor::Status
- Inherits:
-
Object
- Object
- Sidekiq::Monitor::Status
- Defined in:
- lib/sidekiq/monitor.rb
Defined Under Namespace
Classes: QUEUE_STRUCT
Constant Summary collapse
- VALID_SECTIONS =
%w[all version overview processes queues]
- COL_PAD =
2
Instance Method Summary collapse
- #all ⇒ Object
- #display(section = nil) ⇒ Object
- #overview ⇒ Object
- #processes ⇒ Object
- #queues ⇒ Object
- #version ⇒ Object
Instance Method Details
#all ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/sidekiq/monitor.rb', line 23 def all version puts overview puts processes puts queues end |
#display(section = nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/sidekiq/monitor.rb', line 11 def display(section = nil) section ||= "all" unless VALID_SECTIONS.include? section puts "I don't know how to check the status of '#{section}'!" puts "Try one of these: #{VALID_SECTIONS.join(", ")}" return end send(section) rescue => e puts "Couldn't get status: #{e}" end |
#overview ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/sidekiq/monitor.rb', line 38 def overview puts "---- Overview ----" puts " Processed: #{delimit stats.processed}" puts " Failed: #{delimit stats.failed}" puts " Busy: #{delimit stats.workers_size}" puts " Enqueued: #{delimit stats.enqueued}" puts " Retries: #{delimit stats.retry_size}" puts " Scheduled: #{delimit stats.scheduled_size}" puts " Dead: #{delimit stats.dead_size}" end |
#processes ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/sidekiq/monitor.rb', line 49 def processes puts "---- Processes (#{process_set.size}) ----" process_set.each_with_index do |process, index| puts "#{process["identity"]} #{(process)}" puts " Started: #{Time.at(process["started_at"])} (#{time_ago(process["started_at"])})" puts " Threads: #{process["concurrency"]} (#{process["busy"]} busy)" puts " Queues: #{split_multiline(process["queues"].sort, pad: 11)}" puts "" unless (index + 1) == process_set.size end end |
#queues ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/sidekiq/monitor.rb', line 60 def queues puts "---- Queues (#{queue_data.size}) ----" columns = { name: [:ljust, (["name"] + queue_data.map(&:name)).map(&:length).max + COL_PAD], size: [:rjust, (["size"] + queue_data.map(&:size)).map(&:length).max + COL_PAD], latency: [:rjust, (["latency"] + queue_data.map(&:latency)).map(&:length).max + COL_PAD], } columns.each { |col, (dir, width)| print col.to_s.upcase.public_send(dir, width) } puts queue_data.each do |q| columns.each do |col, (dir, width)| print q.send(col).public_send(dir, width) end puts end end |