Sha256: 8eaf2e126facd496e55efe1b44b4efa0795cb193af4bccfbfb6ddca0edb4537b
Contents?: true
Size: 630 Bytes
Versions: 10
Compression:
Stored size: 630 Bytes
Contents
require 'concurrent/map' require 'concurrent/atomic/atomic_fixnum' module Flipper module Cloud class Telemetry class MetricStorage def initialize @storage = Concurrent::Map.new { |h, k| h[k] = Concurrent::AtomicFixnum.new(0) } end def increment(metric) @storage[metric].increment end def drain metrics = {} @storage.keys.each do |metric| metrics[metric] = @storage.delete(metric).value end metrics.freeze end def empty? @storage.empty? end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems