lib/ddtrace/contrib/rails/framework.rb in ddtrace-0.52.0 vs lib/ddtrace/contrib/rails/framework.rb in ddtrace-0.53.0

- old
+ new

@@ -3,10 +3,11 @@ require 'ddtrace/ext/app_types' require 'ddtrace/contrib/active_record/integration' require 'ddtrace/contrib/active_support/integration' require 'ddtrace/contrib/action_cable/integration' +require 'ddtrace/contrib/action_mailer/integration' require 'ddtrace/contrib/action_pack/integration' require 'ddtrace/contrib/action_view/integration' require 'ddtrace/contrib/grape/endpoint' require 'ddtrace/contrib/lograge/integration' require 'ddtrace/contrib/semantic_logger/integration' @@ -43,13 +44,15 @@ # Don't set this if service has been explicitly provided by the user. datadog_config.service ||= rails_config[:service_name] activate_rack!(datadog_config, rails_config) activate_action_cable!(datadog_config, rails_config) + activate_action_mailer!(datadog_config, rails_config) activate_active_support!(datadog_config, rails_config) activate_action_pack!(datadog_config, rails_config) activate_action_view!(datadog_config, rails_config) + activate_active_job!(datadog_config, rails_config) activate_active_record!(datadog_config, rails_config) activate_lograge!(datadog_config, rails_config) activate_semantic_logger!(datadog_config, rails_config) end end @@ -91,10 +94,19 @@ :action_cable, service_name: "#{rails_config[:service_name]}-#{Contrib::ActionCable::Ext::SERVICE_NAME}" ) end + def self.activate_action_mailer!(datadog_config, rails_config) + return unless defined?(::ActionMailer) + + datadog_config.use( + :action_mailer, + service_name: "#{rails_config[:service_name]}-#{Contrib::ActionMailer::Ext::SERVICE_NAME}" + ) + end + def self.activate_action_pack!(datadog_config, rails_config) return unless defined?(::ActionPack) # TODO: This is configuring ActionPack but not patching. It will queue ActionPack # for patching, but patching won't take place until Datadog.configure completes. @@ -110,9 +122,19 @@ return unless defined?(::ActionView) datadog_config.use( :action_view, service_name: rails_config[:service_name] + ) + end + + def self.activate_active_job!(datadog_config, rails_config) + return unless defined?(::ActiveJob) + + datadog_config.use( + :active_job, + service_name: "#{rails_config[:service_name]}-#{Contrib::ActiveJob::Ext::SERVICE_NAME}", + log_injection: rails_config[:log_injection] ) end def self.activate_active_record!(datadog_config, rails_config) return unless defined?(::ActiveRecord)