diff --git a/lib/datadog/core/remote.rb b/lib/datadog/core/remote.rb index c8960b51a07..5b8fd39da3d 100644 --- a/lib/datadog/core/remote.rb +++ b/lib/datadog/core/remote.rb @@ -4,21 +4,6 @@ module Datadog module Core # Module to interact with core remote component module Remote - class << self - def active_remote - remote - end - - private - - def components - Datadog.send(:components) - end - - def remote - components.remote - end - end end end end diff --git a/lib/datadog/core/remote/tie.rb b/lib/datadog/core/remote/tie.rb index ef0d331529a..b475d07dafd 100644 --- a/lib/datadog/core/remote/tie.rb +++ b/lib/datadog/core/remote/tie.rb @@ -11,12 +11,13 @@ module Tie ) def self.boot - return if Datadog::Core::Remote.active_remote.nil? + active_remote = Datadog.send(:components, allow_initialization: false)&.remote + return if active_remote.nil? barrier = nil t = Datadog::Core::Utils::Time.measure do - barrier = Datadog::Core::Remote.active_remote.barrier(:once) + barrier = active_remote.barrier(:once) end # steep does not permit the next line due to diff --git a/lib/datadog/core/remote/tie/tracing.rb b/lib/datadog/core/remote/tie/tracing.rb index e00cd0b6500..3d6194c4f54 100644 --- a/lib/datadog/core/remote/tie/tracing.rb +++ b/lib/datadog/core/remote/tie/tracing.rb @@ -13,13 +13,14 @@ def self.tag(boot, span) return if boot.nil? return if span.nil? - return if Datadog::Core::Remote.active_remote.nil? + active_remote = Datadog.send(:components, allow_initialization: false)&.remote + return if active_remote.nil? # TODO: this is not thread-consistent - ready = Datadog::Core::Remote.active_remote.healthy + ready = active_remote.healthy status = ready ? 'ready' : 'disconnected' - span.set_tag('_dd.rc.client_id', Datadog::Core::Remote.active_remote.client.id) + span.set_tag('_dd.rc.client_id', active_remote.client.id) span.set_tag('_dd.rc.status', status) if boot.barrier != :pass diff --git a/sig/datadog/core/remote.rbs b/sig/datadog/core/remote.rbs index eb564ff7352..e8577a96c66 100644 --- a/sig/datadog/core/remote.rbs +++ b/sig/datadog/core/remote.rbs @@ -1,13 +1,6 @@ module Datadog module Core module Remote - def self.active_remote: () -> Datadog::Core::Remote::Component - - private - - def self.components: () -> Datadog::Core::Configuration::Components - - def self.remote: () -> Datadog::Core::Remote::Component end end end diff --git a/spec/datadog/appsec/contrib/rack/integration_test_spec.rb b/spec/datadog/appsec/contrib/rack/integration_test_spec.rb index fcd02dc4ee9..9e9d48703c1 100644 --- a/spec/datadog/appsec/contrib/rack/integration_test_spec.rb +++ b/spec/datadog/appsec/contrib/rack/integration_test_spec.rb @@ -299,7 +299,7 @@ let(:remote_boot_timeout) { 1.0 } let(:route) { '/success/' } - let(:component) { Datadog::Core::Remote.active_remote } + let(:component) { Datadog.send(:components).remote } let(:worker) { component.instance_eval { @worker } } let(:client) { double('Client') } let(:transport_v7) { double('Transport') } diff --git a/spec/datadog/tracing/contrib/rack/integration_test_spec.rb b/spec/datadog/tracing/contrib/rack/integration_test_spec.rb index b923d381bc3..95fad9c7e7c 100644 --- a/spec/datadog/tracing/contrib/rack/integration_test_spec.rb +++ b/spec/datadog/tracing/contrib/rack/integration_test_spec.rb @@ -151,7 +151,7 @@ let(:remote_boot_timeout) { 1.0 } let(:route) { '/success/' } - let(:component) { Datadog::Core::Remote.active_remote } + let(:component) { Datadog.send(:components).remote } let(:worker) { component.instance_eval { @worker } } let(:client) { double('Client') } let(:transport_v7) { double('Transport') } diff --git a/spec/datadog/tracing/contrib/suite/integration_spec.rb b/spec/datadog/tracing/contrib/suite/integration_spec.rb index 96a34d51209..20199912fd3 100644 --- a/spec/datadog/tracing/contrib/suite/integration_spec.rb +++ b/spec/datadog/tracing/contrib/suite/integration_spec.rb @@ -94,6 +94,10 @@ def build(*dynamic_configurations) }.to_json end + let(:active_remote) do + Datadog.send(:components).remote + end + context 'with dynamic configuration data' do let(:dynamic_configuration) { new_dynamic_configuration(product, data) } let(:data) { { 'lib_config' => lib_config } } @@ -109,7 +113,7 @@ def build(*dynamic_configurations) let(:tracing_header_tags) { [{ 'header' => 'test-header', 'tag_name' => '' }] } it 'overrides the local values' do - Datadog::Core::Remote.active_remote.barrier(:once) + active_remote.barrier(:once) expect(Datadog.configuration.tracing.sampling.default_rate).to be_nil expect(Datadog.configuration.tracing.log_injection).to eq(true) @@ -128,7 +132,7 @@ def build(*dynamic_configurations) let(:empty_data) { { 'lib_config' => {} } } it 'restore the local values' do - Datadog::Core::Remote.active_remote.barrier(:once) + active_remote.barrier(:once) update_config @@ -200,7 +204,7 @@ def build(*dynamic_configurations) it 'changes default sampling rate and sampling decision' do # Before - Datadog::Core::Remote.active_remote.barrier(:once) + active_remote.barrier(:once) tracer.trace('test') {} expect(trace.rule_sample_rate).to be_nil @@ -236,7 +240,7 @@ def build(*dynamic_configurations) it 'changes disables log injection' do # Before - Datadog::Core::Remote.active_remote.barrier(:once) + active_remote.barrier(:once) expect(Datadog.configuration.tracing.log_injection).to eq(true) tracer.trace('test') { logger.error('test-log') }