Module: ScoutApm::Instruments::ActionControllerRails3Rails4Instruments
- Defined in:
- lib/scout_apm/instruments/action_controller_rails_3_rails4.rb
Instance Method Summary collapse
- #process_action(*args) ⇒ Object
-
#scout_transaction_uri(request) ⇒ Object
Given an
ActionDispatch::Request
, formats the uri based on config settings.
Instance Method Details
#process_action(*args) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/scout_apm/instruments/action_controller_rails_3_rails4.rb', line 60 def process_action(*args) req = ScoutApm::RequestManager.lookup req.annotate_request(:uri => scout_transaction_uri(request)) # IP Spoofing Protection can throw an exception, just move on w/o remote ip req.context.add_user(:ip => request.remote_ip) rescue nil req.set_headers(request.headers) # Check if this this request is to be reported instantly if instant_key = request.['scoutapminstant'] Agent.instance.logger.info "Instant trace request with key=#{instant_key} for path=#{path}" req.instant_key = instant_key end req.web! req.start_layer( ScoutApm::Layer.new("Controller", "#{controller_path}/#{action_name}") ) begin super rescue req.error! raise ensure req.stop_layer end end |
#scout_transaction_uri(request) ⇒ Object
Given an ActionDispatch::Request
, formats the uri based on config settings.
89 90 91 92 93 94 95 96 |
# File 'lib/scout_apm/instruments/action_controller_rails_3_rails4.rb', line 89 def scout_transaction_uri(request) case ScoutApm::Agent.instance.config.value("uri_reporting") when 'path' request.path # strips off the query string for more security else # default handles filtered params request.filtered_path end end |