Module: Datadog::Tracing::Contrib::ActionPack::ActionDispatch::Instrumentation
- Defined in:
- lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb
Overview
Instrumentation for ActionDispatch components
Defined Under Namespace
Modules: Journey
Constant Summary collapse
- SCRIPT_NAME_KEY =
"SCRIPT_NAME"- FORMAT_SUFFIX =
"(.:format)"- DATADOG_RAILS_ROUTE_ENV_KEY =
NOTE: Rails 8.1.1+ natively provides the same object via 'action_dispatch.route'.
"datadog.action_dispatch.route"
Class Method Summary collapse
Class Method Details
.dispatcher_route?(route) ⇒ Boolean
34 35 36 37 38 39 40 41 |
# File 'lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb', line 34 def dispatcher_route?(route) return true if route.dispatcher? # in Rails 4 there is no #rack_app method on the app return true if route.app.respond_to?(:rack_app) && !route.app.rack_app.nil? false end |
.set_http_route_tags(route_spec, route_path) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb', line 19 def (route_spec, route_path) return unless Tracing.enabled? return unless route_spec request_trace = Tracing.active_trace return unless request_trace request_trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE, route_spec) if route_path && !route_path.empty? request_trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH, route_path) end end |