module Promenade::Prometheus
Constants
- METRICS_MUTEX
- REGISTRY_MUTEX
Public Class Methods
define_metric(type, name, &block)
click to toggle source
# File lib/promenade/prometheus.rb, line 19 def self.define_metric(type, name, &block) METRICS_MUTEX.synchronize do return if registry.get(name) options = Options.new options.evaluate(&block) registry.method(type).call(name, *options.args(type)) end end
metric(name)
click to toggle source
# File lib/promenade/prometheus.rb, line 12 def self.metric(name) METRICS_MUTEX.synchronize do registry.get(name) || fail("No metric defined for: #{name}, you must define a metric before using it") end end
registry()
click to toggle source
# File lib/promenade/prometheus.rb, line 29 def self.registry REGISTRY_MUTEX.synchronize do @_registry ||= ::Prometheus::Client.registry end end