class Evil::Metrics::Prometheus::MetricWrapper

Attributes

metric[R]

Public Class Methods

new(metric, base_labels = {}) click to toggle source
# File lib/evil/metrics/prometheus/metric_wrapper.rb, line 10
def initialize(metric, base_labels = {})
  @metric = metric

  @validator = ::Prometheus::Client::LabelSetValidator.new
  @base_labels = base_labels

  validate_name(self.name)
  validate_docstring(self.docstring)
  @validator.valid?(base_labels)
end

Public Instance Methods

docstring() click to toggle source
# File lib/evil/metrics/prometheus/metric_wrapper.rb, line 26
def docstring
  metric.comment
end
get(labels = {}) click to toggle source
# File lib/evil/metrics/prometheus/metric_wrapper.rb, line 30
def get(labels = {})
  @validator.valid?(labels)

  metric.get(labels)
end
name() click to toggle source
# File lib/evil/metrics/prometheus/metric_wrapper.rb, line 21
def name
  @name ||=
    [metric.group, metric.name, metric.unit].compact.join("_").to_sym
end
values() click to toggle source
# File lib/evil/metrics/prometheus/metric_wrapper.rb, line 36
def values
  metric.values
end