diff --git a/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb b/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb index 0b8820c8fec..851b7e8b0c4 100644 --- a/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +++ b/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb @@ -81,7 +81,7 @@ def on_start(span, event, _id, payload) span.set_tag('EVENT', event) - set_cache_key(span, key, mapping[:multi_key]) + set_cache_key(span, key, mapping[:multi_key]) if Datadog.configuration.tracing[:active_support][:cache_key_enabled] rescue StandardError => e Datadog.logger.error(e.message) Datadog::Core::Telemetry::Logger.report(e) diff --git a/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb b/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb index 13c92a08418..9feeb0295dd 100644 --- a/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +++ b/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb @@ -58,7 +58,8 @@ def trace(action, store, key: nil, multi_key: nil) end span.set_tag(Ext::TAG_CACHE_BACKEND, store) if store - set_cache_key(span, key, multi_key) + + set_cache_key(span, key, multi_key) if Datadog.configuration.tracing[:active_support][:cache_key_enabled] yield end diff --git a/lib/datadog/tracing/contrib/active_support/configuration/settings.rb b/lib/datadog/tracing/contrib/active_support/configuration/settings.rb index 9f1b016ba7f..ac3e7b1189e 100644 --- a/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +++ b/lib/datadog/tracing/contrib/active_support/configuration/settings.rb @@ -39,6 +39,11 @@ class Settings < Contrib::Configuration::Settings ) end end + + option :cache_key_enabled do |o| + o.type :bool + o.default true + end end end end