class Prometheus::Client::DataStores::SingleThreaded
Stores all the data in a simple Hash for each Metric
Has no synchronization primitives, making it the fastest store for single-threaded scenarios, but must absolutely not be used in multi-threaded scenarios.
Public Instance Methods
for_metric(metric_name, metric_type:, metric_settings: {})
click to toggle source
# File lib/prometheus/client/data_stores/single_threaded.rb, line 11 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/single_threaded.rb, line 19 def validate_metric_settings(metric_settings:) unless metric_settings.empty? raise InvalidStoreSettingsError, "SingleThreaded doesn't allow any metric_settings" end end