class PrometheusExporter::Server::ResqueCollector
Constants
- MAX_RESQUE_METRIC_AGE
- RESQUE_GAUGES
Attributes
gauges[R]
resque_metrics[R]
Public Class Methods
new()
click to toggle source
# File lib/prometheus_exporter/server/resque_collector.rb, line 15 def initialize @resque_metrics = [] @gauges = {} end
Public Instance Methods
collect(object)
click to toggle source
# File lib/prometheus_exporter/server/resque_collector.rb, line 42 def collect(object) now = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) object["created_at"] = now resque_metrics.delete_if { |metric| metric["created_at"] + MAX_RESQUE_METRIC_AGE < now } resque_metrics << object end
metrics()
click to toggle source
# File lib/prometheus_exporter/server/resque_collector.rb, line 24 def metrics return [] if resque_metrics.length == 0 resque_metrics.map do |metric| labels = metric.fetch("custom_labels", {}) RESQUE_GAUGES.map do |name, help| name = name.to_s if value = metric[name] gauge = gauges[name] ||= PrometheusExporter::Metric::Gauge.new("resque_#{name}", help) gauge.observe(value, labels) end end end gauges.values end
type()
click to toggle source
# File lib/prometheus_exporter/server/resque_collector.rb, line 20 def type "resque" end