Module: ScoutApm::Instruments::ActionControllerRails3Instruments
- Defined in:
- lib/scout_apm/instruments/action_controller_rails_3.rb
Instance Method Summary collapse
-
#process_action(*args) ⇒ Object
Instruments the action and tracks errors.
Instance Method Details
#process_action(*args) ⇒ Object
Instruments the action and tracks errors.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/scout_apm/instruments/action_controller_rails_3.rb', line 54 def process_action(*args) scout_controller_action = "Controller/#{controller_path}/#{action_name}" self.class.scout_apm_trace(scout_controller_action, :uri => request.fullpath, :ip => request.remote_ip) do Thread::current[:scout_apm_prof] = nil StackProf.start(:mode => :wall, :interval => ScoutApm::Agent.instance.config.value("stackprof_interval")) begin super rescue Exception ScoutApm::Agent.instance.store.track!("Errors/Request", 1, :scope => nil) raise ensure Thread::current[:scout_apm_scope_name] = nil StackProf.stop Thread::current[:scout_apm_prof] = StackProf.results end end end |