DataDog / dd-trace-rb

Datadog Tracing Ruby Client
https://docs.datadoghq.com/tracing/
Other
308 stars 374 forks source link

RSpec tracing setup broke on v1.10.0 - undefined method `appsec' #2677

Closed Drowze closed 1 year ago

Drowze commented 1 year ago

Current behaviour On v1.10.0 I'm getting an error using the same setup to trace RSpec I've used on v1.9.0

Expected behaviour Shouldn't get an error

Steps to reproduce The following raises an error:

require "datadog/ci"
Datadog.configure { |c| c.ci.enabled = true ; c.ci.instrument :rspec }

Error:

/Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/components.rb:91:in `initialize': undefined method `appsec' for #<Datadog::Core::Configuration::Settings:0x000000010a891998 @options={:tags=>#<Datadog::Core::Configuration::Option:0x000000010a3a46b0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a105a08 @default=#<Proc:0x0000000109fa8430 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:359>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:tags, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109fa8408 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:375>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value={}, @is_set=true>, :env=>#<Datadog::Core::Configuration::Option:0x000000010a3a4660 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10b7c8 @default=#<Proc:0x0000000109fc2678 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:157>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:env, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=nil, @is_set=true>, :version=>#<Datadog::Core::Configuration::Option:0x000000010a3a45c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a105788 @default=#<Proc:0x0000000109fa7be8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:430>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:version, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=nil, @is_set=true>, :service=>#<Datadog::Core::Configuration::Option:0x000000010a3a44d0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a105c88 @default=#<Proc:0x0000000109fa8ca0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:325>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:service, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value="irb", @is_set=true>, :ci=>#<Datadog::Core::Configuration::Option:0x000000010a3a4480 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fe1cd0 @default=#<Proc:0x000000010756fce0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:ci, @on_set=nil, @resetter=#<Proc:0x000000010756fb78 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x0000000109fe3170>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x0000000109fe3170>:0x000000010a890c78 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a4430 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fe2590 @default=#<Proc:0x0000000109b01120 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/configuration/settings.rb:17>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x0000000109fe3170>:0x000000010a890c78 ...>, @value=true, @is_set=true>, :trace_flush=>#<Datadog::Core::Configuration::Option:0x000000010a3a4110 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fe21d0 @default=#<Proc:0x00000001075a2b90 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/configuration/settings.rb:37>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:trace_flush, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x0000000109fe3170>:0x000000010a890c78 ...>, @value=nil, @is_set=true>, :writer_options=>#<Datadog::Core::Configuration::Option:0x000000010a3a4070 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fe1eb0 @default=#<Proc:0x0000000107588178 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/configuration/settings.rb:42>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:writer_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x0000000109fe3170>:0x000000010a890c78 ...>, @value={}, @is_set=true>}>, @is_set=true>, :tracing=>#<Datadog::Core::Configuration::Option:0x000000010a3a4390 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22de80 @default=#<Proc:0x000000010a388910 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:tracing, @on_set=nil, @resetter=#<Proc:0x000000010a388898 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a104c48>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a104c48>:0x000000010a890750 @instrumented_integrations={:rspec=>#<Datadog::CI::Contrib::RSpec::Integration:0x0000000109c2b960 @name=:rspec, @default_configuration=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010a890458 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a42f0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fed2b0 @default=#<Proc:0x0000000109d41c00 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/contrib/rspec/configuration/settings.rb:13>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010a890458 ...>, @value=true, @is_set=true>}>>}, @integrations_pending_activation=#<Set: {#<Datadog::CI::Contrib::RSpec::Integration:0x0000000109c2b960 @name=:rspec, @default_configuration=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010a890458 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a42f0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x0000000109fed2b0 @default=#<Proc:0x0000000109d41c00 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/contrib/rspec/configuration/settings.rb:13>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010a890458 ...>, @value=true, @is_set=true>}>>}>, @options={:test_mode=>#<Datadog::Core::Configuration::Option:0x000000010a3a4250 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22f640 @default=#<Proc:0x000000010a38ada0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:test_mode, @on_set=nil, @resetter=#<Proc:0x000000010a38ad78 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a100a08>>, @context=#<#<Class:0x000000010a104c48>:0x000000010a890750 ...>, @value=#<#<Class:0x000000010a100a08>:0x000000010a8bea88 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a4160 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22fdc0 @default=#<Proc:0x000000010a38b890 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/configuration/settings.rb:347>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a100a08>:0x000000010a8bea88 ...>, @value=true, @is_set=true>, :trace_flush=>#<Datadog::Core::Configuration::Option:0x000000010a3a40c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22fc80 @default=#<Proc:0x000000010a38b480 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/configuration/settings.rb:352>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:trace_flush, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a100a08>:0x000000010a8bea88 ...>, @value=#<Datadog::CI::Flush::Finished:0x000000010a8be588>, @is_set=true>, :writer_options=>#<Datadog::Core::Configuration::Option:0x000000010a3a3990 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22faa0 @default=#<Proc:0x000000010a38b160 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/configuration/settings.rb:357>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:writer_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a100a08>:0x000000010a8bea88 ...>, @value={}, @is_set=true>}>, @is_set=true>, :transport_options=>#<Datadog::Core::Configuration::Option:0x000000010a3a30d0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a22f460 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:transport_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a104c48>:0x000000010a890750 ...>, @value=nil, @is_set=true>, :instance=>#<Datadog::Core::Configuration::Option:0x000000010a3a2900 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a102948 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:instance, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a104c48>:0x000000010a890750 ...>, @value=nil, @is_set=true>, :enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a2680 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a102d08 @default=#<Proc:0x0000000109fa07a8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/configuration/settings.rb:172>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a104c48>:0x000000010a890750 ...>, @value=true, @is_set=true>, :sampling=>#<Datadog::Core::Configuration::Option:0x000000010a3a25e0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a100aa8 @default=#<Proc:0x000000010a38be30 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:sampling, @on_set=nil, @resetter=#<Proc:0x000000010a38bde0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a1017c8>>, @context=#<#<Class:0x000000010a104c48>:0x000000010a890750 ...>, @value=#<#<Class:0x000000010a1017c8>:0x000000010a8b9b50 @options={:span_rules=>#<Datadog::Core::Configuration::Option:0x000000010a3a2590 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a100c88 @default=#<Proc:0x000000010a38c1f0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/configuration/settings.rb:306>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:span_rules, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a1017c8>:0x000000010a8b9b50 ...>, @value=nil, @is_set=true>}>, @is_set=true>}>, @is_set=true>, :logger=>#<Datadog::Core::Configuration::Option:0x000000010a3a3440 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10ac88 @default=#<Proc:0x0000000109fc1408 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:logger, @on_set=nil, @resetter=#<Proc:0x0000000109fc13e0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a10b728>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a10b728>:0x000000010a8be268 @options={:instance=>#<Datadog::Core::Configuration::Option:0x000000010a3a33f0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10afa8 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:instance, @on_set=#<Proc:0x0000000109fc1f20 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:174>, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10b728>:0x000000010a8be268 ...>, @value=nil, @is_set=true>, :level=>#<Datadog::Core::Configuration::Option:0x000000010a3a3170 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10ae68 @default=1, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:level, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10b728>:0x000000010a8be268 ...>, @value=1, @is_set=true>}>, @is_set=true>, :diagnostics=>#<Datadog::Core::Configuration::Option:0x000000010a3a3300 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10b908 @default=#<Proc:0x0000000109fc29c0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:diagnostics, @on_set=nil, @resetter=#<Proc:0x0000000109fc2998 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a10d668>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a10d668>:0x000000010a8bd778 @options={:debug=>#<Datadog::Core::Configuration::Option:0x000000010a3a31c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10cee8 @default=#<Proc:0x0000000109fc4fe0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:101>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:debug, @on_set=#<Proc:0x0000000109fc4f90 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:103>, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10d668>:0x000000010a8bd778 ...>, @value=false, @is_set=true>, :health_metrics=>#<Datadog::Core::Configuration::Option:0x000000010a3a1e60 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10c448 @default=#<Proc:0x0000000109fc3d20 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:health_metrics, @on_set=nil, @resetter=#<Proc:0x0000000109fc3cf8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a10ce48>>, @context=#<#<Class:0x000000010a10d668>:0x000000010a8bd778 ...>, @value=#<#<Class:0x000000010a10ce48>:0x000000010a8b7828 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a1e10 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10c6c8 @default=#<Proc:0x0000000109fc46d0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:119>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10ce48>:0x000000010a8b7828 ...>, @value=false, @is_set=true>, :statsd=>#<Datadog::Core::Configuration::Option:0x000000010a3a1dc0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10c588 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:statsd, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10ce48>:0x000000010a8b7828 ...>, @value=nil, @is_set=true>}>, @is_set=true>}>, @is_set=true>, :agent=>#<Datadog::Core::Configuration::Option:0x000000010a3a2ea0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10d848 @default=#<Proc:0x0000000109fc5d00 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:agent, @on_set=nil, @resetter=#<Proc:0x0000000109fc5be8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a10e248>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a10e248>:0x000000010a8bcc38 @options={:host=>#<Datadog::Core::Configuration::Option:0x000000010a3a2e50 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10dac8 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:host, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10e248>:0x000000010a8bcc38 ...>, @value=nil, @is_set=true>, :port=>#<Datadog::Core::Configuration::Option:0x000000010a3a2b30 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10d988 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:port, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10e248>:0x000000010a8bcc38 ...>, @value=nil, @is_set=true>}>, @is_set=true>, :profiling=>#<Datadog::Core::Configuration::Option:0x000000010a3a2450 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a106ae8 @default=#<Proc:0x0000000109faa708 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:profiling, @on_set=nil, @resetter=#<Proc:0x0000000109faa6e0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a10abe8>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a10abe8>:0x000000010a8b8d90 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a2400 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a10a468 @default=#<Proc:0x0000000109fc0cb0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:193>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a10abe8>:0x000000010a8b8d90 ...>, @value=false, @is_set=true>}>, @is_set=true>, :runtime_metrics=>#<Datadog::Core::Configuration::Option:0x000000010a3a2360 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a105e68 @default=#<Proc:0x0000000109fa9128 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:runtime_metrics, @on_set=nil, @resetter=#<Proc:0x0000000109fa9100 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a106a48>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a106a48>:0x000000010a8b87f0 @options={:opts=>#<Datadog::Core::Configuration::Option:0x000000010a3a22c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a1060e8 @default=#<Proc:0x0000000109fa9a60 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:315 (lambda)>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:opts, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a106a48>:0x000000010a8b87f0 ...>, @value={}, @is_set=true>, :enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a21d0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a106228 @default=#<Proc:0x0000000109fa9f10 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:311>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a106a48>:0x000000010a8b87f0 ...>, @value=false, @is_set=true>, :statsd=>#<Datadog::Core::Configuration::Option:0x000000010a3a2180 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a105fa8 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:statsd, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a106a48>:0x000000010a8b87f0 ...>, @value=nil, @is_set=true>}>, @is_set=true>, :telemetry=>#<Datadog::Core::Configuration::Option:0x000000010a3a1c80 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a104d88 @default=#<Proc:0x0000000109fa6e50 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:telemetry, @on_set=nil, @resetter=#<Proc:0x0000000109fa6e00 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=#<Class:0x000000010a1056e8>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010a891998 ...>, @value=#<#<Class:0x000000010a1056e8>:0x000000010a8b7030 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010a3a1af0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010a104ec8 @default=#<Proc:0x0000000109fa7468 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/settings.rb:443>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x0000000109ca3820 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration/option_definition.rb:8 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010a1056e8>:0x000000010a8b7030 ...>, @value=false, @is_set=true>}>, @is_set=true>}> (NoMethodError)

          @appsec = Datadog::AppSec::Component.build_appsec_component(settings.appsec)
                                                                              ^^^^^^^
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/ci/configuration/components.rb:13:in `initialize'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:244:in `new'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:244:in `build_components'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:89:in `block in configure'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:226:in `block in safely_synchronize'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:224:in `synchronize'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:224:in `safely_synchronize'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/core/configuration.rb:84:in `configure'
        from /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.10.0/lib/datadog/tracing/contrib/extensions.rb:64:in `configure'
        from (irb):5:in `<main>'
        from /Users/Drowze/.rubies/ruby-3.2.0/lib/ruby/gems/3.2.0/gems/irb-1.6.2/exe/irb:11:in `<top (required)>'
        from /Users/Drowze/.rubies/ruby-3.2.0/bin/irb:25:in `load'
        from /Users/Drowze/.rubies/ruby-3.2.0/bin/irb:25:in `<main>'

How does ddtrace help you? We use ddtrace extensively for logs and APM traces through our microservices in our k8s clusters. We also use for tracing our automated tests (mostly for flaky test detection and overall speed of the tests)

Environment

GustavoCaso commented 1 year ago

@Drowze Thanks for posting the issue.

You are right. We have a problem that we must address and release a patch version.

In the meantime, could you try a quick solution to see if you can get unblocked? You could change your require from datadog/ci to ddtrace

require "ddtrace"
Datadog.configure { |c| c.ci.enabled = true ; c.ci.instrument :rspec }

That would also load the CI part and the Appsec components. This is not ideal since I understand that by calling datadog/ci, you load the CI and only want to require the bits of CI for running your tests.

Drowze commented 1 year ago

That indeed fixes the issue @GustavoCaso! Thanks for investigating!

Looking forward to the new patch version 😄

ivoanjo commented 1 year ago

Yup, just to confirm that our plan is to put out a hotfix release (v1.10.1) with this fix in the next few days.

GustavoCaso commented 1 year ago

@Drowze We have released 1.10.1 with the patch to fix the problem you were facing.

Thanks for reporting.

Drowze commented 1 year ago

Seems like there was a regression on 1.11.0 😢

1.10.1 works fine, but I get a similar error on 1.11.0:

An error occurred while loading spec_helper.
Failure/Error:
  Datadog.configure do |c|
    c.ci.enabled = true
    c.ci.instrument :rspec
  end

NoMethodError:
  undefined method `appsec' for #<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 @options={:tags=>#<Datadog::Core::Configuration::Option:0x000000010ed920d8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd08e0 @default=#<Proc:0x000000010eef3710 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:391>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:tags, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010eef36e8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:407>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value={}, @is_set=true>, :env=>#<Datadog::Core::Configuration::Option:0x000000010ed92088 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd7320 @default=#<Proc:0x000000010ef33748 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:158>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:env, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=nil, @is_set=true>, :version=>#<Datadog::Core::Configuration::Option:0x000000010ed92038 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd0660 @default=#<Proc:0x000000010eef2d60 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:462>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:version, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=nil, @is_set=true>, :service=>#<Datadog::Core::Configuration::Option:0x000000010ed91fe8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd0b60 @default=#<Proc:0x000000010eef4890 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:357>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:service, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value="rspec", @is_set=true>, :ci=>#<Datadog::Core::Configuration::Option:0x000000010ed91f48 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ec376c0 @default=#<Proc:0x000000010f6eadb0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:ci, @on_set=nil, @resetter=#<Proc:0x000000010f6eace8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010ec3c620>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010ec3c620>:0x000000010f6e8740 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010ed91ea8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ec37ee0 @default=#<Proc:0x000000010f6ed3a8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/ci/configuration/settings.rb:19>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ec3c620>:0x000000010f6e8740 ...>, @value=true, @is_set=true>, :trace_flush=>#<Datadog::Core::Configuration::Option:0x000000010ed90eb8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ec37c60 @default=#<Proc:0x000000010f6ec610 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/ci/configuration/settings.rb:39>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:trace_flush, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ec3c620>:0x000000010f6e8740 ...>, @value=nil, @is_set=true>, :writer_options=>#<Datadog::Core::Configuration::Option:0x000000010ed90d78 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ec37a80 @default=#<Proc:0x000000010f6ebbc0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/ci/configuration/settings.rb:44>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:writer_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ec3c620>:0x000000010f6e8740 ...>, @value={}, @is_set=true>}>, @is_set=true>, :tracing=>#<Datadog::Core::Configuration::Option:0x000000010ed91db8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef79108 @default=#<Proc:0x000000010ee3a350 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:tracing, @on_set=nil, @resetter=#<Proc:0x000000010ee3a328 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010ef7ef68>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010ef7ef68>:0x000000010f6e80b0 @instrumented_integrations={:rspec=>#<Datadog::CI::Contrib::RSpec::Integration:0x000000010f43b380 @name=:rspec, @default_configuration=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010f6e7d90 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010ed91d68 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ee70798 @default=#<Proc:0x000000010f495240 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/ci/contrib/rspec/configuration/settings.rb:15>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010f6e7d90 ...>, @value=true, @is_set=true>}>>}, @integrations_pending_activation=#<Set: {#<Datadog::CI::Contrib::RSpec::Integration:0x000000010f43b380 @name=:rspec, @default_configuration=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010f6e7d90 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010ed91d68 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ee70798 @default=#<Proc:0x000000010f495240 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/ci/contrib/rspec/configuration/settings.rb:15>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<Datadog::CI::Contrib::RSpec::Configuration::Settings:0x000000010f6e7d90 ...>, @value=true, @is_set=true>}>>}>, @options={:test_mode=>#<Datadog::Core::Configuration::Option:0x000000010ed918b8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7a3c8 @default=#<Proc:0x000000010ee3eb80 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:test_mode, @on_set=nil, @resetter=#<Proc:0x000000010ee3eb58 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010ef7af08>>, @context=#<#<Class:0x000000010ef7ef68>:0x000000010f6e80b0 ...>, @value=#<#<Class:0x000000010ef7af08>:0x000000010f6e3c18 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010ed917c8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7a788 @default=#<Proc:0x000000010ee3f698 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/tracing/configuration/settings.rb:347>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ef7af08>:0x000000010f6e3c18 ...>, @value=true, @is_set=true>, :trace_flush=>#<Datadog::Core::Configuration::Option:0x000000010ed90e18 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7a648 @default=#<Proc:0x000000010ee3f198 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/tracing/configuration/settings.rb:352>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:trace_flush, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ef7af08>:0x000000010f6e3c18 ...>, @value=#<Datadog::CI::Flush::Finished:0x000000010f6e3150>, @is_set=true>, :writer_options=>#<Datadog::Core::Configuration::Option:0x000000010ed90418 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7a508 @default=#<Proc:0x000000010ee3eea0 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/tracing/configuration/settings.rb:357>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:writer_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x0000
