module GreekFire
Constants
- VERSION
Attributes
configuration[RW]
Public Class Methods
configure() { |configuration| ... }
click to toggle source
# File lib/greek_fire.rb, line 11 def configure self.configuration ||= Configuration.new yield(configuration) if block_given? register_sidekiq_metrics if configuration.sidekiq_metrics && Object.const_defined?("Sidekiq") end
Private Class Methods
metric_already_registered?(metric_name)
click to toggle source
# File lib/greek_fire.rb, line 34 def metric_already_registered?(metric_name) GreekFire::Metric.metrics.map(&:name).include? metric_name end
register_sidekiq_metrics()
click to toggle source
# File lib/greek_fire.rb, line 19 def register_sidekiq_metrics duplicate_metrics = [] sidekiq_metrics.each do |metric| if metric_already_registered? metric[:name] duplicate_metrics << metric[:name] else GreekFire::Gauge.register metric[:name], description: metric[:description], labels: metric[:labels], &metric[:proc] end end raise DuplicateMetricError, "The following metrics have already been registered by default. Please remove them from your greek_fire.rb initializer: #{duplicate_metrics.join(", ")}" if duplicate_metrics.any? end
sidekiq_metrics()
click to toggle source
# File lib/greek_fire.rb, line 38 def sidekiq_metrics [ { name: "sidekiq_process_count", description: "How many sidekiq processes are running", proc: Proc.new { |labels| Sidekiq::ProcessSet.new.size } }, { name: "sidekiq_job_latency", description: "How long are jobs enqueued", labels: { :queue => Proc.new { Sidekiq::Queue.all.map(&:name) }}, proc: Proc.new { |labels| Sidekiq::Queue.new(labels[:queue]).latency } }, { name: "sidekiq_job_count", description: "How many jobs are enqueued", labels: { :queue => Proc.new { Sidekiq::Queue.all.map(&:name) }}, proc: Proc.new { |labels| Sidekiq::Queue.new(labels[:queue]).size } } ] end