Module: Datadog::Contrib::Rails::Framework
- Defined in:
- lib/ddtrace/contrib/rails/framework.rb
Overview
Rails framework code, used to essentially:
-
handle configuration entries which are specific to Datadog tracing
-
instrument parts of the framework when needed
Class Method Summary collapse
- .activate_action_pack!(config) ⇒ Object
- .activate_action_view!(config) ⇒ Object
- .activate_active_record!(config) ⇒ Object
- .activate_active_support!(config) ⇒ Object
- .activate_rack!(config) ⇒ Object
- .config_with_defaults ⇒ Object
-
.setup ⇒ Object
configure Datadog settings.
Class Method Details
.activate_action_pack!(config) ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 68 def self.activate_action_pack!(config) return unless defined?(::ActionPack) Datadog.configuration.use( :action_pack, service_name: config[:service_name], tracer: config[:tracer] ) end |
.activate_action_view!(config) ⇒ Object
78 79 80 81 82 83 84 85 86 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 78 def self.activate_action_view!(config) return unless defined?(::ActionView) Datadog.configuration.use( :action_view, service_name: config[:service_name], tracer: config[:tracer] ) end |
.activate_active_record!(config) ⇒ Object
88 89 90 91 92 93 94 95 96 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 88 def self.activate_active_record!(config) return unless defined?(::ActiveRecord) Datadog.configuration.use( :active_record, service_name: config[:database_service], tracer: config[:tracer] ) end |
.activate_active_support!(config) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 58 def self.activate_active_support!(config) return unless defined?(::ActiveSupport) Datadog.configuration.use( :active_support, cache_service: config[:cache_service], tracer: config[:tracer] ) end |
.activate_rack!(config) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 47 def self.activate_rack!(config) Datadog.configuration.use( :rack, tracer: config[:tracer], application: ::Rails.application, service_name: config[:service_name], middleware_names: config[:middleware_names], distributed_tracing: config[:distributed_tracing] ) end |
.config_with_defaults ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 36 def self.config_with_defaults # We set defaults here instead of in the patcher because we need to wait # for the Rails application to be fully initialized. Datadog.configuration[:rails].tap do |config| config[:service_name] ||= Utils.app_name config[:database_service] ||= "#{config[:service_name]}-#{Contrib::ActiveRecord::Utils.adapter_name}" config[:controller_service] ||= config[:service_name] config[:cache_service] ||= "#{config[:service_name]}-cache" end end |
.setup ⇒ Object
configure Datadog settings
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 22 def self.setup config = config_with_defaults activate_rack!(config) activate_active_support!(config) activate_action_pack!(config) activate_action_view!(config) activate_active_record!(config) # By default, default service would be guessed from the script # being executed, but here we know better, get it from Rails config. config[:tracer].default_service = config[:service_name] end |