class PrometheusExporter::Metric::Gauge
Attributes
data[R]
Public Class Methods
new(name, help)
click to toggle source
Calls superclass method
PrometheusExporter::Metric::Base::new
# File lib/prometheus_exporter/metric/gauge.rb, line 7 def initialize(name, help) super reset! end
Public Instance Methods
decrement(labels = {}, value = 1)
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 52 def decrement(labels = {}, value = 1) @data[labels] ||= 0 @data[labels] -= value end
increment(labels = {}, value = 1)
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 47 def increment(labels = {}, value = 1) @data[labels] ||= 0 @data[labels] += value end
metric_text()
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 16 def metric_text @data.map do |labels, value| "#{prefix(@name)}#{labels_text(labels)} #{value}" end.join("\n") end
observe(value, labels = {})
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 34 def observe(value, labels = {}) if value.nil? data.delete(labels) else if !(Numeric === value) raise ArgumentError, 'value must be a number' end @data[labels] = value end end
Also aliased as: set
remove(labels)
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 30 def remove(labels) @data.delete(labels) end
reset!()
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 22 def reset! @data = {} end
to_h()
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 26 def to_h @data.dup end
type()
click to toggle source
# File lib/prometheus_exporter/metric/gauge.rb, line 12 def type "gauge" end