Skip to content

Commit ec04cac

Browse files
committed
Adjust tracer to use instrumentation library
1 parent c012c60 commit ec04cac

4 files changed

Lines changed: 9 additions & 17 deletions

File tree

sdk/lib/opentelemetry/sdk/trace/tracer.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ module SDK
99
module Trace
1010
# {Tracer} is the SDK implementation of {OpenTelemetry::Trace::Tracer}.
1111
class Tracer < OpenTelemetry::Trace::Tracer
12-
attr_reader :resource
12+
attr_reader :name
13+
attr_reader :version
1314

1415
# @api private
1516
#
1617
# Returns a new {Tracer} instance.
1718
#
18-
# @param [Resource] resource Containing name and version arguments supplied to the TracerProvider
19+
# @param [InstrumentationLibrary] resource Containing name and version arguments supplied to the TracerProvider
1920
#
2021
# @return [Tracer]
2122
def initialize(name, version)
2223
@name = name
2324
@version = version
24-
@resource = Resources::Resource.create('name' => name, 'version' => version)
2525
@instrumentation_library = InstrumentationLibrary.new(name, version)
2626
end
2727

@@ -54,7 +54,8 @@ def internal_create_span(result, name, kind, trace_id, span_id, parent_span_id,
5454
attributes = attributes&.merge(result.attributes) || result.attributes
5555
active_trace_config = OpenTelemetry.tracer_provider.active_trace_config
5656
active_span_processor = OpenTelemetry.tracer_provider.active_span_processor
57-
Span.new(context, name, kind, parent_span_id, active_trace_config, active_span_processor, attributes, links, start_timestamp || Time.now, @resource, @instrumentation_library)
57+
resource = OpenTelemetry.tracer_provider.resource
58+
Span.new(context, name, kind, parent_span_id, active_trace_config, active_span_processor, attributes, links, start_timestamp || Time.now, resource, @instrumentation_library)
5859
else
5960
OpenTelemetry::Trace::Span.new(span_context: OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id))
6061
end

sdk/lib/opentelemetry/sdk/trace/tracer_provider.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ class TracerProvider < OpenTelemetry::Trace::TracerProvider
1313
private_constant(:Key)
1414

1515
attr_accessor :active_trace_config
16-
attr_reader :active_span_processor
17-
attr_reader :stopped
16+
attr_reader :active_span_processor, :stopped, :resource
1817
alias stopped? stopped
1918

2019
# Returns a new {TracerProvider} instance.
@@ -39,8 +38,7 @@ def initialize(resource = OpenTelemetry::SDK::Resources::Resource.create)
3938
def tracer(name = nil, version = nil)
4039
name ||= ''
4140
version ||= ''
42-
resource = @resource.merge(OpenTelemetry::SDK::Resources::Resource.create('name' => name, 'version' => version))
43-
@mutex.synchronize { @registry[Key.new(name, version)] ||= Tracer.new(resource) }
41+
@mutex.synchronize { @registry[Key.new(name, version)] ||= Tracer.new(name, version) }
4442
end
4543

4644
# Attempts to stop all the activity for this {Tracer}. Calls

sdk/test/opentelemetry/sdk/trace/tracer_provider_test.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@
8686

8787
it 'returns a default name-less version-less tracer' do
8888
tracer = tracer_provider.tracer
89-
_(tracer.resource.label_enumerator.to_h).must_equal('name' => '', 'version' => '')
89+
_(tracer.name).must_equal('')
90+
_(tracer.version).must_equal('')
9091
end
9192

9293
it 'returns different tracers for different names' do

sdk/test/opentelemetry/sdk/trace/tracer_test.rb

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,6 @@
1818
->(trace_id:, span_id:, parent_context:, links:, name:, kind:, attributes:) { Result.new(decision: Decision::RECORD) } # rubocop:disable Lint/UnusedBlockArgument
1919
end
2020

21-
describe '#resource' do
22-
let(:resource) { OpenTelemetry::SDK::Resources::Resource.create('name' => 'component', 'version' => 'semver:1.0') }
23-
24-
it 'reflects the resource passed in' do
25-
_(Tracer.new(resource).resource).must_equal(resource)
26-
end
27-
end
28-
2921
describe '#start_root_span' do
3022
it 'provides a default name' do
3123
_(tracer.start_root_span(nil).name).wont_be_nil

0 commit comments

Comments
 (0)