00010ef7af08>:0x000000010f6e3c18 ...>, @value={}, @is_set=true>}>, @is_set=true>, :transport_options=>#<Datadog::Core::Configuration::Option:0x000000010ed5f160 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7a288 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:transport_options, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ef7ef68>:0x000000010f6e80b0 ...>, @value=nil, @is_set=true>}>, @is_set=true>, :logger=>#<Datadog::Core::Configuration::Option:0x000000010ed903c8 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd66a0 @default=#<Proc:0x000000010ef32848 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:logger, @on_set=nil, @resetter=#<Proc:0x000000010ef327f8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010efd7280>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010efd7280>:0x000000010f6e2d90 @options={:instance=>#<Datadog::Core::Configuration::Option:0x000000010ed90198 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd6920 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:instance, @on_set=#<Proc:0x000000010ef33248 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:175>, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010efd7280>:0x000000010f6e2d90 ...>, @value=nil, @is_set=true>, :level=>#<Datadog::Core::Configuration::Option:0x000000010ed5f200 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd67e0 @default=1, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:level, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010efd7280>:0x000000010f6e2d90 ...>, @value=1, @is_set=true>}>, @is_set=true>, :diagnostics=>#<Datadog::Core::Configuration::Option:0x000000010ed5f5c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd7500 @default=#<Proc:0x000000010ef33b08 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:diagnostics, @on_set=nil, @resetter=#<Proc:0x000000010ef33ab8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010efd9ee0>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010efd9ee0>:0x000000010f6e2070 @options={:debug=>#<Datadog::Core::Configuration::Option:0x000000010ed5f570 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efd9620 @default=#<Proc:0x000000010ef35a70 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:102>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:debug, @on_set=#<Proc:0x000000010ef35a20 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:104>, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010efd9ee0>:0x000000010f6e2070 ...>, @value=false, @is_set=true>}>, @is_set=true>, :agent=>#<Datadog::Core::Configuration::Option:0x000000010ed5f0c0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efda0c0 @default=#<Proc:0x000000010ef37640 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:agent, @on_set=nil, @resetter=#<Proc:0x000000010ef37488 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010efdaca0>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010efdaca0>:0x000000010f6af530 @options={:host=>#<Datadog::Core::Configuration::Option:0x000000010ed5efd0 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efda340 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:host, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010efdaca0>:0x000000010f6af530 ...>, @value=nil, @is_set=true>, :port=>#<Datadog::Core::Configuration::Option:0x000000010ed5e490 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010efda200 @default=nil, @delegate_to=nil, @depends_on=[], @lazy=false, @name=:port, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010efdaca0>:0x000000010f6af530 ...>, @value=nil, @is_set=true>}>, @is_set=true>, :remote=>#<Datadog::Core::Configuration::Option:0x000000010ed5e170 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7f0a8 @default=#<Proc:0x000000010ee9f868 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:31>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:remote, @on_set=nil, @resetter=#<Proc:0x000000010ee9f818 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/base.rb:34>, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=#<Class:0x000000010ef7faa8>>, @context=#<Datadog::Core::Configuration::Settings:0x000000010f6e9f00 ...>, @value=#<#<Class:0x000000010ef7faa8>:0x000000010f6adb18 @options={:enabled=>#<Datadog::Core::Configuration::Option:0x000000010ed5df90 @definition=#<Datadog::Core::Configuration::OptionDefinition:0x000000010ef7f328 @default=#<Proc:0x000000010eef12f8 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/settings.rb:488>, @delegate_to=nil, @depends_on=[], @lazy=true, @name=:enabled, @on_set=nil, @resetter=nil, @setter=#<Proc:0x000000010ed78660 /Users/Drowze/.gem/ruby/3.2.0/gems/ddtrace-1.11.0/lib/datadog/core/configuration/option_definition.rb:10 (lambda)>, @type=nil>, @context=#<#<Class:0x000000010ef7faa8>:0x000000010f6adb18 ...>, @value=true, @is_set=true>}>, @is_set=true>}>

Can we reopen this issue?

Workman commented 1 year ago

+1 to @Drowze's request. Currently trying to update 1.10.1 to 1.11.0 as well and running into the same issue.

Note: The workaround does resolve the issue.

GustavoCaso commented 1 year ago

@Drowze @Workman Thanks so uso much for confirming the regression on 1.11.0 and so sorry for the inconvenience.

We just merge a fix which will be part of the next release that fixes the issue.