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
38 39 40 41 42 43 44 45 46 |
# File 'lib/sidekiq/monitor.rb', line 38 def all version puts overview puts processes puts queues end |
#display(section = nil) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/sidekiq/monitor.rb', line 26 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
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/sidekiq/monitor.rb', line 53 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
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/sidekiq/monitor.rb', line 64 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
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/sidekiq/monitor.rb', line 75 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 |