module ActionController::Instrumentation
def process_action(*)
def process_action(*) ActiveSupport::ExecutionContext[:controller] = self raw_payload = { controller: self.class.name, action: action_name, request: request, params: request.filtered_parameters, headers: request.headers, format: request.format.ref, method: request.request_method, path: request.fullpath } ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload) ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| result = super payload[:response] = response payload[:status] = response.status result rescue => error payload[:status] = ActionDispatch::ExceptionWrapper.status_code_for_exception(error.class.name) raise ensure append_info_to_payload(payload) end end