module SidekiqPrometheus::Metrics
Constants
- JOB_LABELS
- SIDEKIQ_GC_METRIC
- SIDEKIQ_GLOBAL_METRICS
- SIDEKIQ_JOB_METRICS
- SIDEKIQ_WORKER_GC_METRICS
- UNKNOWN
- VALID_TYPES
Public Instance Methods
[](name)
click to toggle source
Fetch a metric from the registry @param name [Symbol] name of metric to fetch
# File lib/sidekiq_prometheus/metrics.rb, line 130 def [](name) registry.get(name.to_sym) end
register(type:, name:, docstring:, labels: [], preset_labels: {}, buckets: nil)
click to toggle source
Register a new metric @param types [Symbol] type of metric to register. Valid types: %w(counter gauge summary histogram) @param name [Symbol] name of metric @param docstring [String] help text for metric @param labels [Array] Optionally an array of labels to configure for every instance of this metric @param preset_labels [Hash] Optionally a Hash of labels to use for every instance of this metric @param buckets [Hash] Optional hash of bucket values. Only used for histogram metrics.
# File lib/sidekiq_prometheus/metrics.rb, line 146 def register(type:, name:, docstring:, labels: [], preset_labels: {}, buckets: nil) raise InvalidMetricType, type unless VALID_TYPES.include? type # Aggregate all preset labels all_preset_labels = preset_labels.dup all_preset_labels.merge!(SidekiqPrometheus.preset_labels) if SidekiqPrometheus.preset_labels # Aggregate all labels all_labels = labels | SidekiqPrometheus.custom_labels.fetch(name, []) | all_preset_labels.keys options = { docstring: docstring, labels: all_labels, preset_labels: all_preset_labels, } options[:buckets] = buckets if buckets registry.send(type, name.to_sym, **options) end
register_metrics(metrics)
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 121 def register_metrics(metrics) metrics.each do |metric| register(**metric) end end
register_sidekiq_gc_metric()
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 109 def register_sidekiq_gc_metric register(**SIDEKIQ_GC_METRIC) end
register_sidekiq_global_metrics()
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 117 def register_sidekiq_global_metrics register_metrics SIDEKIQ_GLOBAL_METRICS end
register_sidekiq_job_metrics()
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 105 def register_sidekiq_job_metrics register_metrics SIDEKIQ_JOB_METRICS end
register_sidekiq_worker_gc_metrics()
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 113 def register_sidekiq_worker_gc_metrics register_metrics SIDEKIQ_WORKER_GC_METRICS end
registry()
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 101 def registry SidekiqPrometheus.registry end
unregister(name:)
click to toggle source
# File lib/sidekiq_prometheus/metrics.rb, line 165 def unregister(name:) registry.unregister(name.to_sym) end