Module: RequestResponseStats::ControllerConcern

Defined in:
lib/request_response_stats/controller_concern.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/request_response_stats/controller_concern.rb', line 7

def self.included(base)
  include RequestResponseStats

  base.class_eval do
    around_action :log_request_response_stats
    # before_action :log_request_response_stats_before
    # after_action :log_request_response_stats_end

    def log_request_response_stats
      if defined?(RR_INBOUND_STATS) && RR_INBOUND_STATS
        begin
          rrs = RequestResponse.new(request, response, {redis_connection: $redis, gather_stats: true, mongoid_doc_model: ReqResStat})
          rrs.capture_request_response_cycle_start_info
          yield
          rrs.capture_request_response_cycle_end_info
        rescue Exception => ex
          rrs.try(:capture_request_response_cycle_error_info)
          raise ex
        end
      else
        yield
      end
    end

  end

end