Module: ManagerRemoteSocketStatistic

Included in:
ManagerRemoteSocketBase
Defined in:
lib/mrpin/core/remote/socket/base/extensions/manager_remote_socket_statistic.rb

Instance Method Summary collapse

Instance Method Details

#store_handler_profiler_dataObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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