Class: KinesisProducer::Daemon::Meter
- Inherits:
-
Object
- Object
- KinesisProducer::Daemon::Meter
- Defined in:
- lib/kinesis_producer/daemon.rb
Instance Method Summary collapse
- #current_rate ⇒ Object
-
#initialize ⇒ Meter
constructor
A new instance of Meter.
- #mark(count = 1) ⇒ Object
- #tick ⇒ Object
Constructor Details
#initialize ⇒ Meter
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_rate ⇒ Object
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 |
#tick ⇒ Object
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 |