Sha256: 414ecbb8d1fbdd385ce429e2038549ea917d31bd32fed58a940993a26239838f
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
require 'ddtrace' module Datadog module Contrib # Extensions for auto instrumentation added to the base library # AutoInstrumentation enables all integration module AutoInstrument def self.extended(base) base.extend(Patch) end # Patch adds method for invoking auto_instrumentation module Patch def add_auto_instrument super if Datadog::Contrib::Rails::Utils.railtie_supported? require 'ddtrace/contrib/rails/auto_instrument_railtie' else AutoInstrument.patch_all end end end def self.patch_all integrations = [] Datadog.registry.each do |integration| # some instrumentations are automatically enabled when the `rails` instrumentation is enabled, # patching them on their own automatically outside of the rails integration context would # cause undesirable service naming, so we exclude them based their auto_instrument? setting. # we also don't want to mix rspec/cucumber integration in as rspec is env we run tests in. next unless integration.klass.auto_instrument? integrations << integration.name end Datadog.configure do |c| c.reduce_log_verbosity # This will activate auto-instrumentation for Rails integrations.each do |integration_name| c.use integration_name end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-0.51.1 | lib/ddtrace/contrib/auto_instrument.rb |
ddtrace-0.51.0 | lib/ddtrace/contrib/auto_instrument.rb |
ddtrace-0.50.0 | lib/ddtrace/contrib/auto_instrument.rb |