module ManagerRemoteSocketStatistic

Public Instance Methods

store_handler_profiler_data() click to toggle source

methods

# File lib/mrpin/core/remote/socket/base/extensions/manager_remote_socket_statistic.rb, line 12
def store_handler_profiler_data
  return unless Rails.env.production?

  timestamp = Time.now.to_i

  handlers = @handlers_map.values

  handlers.each do |handler|

    next if handler.requests_count == 0

    handle_stats = SystemHandlerProfiler.new

    handle_stats.handler                      = handler.class.to_s
    handle_stats.requests_count               = handler.requests_count
    handle_stats.requests_handle_duration_ms  = handler.handle_duration_total
    handle_stats.requests_handle_duration_max = handler.handle_duration_max
    handle_stats.requests_handle_duration_min = handler.handle_duration_min
    handle_stats.requests_handle_duration_avg = handler.handle_duration_total / handle_stats.requests_count

    handle_stats.timestamp = timestamp

    handle_stats.save!

    handler.reset_handler_stats

  end
end