class Gladys::TimeSeries::Counter
def any?
def any? @values.values.any?(&:positive?) end
def between(start:, finish:)
def between(start:, finish:) return @values.values if start.nil? || finish.nil? start = start.utc.to_i finish = finish.utc.to_i result = {} (start...finish).map do |time| result[time - start] = 0 end @values.each do |key, value| result[key - start] += value if result[key - start] end result end
def current
def current @values[hash_key] || 0 end
def hash_key
def hash_key Time.now.utc.to_i end
def increment
def increment key = hash_key @values[key] ||= 0 @values[key] += 1 end
def initialize
def initialize @values = Concurrent::Hash.new end