Module: Datadog::Tracing::Contrib::ActionPack::ActionDispatch::Instrumentation::Journey::RecognizeRouter
- Defined in:
- lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb
Overview
Since Rails 8.1, Router#find_routes was removed by inlining its body into recognize.
https://github.com/rails/rails/commit/e533a32ddf06668dfa3dfbe9b665607e235b06ac
Instance Method Summary collapse
Instance Method Details
#recognize(req) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb', line 89 def recognize(req) # recognize modifies SCRIPT_NAME before yielding; capture it before super. original_script_name = req.env[SCRIPT_NAME_KEY] super do |route, parameters| if Instrumentation.dispatcher_route?(route) req.env[DATADOG_RAILS_ROUTE_ENV_KEY] = route http_route = route.path.spec.to_s http_route = http_route.delete_suffix(FORMAT_SUFFIX) Instrumentation.(http_route, original_script_name) end yield route, parameters end end |