class Prometheus::Client::Gauge

A Gauge is a metric that exposes merely an instantaneous value or some snapshot thereof.

Public Class Methods

new(name, docstring, base_labels = {}, multiprocess_mode=:all) click to toggle source
Calls superclass method
# File lib/prometheus/client/gauge.rb, line 9
def initialize(name, docstring, base_labels = {}, multiprocess_mode=:all)
  super(name, docstring, base_labels)
  if value_class.multiprocess and ![:min, :max, :livesum, :liveall, :all].include?(multiprocess_mode)
    raise ArgumentError, 'Invalid multiprocess mode: ' + multiprocess_mode
  end
  @multiprocess_mode = multiprocess_mode
end

Public Instance Methods

default(labels) click to toggle source
# File lib/prometheus/client/gauge.rb, line 21
def default(labels)
  value_object(type, @name, @name, labels, @multiprocess_mode)
end
increment(labels, value) click to toggle source
# File lib/prometheus/client/gauge.rb, line 30
def increment(labels, value)
  @values[label_set_for(labels)].increment(value)
end
set(labels, value) click to toggle source

Sets the value for the given label set

# File lib/prometheus/client/gauge.rb, line 26
def set(labels, value)
  @values[label_set_for(labels)].set(value)
end
type() click to toggle source
# File lib/prometheus/client/gauge.rb, line 17
def type
  :gauge
end