class EventHub::Statistics

Attributes

messages_average_process_time[R]
messages_average_size[R]
messages_successful[R]
messages_unsuccessful[R]

Public Class Methods

new() click to toggle source
# File lib/eventhub/statistics.rb, line 4
def initialize
  @messages_successful = 0
  @messages_unsuccessful = 0
  @messages_average_size = 0
  @messages_average_process_time = 0
  @messages_total_process_time = 0
end

Public Instance Methods

failure() click to toggle source
# File lib/eventhub/statistics.rb, line 31
def failure
  @messages_unsuccessful += 1
end
measure(size) { || ... } click to toggle source
# File lib/eventhub/statistics.rb, line 13
def measure(size, &block)
  begin
    start = Time.now
    yield
    success(Time.now - start, size)
  rescue
    failure
    raise
  end
end
messages_total() click to toggle source
# File lib/eventhub/statistics.rb, line 35
def messages_total
  messages_unsuccessful + messages_successful
end
messages_total_process_time() click to toggle source
# File lib/eventhub/statistics.rb, line 39
def messages_total_process_time
  messages_average_process_time * messages_successful
end
messages_total_size() click to toggle source
# File lib/eventhub/statistics.rb, line 43
def messages_total_size
  messages_average_size * messages_successful
end
success(process_time, size) click to toggle source
# File lib/eventhub/statistics.rb, line 24
def success(process_time, size)
  @messages_total_process_time += process_time
  @messages_average_process_time = (messages_total_process_time + process_time) / (messages_successful + 1).to_f
  @messages_average_size = (messages_total_size + size) / (messages_successful + 1).to_f
  @messages_successful += 1
end