module TraceView::Inst::ActionControllerAPI

ActionController

This modules contains the instrumentation code specific to Rails v5.

Public Instance Methods

process_action(method_name, *args) click to toggle source
Calls superclass method
# File lib/traceview/frameworks/rails/inst/action_controller_api.rb, line 15
def process_action(method_name, *args)
  kvs = {
    :Controller   => self.class.name,
    :Action       => self.action_name,
  }
  kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:action_controller_api][:collect_backtraces]

  TraceView::API.log_entry('rails-api', kvs)
  super(method_name, *args)

rescue Exception => e
  TraceView::API.log_exception(nil, e) if log_rails_error?(e)
  raise
ensure
  TraceView::API.log_exit('rails-api')
end
render(*args, &blk) click to toggle source

render

Our render wrapper that just times and conditionally reports raised exceptions

Calls superclass method
# File lib/traceview/frameworks/rails/inst/action_controller_api.rb, line 38
def render(*args, &blk)
  TraceView::API.log_entry('actionview')
  super(*args, &blk)

rescue Exception => e
  TraceView::API.log_exception(nil, e) if log_rails_error?(e)
  raise
ensure
  TraceView::API.log_exit('actionview')
end