Class: KinesisProducer::Daemon::Meter

Inherits:
Object
  • Object
show all
Defined in:
lib/kinesis_producer/daemon.rb

Instance Method Summary collapse

Constructor Details

#initializeMeter

Returns a new instance of Meter.



215
216
217
218
219
220
# File 'lib/kinesis_producer/daemon.rb', line 215

def initialize
  @count = Concurrent::AtomicFixnum.new(0)
  @previous_tick_time = Time.now.to_f
  @current_rate = 0.0
  tick
end

Instance Method Details

#current_rateObject



233
234
235
# File 'lib/kinesis_producer/daemon.rb', line 233

def current_rate
  @current_rate
end

#mark(count = 1) ⇒ Object



222
223
224
# File 'lib/kinesis_producer/daemon.rb', line 222

def mark(count = 1)
  @count.increment(count)
end

#tickObject



226
227
228
229
230
231
# File 'lib/kinesis_producer/daemon.rb', line 226

def tick
  @current_rate = @count.value.to_f / (Time.now.to_f - @previous_tick_time)
  @count.value = 0
  @previous_tick_time = Time.now.to_f
  current_rate
end