Sha256: e81007c4bf57e5c3664e691e9f1d1d9d2f63c8af2a226bd25467ec5ee64ca521

Contents?: true

Size: 1.03 KB

Versions: 11

Compression:

Stored size: 1.03 KB

Contents

module Honeybadger
  module Plugins
    module SolidQueue
      Plugin.register :solid_queue do
        requirement { defined?(::SolidQueue) }

        collect do
          if config.cluster_collection?(:solid_queue)
            metric_source 'solid_queue'

            gauge 'jobs_in_progress', ->{ ::SolidQueue::ClaimedExecution.count }
            gauge 'jobs_blocked', ->{ ::SolidQueue::BlockedExecution.count }
            gauge 'jobs_failed', ->{ ::SolidQueue::FailedExecution.count }
            gauge 'jobs_scheduled', ->{ ::SolidQueue::ScheduledExecution.count }
            gauge 'jobs_processed', ->{ ::SolidQueue::Job.where.not(finished_at: nil).count }
            gauge 'active_workers', ->{ ::SolidQueue::Process.where(kind: "Worker").count }
            gauge 'active_dispatchers', ->{ ::SolidQueue::Process.where(kind: "Dispatcher").count }

            ::SolidQueue::Queue.all.each do |queue|
              gauge 'queue_depth', { queue: queue.name }, ->{ queue.size }
            end
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
honeybadger-5.14.2 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.14.1 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.14.0 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.13.3 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.13.2 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.13.1 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.13.0 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.12.0 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.11.2 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.11.1 lib/honeybadger/plugins/solid_queue.rb
honeybadger-5.11.0 lib/honeybadger/plugins/solid_queue.rb