Class: Yabeda::Gauge

Inherits:
Metric show all
Defined in:
lib/yabeda/gauge.rb

Overview

Arbitrary value, can be changed in both sides

Instance Attribute Summary

Attributes inherited from Metric

#adapter, #aggregation, #comment, #group, #name, #per, #tags, #unit

Instance Method Summary collapse

Methods inherited from Metric

#adapters, #get, #initialize, #inspect, #values

Constructor Details

This class inherits a constructor from Yabeda::Metric

Instance Method Details

#decrement(tags = {}, by: 1) ⇒ Object

Convenience method to decrement current gauge value for given set of tags by the given decrement value

Parameters:

  • tags (defaults to: {})

    HashSymbol=>#to_s tags to identify the gauge

  • by (Integer) (defaults to: 1)

    decrement value



28
29
30
31
# File 'lib/yabeda/gauge.rb', line 28

def decrement(*args)
  tags, by = Counter.parse_args(*args)
  set(tags, get(tags).to_i - by)
end

#increment(tags = {}, by: 1) ⇒ Object

Convenience method to increment current gauge value for given set of tags by the given increment value

Parameters:

  • tags (defaults to: {})

    HashSymbol=>#to_s tags to identify the gauge

  • by (Integer) (defaults to: 1)

    increment value



19
20
21
22
# File 'lib/yabeda/gauge.rb', line 19

def increment(*args)
  tags, by = Counter.parse_args(*args)
  set(tags, get(tags).to_i + by)
end

#set(tags, value) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/yabeda/gauge.rb', line 6

def set(tags, value)
  all_tags = ::Yabeda::Tags.build(tags, group)
  values[all_tags] = value
  adapters.each_value do |adapter|
    adapter.perform_gauge_set!(self, all_tags, value)
  end
  value
end