class Metrux::Commands::PeriodicGauge::Registry
Attributes
logger[R]
mutex[R]
Public Class Methods
new(config)
click to toggle source
# File lib/metrux/commands/periodic_gauge/registry.rb, line 7 def initialize(config) @mutex = Mutex.new @metrics = {} @logger = config.logger end
Public Instance Methods
add(measurement, options = {}, &metric_block)
click to toggle source
# File lib/metrux/commands/periodic_gauge/registry.rb, line 17 def add(measurement, options = {}, &metric_block) tags = options.fetch(:tags, {}) key = "#{measurement}/#{tags.to_query}".freeze log("Registering #{key}") mutex.synchronize do @metrics[key] = { measurement: measurement, metric: metric_block, options: options } end true end
metrics()
click to toggle source
# File lib/metrux/commands/periodic_gauge/registry.rb, line 13 def metrics mutex.synchronize { @metrics.dup } end