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)