Skip to content

Commit 4c4c36d

Browse files
authored
fix: allow env var override of service.name (#592)
* fix: allow env var override of service.name * fix: leaky state
1 parent 601d7fa commit 4c4c36d

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

sdk/lib/opentelemetry/sdk/resources/resource.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def create(attributes = {})
3131
end
3232

3333
def default
34-
@default ||= telemetry_sdk.merge(process).merge(create(Constants::SERVICE_RESOURCE[:name] => 'unknown_service'))
34+
@default ||= create(Constants::SERVICE_RESOURCE[:name] => 'unknown_service').merge(process).merge(telemetry_sdk)
3535
end
3636

3737
def telemetry_sdk

sdk/test/opentelemetry/sdk/resources/resource_test.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@
4242
end
4343

4444
describe '.default' do
45+
before do
46+
Resource.instance_variable_set(:@default, nil)
47+
end
48+
49+
after do
50+
Resource.instance_variable_set(:@default, nil)
51+
end
52+
4553
it 'contains telemetry sdk attributes' do
4654
resource_attributes = Resource.default.attribute_enumerator.to_h
4755
_(resource_attributes).must_include('telemetry.sdk.name')
@@ -63,6 +71,14 @@
6371
_(resource_attributes).must_include('service.name')
6472
_(resource_attributes['service.name']).must_equal('unknown_service')
6573
end
74+
75+
it 'allows overriding the default service.name with the environment variable' do
76+
with_env('OTEL_RESOURCE_ATTRIBUTES' => 'service.name=svc') do
77+
resource_attributes = Resource.default.attribute_enumerator.to_h
78+
_(resource_attributes).must_include('service.name')
79+
_(resource_attributes['service.name']).must_equal('svc')
80+
end
81+
end
6682
end
6783

6884
describe '.telemetry_sdk' do

0 commit comments

Comments
 (0)