Class: MetricsProcessor::FrequencyMap
- Inherits:
-
Concurrent::Map
- Object
- Concurrent::Map
- MetricsProcessor::FrequencyMap
- Defined in:
- lib/ff/ruby/server/sdk/api/metrics_processor.rb
Instance Method Summary collapse
-
#drain_to_map ⇒ Object
TODO Will be removed in V2 in favour of simplified clearing.
- #get(key) ⇒ Object
- #increment(key) ⇒ Object
-
#initialize(options = nil, &block) ⇒ FrequencyMap
constructor
A new instance of FrequencyMap.
Constructor Details
#initialize(options = nil, &block) ⇒ FrequencyMap
Returns a new instance of FrequencyMap.
15 16 17 |
# File 'lib/ff/ruby/server/sdk/api/metrics_processor.rb', line 15 def initialize( = nil, &block) super end |
Instance Method Details
#drain_to_map ⇒ Object
TODO Will be removed in V2 in favour of simplified clearing. Currently not used outside of tests.
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ff/ruby/server/sdk/api/metrics_processor.rb', line 34 def drain_to_map result = {} each_key do |key| result[key] = 0 end result.each_key do |key| value = get_and_set(key, 0) result[key] = value delete_pair(key, 0) end result end |
#get(key) ⇒ Object
29 30 31 |
# File 'lib/ff/ruby/server/sdk/api/metrics_processor.rb', line 29 def get(key) self[key] end |
#increment(key) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/ff/ruby/server/sdk/api/metrics_processor.rb', line 19 def increment(key) compute(key) do |old_value| if old_value == nil; 1 else old_value + 1 end end end |