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
- .set_database_service ⇒ Object
-
.setup ⇒ Object
configure Datadog settings.
Class Method Details
.set_database_service ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 47 def self.set_database_service return unless defined?(::ActiveRecord) config = Datadog.configuration[:rails] adapter_name = Utils.adapter_name config[:database_service] ||= "#{config[:service_name]}-#{adapter_name}" config[:tracer].set_service_info(config[:database_service], adapter_name, Ext::AppTypes::DB) rescue => e Tracer.log.warn("Unable to get database config (#{e}), skipping ActiveRecord instrumentation") end |
.setup ⇒ Object
configure Datadog settings
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ddtrace/contrib/rails/framework.rb', line 23 def self.setup config = Datadog.configuration[:rails] config[:service_name] ||= Utils.app_name tracer = config[:tracer] Datadog.configuration.use( :rack, tracer: tracer, service_name: config[:service_name], distributed_tracing: config[:distributed_tracing] ) config[:controller_service] ||= config[:service_name] config[:cache_service] ||= "#{config[:service_name]}-cache" tracer.set_service_info(config[:controller_service], 'rails', Ext::AppTypes::WEB) tracer.set_service_info(config[:cache_service], 'rails', Ext::AppTypes::CACHE) set_database_service # By default, default service would be guessed from the script # being executed, but here we know better, get it from Rails config. tracer.default_service = config[:service_name] end |