class Atatus::Metrics::Metric
@api private
Attributes
initial_value[R]
key[R]
value[R]
Public Class Methods
new( key, initial_value: nil, tags: nil, reset_on_collect: false )
click to toggle source
# File lib/atatus/metrics/metric.rb, line 24 def initialize( key, initial_value: nil, tags: nil, reset_on_collect: false ) @key = key @initial_value = initial_value @value = initial_value @tags = tags @reset_on_collect = reset_on_collect @mutex = Mutex.new end
Public Instance Methods
collect()
click to toggle source
# File lib/atatus/metrics/metric.rb, line 56 def collect @mutex.synchronize do collected = @value @value = initial_value if reset_on_collect? return nil if reset_on_collect? && collected == 0 collected end end
reset!()
click to toggle source
# File lib/atatus/metrics/metric.rb, line 44 def reset! self.value = initial_value end
reset_on_collect?()
click to toggle source
# File lib/atatus/metrics/metric.rb, line 52 def reset_on_collect? @reset_on_collect end
value=(value)
click to toggle source
# File lib/atatus/metrics/metric.rb, line 40 def value=(value) @mutex.synchronize { @value = value } end