class Prometheus::Client::DataStores::Synchronized

Stores all the data in simple hashes, one per metric. Each of these metrics synchronizes access to their hash, but multiple metrics can run observations concurrently.

Public Instance Methods

for_metric(metric_name, metric_type:, metric_settings: {}) click to toggle source
# File lib/prometheus/client/data_stores/synchronized.rb, line 10
def for_metric(metric_name, metric_type:, metric_settings: {})
  # We don't need `metric_type` or `metric_settings` for this particular store
  validate_metric_settings(metric_settings: metric_settings)
  MetricStore.new
end

Private Instance Methods

validate_metric_settings(metric_settings:) click to toggle source
# File lib/prometheus/client/data_stores/synchronized.rb, line 18
def validate_metric_settings(metric_settings:)
  unless metric_settings.empty?
    raise InvalidStoreSettingsError,
          "Synchronized doesn't allow any metric_settings"
  end
end