Sha256: 05cbc5e0adbd23cce369ec17e7e479458a3bc48b7d4ac5237d533749d975feb9
Contents?: true
Size: 1.15 KB
Versions: 3
Compression:
Stored size: 1.15 KB
Contents
module PrometheusExporter::Server class SidekiqCollector < TypeCollector def type "sidekiq" end def collect(obj) ensure_sidekiq_metrics @sidekiq_job_duration_seconds.observe(obj["duration"], job_name: obj["name"]) @sidekiq_jobs_total.observe(1, job_name: obj["name"]) @sidekiq_failed_jobs_total.observe(1, job_name: obj["name"]) if !obj["success"] end def metrics if @sidekiq_jobs_total [@sidekiq_job_duration_seconds, @sidekiq_jobs_total, @sidekiq_failed_jobs_total] else [] end end protected def ensure_sidekiq_metrics if !@sidekiq_jobs_total @sidekiq_job_duration_seconds = PrometheusExporter::Metric::Counter.new( "sidekiq_job_duration_seconds", "Total time spent in sidekiq jobs.") @sidekiq_jobs_total = PrometheusExporter::Metric::Counter.new( "sidekiq_jobs_total", "Total number of sidekiq jobs executed.") @sidekiq_failed_jobs_total = PrometheusExporter::Metric::Counter.new( "sidekiq_failed_jobs_total", "Total number failed sidekiq jobs executed.") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems