module Epilog::ActionControllerExt
Public Instance Methods
process_action(*)
click to toggle source
Calls superclass method
# File lib/epilog/rails/ext/action_controller.rb, line 5 def process_action(*) epilog_instrument('request_received') epilog_instrument('process_request') do |payload| begin super ensure payload[:response] = response payload[:metrics] = epilog_metrics end end end
Private Instance Methods
epilog_context()
click to toggle source
# File lib/epilog/rails/ext/action_controller.rb, line 44 def epilog_context {} end
epilog_instrument(name, &block)
click to toggle source
# File lib/epilog/rails/ext/action_controller.rb, line 19 def epilog_instrument(name, &block) ActiveSupport::Notifications.instrument( "#{name}.action_controller", epilog_payload, &block ) end
epilog_metrics()
click to toggle source
# File lib/epilog/rails/ext/action_controller.rb, line 37 def epilog_metrics { db_runtime: try(:db_runtime), view_runtime: view_runtime } end
epilog_payload()
click to toggle source
# File lib/epilog/rails/ext/action_controller.rb, line 27 def epilog_payload { request: request, response: response, controller: self.class.name, action: action_name, context: epilog_context } end