module ActionController::Instrumentation
Public Instance Methods
process_action(*args)
click to toggle source
Calls superclass method
# File lib/paul_bunyan/rails_ext/instrumentation.rb, line 5 def process_action(*args) raw_payload = base_payload.merge(custom_payload) ActiveSupport::Notifications.instrument('start_processing.action_controller', raw_payload.dup) ActiveSupport::Notifications.instrument('process_action.action_controller', raw_payload) do |payload| begin result = super payload[:status] = response.status result ensure append_info_to_payload(payload) end end end
Private Instance Methods
base_payload()
click to toggle source
# File lib/paul_bunyan/rails_ext/instrumentation.rb, line 23 def base_payload { controller: self.class.name, action: self.action_name, params: request.filtered_parameters, format: request.format.try(:ref), method: request.request_method, path: (request.filtered_path rescue 'unknown'), } end
custom_payload()
click to toggle source
# File lib/paul_bunyan/rails_ext/instrumentation.rb, line 34 def custom_payload { request_id: request.env['action_dispatch.request_id'], ip: request.ip, } end