opentelemetry-sdk 0.14.0 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +110 -44
  3. data/README.md +2 -2
  4. data/lib/opentelemetry/sdk.rb +4 -3
  5. data/lib/opentelemetry/sdk/configurator.rb +52 -33
  6. data/lib/opentelemetry/sdk/forwarding_logger.rb +69 -0
  7. data/lib/opentelemetry/sdk/internal.rb +3 -3
  8. data/lib/opentelemetry/sdk/resources/constants.rb +48 -3
  9. data/lib/opentelemetry/sdk/resources/resource.rb +8 -1
  10. data/lib/opentelemetry/sdk/trace.rb +2 -3
  11. data/lib/opentelemetry/sdk/trace/event.rb +7 -36
  12. data/lib/opentelemetry/sdk/trace/export.rb +1 -2
  13. data/lib/opentelemetry/sdk/trace/export/batch_span_processor.rb +10 -5
  14. data/lib/opentelemetry/sdk/trace/export/console_span_exporter.rb +4 -0
  15. data/lib/opentelemetry/sdk/trace/export/in_memory_span_exporter.rb +23 -4
  16. data/lib/opentelemetry/sdk/trace/export/simple_span_processor.rb +4 -2
  17. data/lib/opentelemetry/sdk/trace/export/{noop_span_exporter.rb → span_exporter.rb} +18 -7
  18. data/lib/opentelemetry/sdk/trace/span.rb +83 -39
  19. data/lib/opentelemetry/sdk/trace/span_data.rb +25 -18
  20. data/lib/opentelemetry/sdk/trace/span_limits.rb +60 -0
  21. data/lib/opentelemetry/sdk/trace/{noop_span_processor.rb → span_processor.rb} +5 -8
  22. data/lib/opentelemetry/sdk/trace/tracer.rb +1 -37
  23. data/lib/opentelemetry/sdk/trace/tracer_provider.rb +106 -19
  24. data/lib/opentelemetry/sdk/version.rb +1 -1
  25. metadata +43 -20
  26. data/lib/opentelemetry/sdk/baggage.rb +0 -16
  27. data/lib/opentelemetry/sdk/baggage/builder.rb +0 -40
  28. data/lib/opentelemetry/sdk/baggage/manager.rb +0 -97
  29. data/lib/opentelemetry/sdk/trace/config.rb +0 -18
  30. data/lib/opentelemetry/sdk/trace/config/trace_config.rb +0 -79
  31. data/lib/opentelemetry/sdk/trace/export/multi_span_exporter.rb +0 -59
  32. data/lib/opentelemetry/sdk/trace/multi_span_processor.rb +0 -86
@@ -10,24 +10,24 @@ module OpenTelemetry
10
10
  # implementation.
11
11
  module Trace
12
12
  # SpanData is a Struct containing {Span} data for export.
13
- SpanData = Struct.new(:name,
14
- :kind,
15
- :status,
16
- :parent_span_id,
17
- :total_recorded_attributes,
18
- :total_recorded_events,
19
- :total_recorded_links,
20
- :start_timestamp,
21
- :end_timestamp,
22
- :attributes,
23
- :links,
24
- :events,
25
- :resource,
26
- :instrumentation_library,
27
- :span_id,
28
- :trace_id,
29
- :trace_flags,
30
- :tracestate) do
13
+ SpanData = Struct.new(:name, # String
14
+ :kind, # Symbol: :internal, :producer, :consumer, :client, :server
15
+ :status, # Status
16
+ :parent_span_id, # String (8 byte binary), may be OpenTelemetry::Trace::INVALID_SPAN_ID
17
+ :total_recorded_attributes, # Integer
18
+ :total_recorded_events, # Integer
19
+ :total_recorded_links, # Integer
20
+ :start_timestamp, # Integer nanoseconds since Epoch
21
+ :end_timestamp, # Integer nanoseconds since Epoch
22
+ :attributes, # optional Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}
23
+ :links, # optional Array[OpenTelemetry::Trace::Link]
24
+ :events, # optional Array[Event]
25
+ :resource, # OpenTelemetry::SDK::Resources::Resource
26
+ :instrumentation_library, # OpenTelemetry::SDK::InstrumentationLibrary
27
+ :span_id, # String (8 byte binary)
28
+ :trace_id, # String (16-byte binary)
29
+ :trace_flags, # Integer (8-bit byte of bit flags)
30
+ :tracestate) do # OpenTelemetry::Trace::Tracestate
31
31
  # Returns the lowercase [hex encoded](https://tools.ietf.org/html/rfc4648#section-8) span ID.
32
32
  #
33
33
  # @return [String] A 16-hex-character lowercase string.
@@ -41,6 +41,13 @@ module OpenTelemetry
41
41
  def hex_trace_id
42
42
  trace_id.unpack1('H*')
43
43
  end
44
+
45
+ # Returns the lowercase [hex encoded](https://tools.ietf.org/html/rfc4648#section-8) parent span ID.
46
+ #
47
+ # @return [String] A 16-hex-character lowercase string.
48
+ def hex_parent_span_id
49
+ parent_span_id.unpack1('H*')
50
+ end
44
51
  end
45
52
  end
46
53
  end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright The OpenTelemetry Authors
4
+ #
5
+ # SPDX-License-Identifier: Apache-2.0
6
+
7
+ module OpenTelemetry
8
+ module SDK
9
+ module Trace
10
+ # Class that holds global trace parameters.
11
+ class SpanLimits
12
+ # The global default max number of attributes per {Span}.
13
+ attr_reader :attribute_count_limit
14
+
15
+ # The global default max length of attribute value per {Span}.
16
+ attr_reader :attribute_length_limit
17
+
18
+ # The global default max number of {OpenTelemetry::SDK::Trace::Event}s per {Span}.
19
+ attr_reader :event_count_limit
20
+
21
+ # The global default max number of {OpenTelemetry::Trace::Link} entries per {Span}.
22
+ attr_reader :link_count_limit
23
+
24
+ # The global default max number of attributes per {OpenTelemetry::SDK::Trace::Event}.
25
+ attr_reader :attribute_per_event_count_limit
26
+
27
+ # The global default max number of attributes per {OpenTelemetry::Trace::Link}.
28
+ attr_reader :attribute_per_link_count_limit
29
+
30
+ # Returns a {SpanLimits} with the desired values.
31
+ #
32
+ # @return [SpanLimits] with the desired values.
33
+ # @raise [ArgumentError] if any of the max numbers are not positive.
34
+ def initialize(attribute_count_limit: Integer(ENV.fetch('OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT', 128)), # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
35
+ attribute_length_limit: ENV['OTEL_RUBY_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT'],
36
+ event_count_limit: Integer(ENV.fetch('OTEL_SPAN_EVENT_COUNT_LIMIT', 128)),
37
+ link_count_limit: Integer(ENV.fetch('OTEL_SPAN_LINK_COUNT_LIMIT', 128)),
38
+ attribute_per_event_count_limit: attribute_count_limit,
39
+ attribute_per_link_count_limit: attribute_count_limit)
40
+ raise ArgumentError, 'attribute_count_limit must be positive' unless attribute_count_limit.positive?
41
+ raise ArgumentError, 'attribute_length_limit must not be less than 32' unless attribute_length_limit.nil? || Integer(attribute_length_limit) >= 32
42
+ raise ArgumentError, 'event_count_limit must be positive' unless event_count_limit.positive?
43
+ raise ArgumentError, 'link_count_limit must be positive' unless link_count_limit.positive?
44
+ raise ArgumentError, 'attribute_per_event_count_limit must be positive' unless attribute_per_event_count_limit.positive?
45
+ raise ArgumentError, 'attribute_per_link_count_limit must be positive' unless attribute_per_link_count_limit.positive?
46
+
47
+ @attribute_count_limit = attribute_count_limit
48
+ @attribute_length_limit = attribute_length_limit.nil? ? nil : Integer(attribute_length_limit)
49
+ @event_count_limit = event_count_limit
50
+ @link_count_limit = link_count_limit
51
+ @attribute_per_event_count_limit = attribute_per_event_count_limit
52
+ @attribute_per_link_count_limit = attribute_per_link_count_limit
53
+ end
54
+
55
+ # The default {SpanLimits}.
56
+ DEFAULT = new
57
+ end
58
+ end
59
+ end
60
+ end
@@ -4,17 +4,14 @@
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
7
- require 'singleton'
8
-
9
7
  module OpenTelemetry
10
8
  module SDK
11
9
  module Trace
12
- # NoopSpanProcessor is a singleton implementation of the duck type
13
- # SpanProcessor that provides synchronous no-op hooks for when a
14
- # {Span} is started or when a {Span} is ended.
15
- class NoopSpanProcessor
16
- include Singleton
17
-
10
+ # SpanProcessor describes a duck type and provides synchronous no-op hooks for when a
11
+ # {Span} is started or when a {Span} is ended. It is not required to subclass this
12
+ # class to provide an implementation of SpanProcessor, provided the interface is
13
+ # satisfied.
14
+ class SpanProcessor
18
15
  # Called when a {Span} is started, if the {Span#recording?}
19
16
  # returns true.
20
17
  #
@@ -9,10 +9,6 @@ module OpenTelemetry
9
9
  module Trace
10
10
  # {Tracer} is the SDK implementation of {OpenTelemetry::Trace::Tracer}.
11
11
  class Tracer < OpenTelemetry::Trace::Tracer
12
- attr_reader :name
13
- attr_reader :version
14
- attr_reader :tracer_provider
15
-
16
12
  # @api private
17
13
  #
18
14
  # Returns a new {Tracer} instance.
@@ -23,8 +19,6 @@ module OpenTelemetry
23
19
  #
24
20
  # @return [Tracer]
25
21
  def initialize(name, version, tracer_provider)
26
- @name = name
27
- @version = version
28
22
  @instrumentation_library = InstrumentationLibrary.new(name, version)
29
23
  @tracer_provider = tracer_provider
30
24
  end
@@ -42,37 +36,7 @@ module OpenTelemetry
42
36
  parent_span_id = parent_span_context.span_id
43
37
  trace_id = parent_span_context.trace_id
44
38
  end
45
- trace_id ||= tracer_provider.id_generator.generate_trace_id
46
- sampler = tracer_provider.active_trace_config.sampler
47
- result = sampler.should_sample?(trace_id: trace_id, parent_context: with_parent, links: links, name: name, kind: kind, attributes: attributes)
48
- internal_create_span(result, name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, with_parent)
49
- end
50
-
51
- private
52
-
53
- def internal_create_span(result, name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, parent_context) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
54
- span_id = tracer_provider.id_generator.generate_span_id
55
- if result.recording? && !tracer_provider.stopped?
56
- trace_flags = result.sampled? ? OpenTelemetry::Trace::TraceFlags::SAMPLED : OpenTelemetry::Trace::TraceFlags::DEFAULT
57
- context = OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, trace_flags: trace_flags, tracestate: result.tracestate)
58
- attributes = attributes&.merge(result.attributes) || result.attributes
59
- Span.new(
60
- context,
61
- parent_context,
62
- name,
63
- kind,
64
- parent_span_id,
65
- tracer_provider.active_trace_config,
66
- tracer_provider.active_span_processor,
67
- attributes,
68
- links,
69
- start_timestamp || Time.now,
70
- tracer_provider.resource,
71
- @instrumentation_library
72
- )
73
- else
74
- OpenTelemetry::Trace::Span.new(span_context: OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, tracestate: result.tracestate))
75
- end
39
+ @tracer_provider.internal_create_span(name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, with_parent, @instrumentation_library)
76
40
  end
77
41
  end
78
42
  end
@@ -8,24 +8,35 @@ module OpenTelemetry
8
8
  module SDK
9
9
  module Trace
10
10
  # {TracerProvider} is the SDK implementation of {OpenTelemetry::Trace::TracerProvider}.
11
- class TracerProvider < OpenTelemetry::Trace::TracerProvider
11
+ class TracerProvider < OpenTelemetry::Trace::TracerProvider # rubocop:disable Metrics/ClassLength
12
12
  Key = Struct.new(:name, :version)
13
13
  private_constant(:Key)
14
14
 
15
- attr_accessor :active_trace_config, :id_generator
16
- attr_reader :active_span_processor, :stopped, :resource
17
- alias stopped? stopped
15
+ attr_accessor :span_limits, :id_generator, :sampler
16
+ attr_reader :resource
18
17
 
19
18
  # Returns a new {TracerProvider} instance.
20
19
  #
20
+ # @param [optional Sampler] sampler The sampling policy for new spans
21
+ # @param [optional Resource] resource The resource to associate with spans
22
+ # created by Tracers created by this TracerProvider
23
+ # @param [optional IDGenerator] id_generator The trace and span ID generation
24
+ # policy
25
+ # @param [optional SpanLimits] span_limits The limits to apply to attribute,
26
+ # event and link counts for Spans created by Tracers created by this
27
+ # TracerProvider
28
+ #
21
29
  # @return [TracerProvider]
22
- def initialize(resource = OpenTelemetry::SDK::Resources::Resource.create)
30
+ def initialize(sampler: sampler_from_environment(Samplers.parent_based(root: Samplers::ALWAYS_ON)),
31
+ resource: OpenTelemetry::SDK::Resources::Resource.create,
32
+ id_generator: OpenTelemetry::Trace,
33
+ span_limits: SpanLimits::DEFAULT)
23
34
  @mutex = Mutex.new
24
35
  @registry = {}
25
- @active_span_processor = NoopSpanProcessor.instance
26
- @active_trace_config = Config::TraceConfig::DEFAULT
27
- @id_generator = OpenTelemetry::Trace
28
- @registered_span_processors = []
36
+ @span_processors = []
37
+ @span_limits = span_limits
38
+ @sampler = sampler
39
+ @id_generator = id_generator
29
40
  @stopped = false
30
41
  @resource = resource
31
42
  end
@@ -39,10 +50,11 @@ module OpenTelemetry
39
50
  def tracer(name = nil, version = nil)
40
51
  name ||= ''
41
52
  version ||= ''
53
+ OpenTelemetry.logger.warn 'calling TracerProvider#tracer without providing a tracer name.' if name.empty?
42
54
  @mutex.synchronize { @registry[Key.new(name, version)] ||= Tracer.new(name, version, self) }
43
55
  end
44
56
 
45
- # Attempts to stop all the activity for this {Tracer}. Calls
57
+ # Attempts to stop all the activity for this {TracerProvider}. Calls
46
58
  # SpanProcessor#shutdown for all registered SpanProcessors.
47
59
  #
48
60
  # This operation may block until all the Spans are processed. Must be
@@ -52,23 +64,54 @@ module OpenTelemetry
52
64
  # After this is called all the newly created {Span}s will be no-op.
53
65
  #
54
66
  # @param [optional Numeric] timeout An optional timeout in seconds.
67
+ # @return [Integer] Export::SUCCESS if no error occurred, Export::FAILURE if
68
+ # a non-specific failure occurred, Export::TIMEOUT if a timeout occurred.
55
69
  def shutdown(timeout: nil)
56
70
  @mutex.synchronize do
57
71
  if @stopped
58
72
  OpenTelemetry.logger.warn('calling Tracer#shutdown multiple times.')
59
- return
73
+ return Export::FAILURE
74
+ end
75
+
76
+ start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
77
+ results = @span_processors.map do |processor|
78
+ remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
79
+ break [Export::TIMEOUT] if remaining_timeout&.zero?
80
+
81
+ processor.shutdown(timeout: remaining_timeout)
60
82
  end
61
- @active_span_processor.shutdown(timeout: timeout)
62
83
  @stopped = true
84
+ results.max || Export::SUCCESS
63
85
  end
64
86
  end
65
87
 
66
- # Adds a new SpanProcessor to this {Tracer}.
88
+ # Immediately export all spans that have not yet been exported for all the
89
+ # registered SpanProcessors.
67
90
  #
68
- # Any registered processor causes overhead, consider to use an
69
- # async/batch processor especially for span exporting, and export to
70
- # multiple backends using the
71
- # {io.opentelemetry.sdk.trace.export.MultiSpanExporter}.
91
+ # This method should only be called in cases where it is absolutely
92
+ # necessary, such as when using some FaaS providers that may suspend
93
+ # the process after an invocation, but before the `Processor` exports
94
+ # the completed spans.
95
+ #
96
+ # @param [optional Numeric] timeout An optional timeout in seconds.
97
+ # @return [Integer] Export::SUCCESS if no error occurred, Export::FAILURE if
98
+ # a non-specific failure occurred, Export::TIMEOUT if a timeout occurred.
99
+ def force_flush(timeout: nil)
100
+ @mutex.synchronize do
101
+ return Export::SUCCESS if @stopped
102
+
103
+ start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
104
+ results = @span_processors.map do |processor|
105
+ remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
106
+ return Export::TIMEOUT if remaining_timeout&.zero?
107
+
108
+ processor.force_flush(timeout: remaining_timeout)
109
+ end
110
+ results.max || Export::SUCCESS
111
+ end
112
+ end
113
+
114
+ # Adds a new SpanProcessor to this {Tracer}.
72
115
  #
73
116
  # @param span_processor the new SpanProcessor to be added.
74
117
  def add_span_processor(span_processor)
@@ -77,9 +120,53 @@ module OpenTelemetry
77
120
  OpenTelemetry.logger.warn('calling Tracer#add_span_processor after shutdown.')
78
121
  return
79
122
  end
80
- @registered_span_processors << span_processor
81
- @active_span_processor = MultiSpanProcessor.new(@registered_span_processors.dup)
123
+ @span_processors = @span_processors.dup.push(span_processor)
124
+ end
125
+ end
126
+
127
+ # @api private
128
+ def internal_create_span(name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, parent_context, instrumentation_library) # rubocop:disable Metrics/MethodLength
129
+ trace_id ||= @id_generator.generate_trace_id
130
+ result = @sampler.should_sample?(trace_id: trace_id, parent_context: parent_context, links: links, name: name, kind: kind, attributes: attributes)
131
+ span_id = @id_generator.generate_span_id
132
+ if result.recording? && !@stopped
133
+ trace_flags = result.sampled? ? OpenTelemetry::Trace::TraceFlags::SAMPLED : OpenTelemetry::Trace::TraceFlags::DEFAULT
134
+ context = OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, trace_flags: trace_flags, tracestate: result.tracestate)
135
+ attributes = attributes&.merge(result.attributes) || result.attributes
136
+ Span.new(
137
+ context,
138
+ parent_context,
139
+ name,
140
+ kind,
141
+ parent_span_id,
142
+ @span_limits,
143
+ @span_processors,
144
+ attributes,
145
+ links,
146
+ start_timestamp,
147
+ @resource,
148
+ instrumentation_library
149
+ )
150
+ else
151
+ OpenTelemetry::Trace.non_recording_span(OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, tracestate: result.tracestate))
152
+ end
153
+ end
154
+
155
+ private
156
+
157
+ def sampler_from_environment(default_sampler) # rubocop:disable Metrics/CyclomaticComplexity
158
+ case ENV['OTEL_TRACES_SAMPLER']
159
+ when 'always_on' then Samplers::ALWAYS_ON
160
+ when 'always_off' then Samplers::ALWAYS_OFF
161
+ when 'traceidratio' then Samplers.trace_id_ratio_based(Float(ENV.fetch('OTEL_TRACES_SAMPLER_ARG', 1.0)))
162
+ when 'parentbased_always_on' then Samplers.parent_based(root: Samplers::ALWAYS_ON)
163
+ when 'parentbased_always_off' then Samplers.parent_based(root: Samplers::ALWAYS_OFF)
164
+ when 'parentbased_traceidratio' then Samplers.parent_based(root: Samplers.trace_id_ratio_based(Float(ENV.fetch('OTEL_TRACES_SAMPLER_ARG', 1.0))))
165
+ else default_sampler
82
166
  end
167
+ rescue StandardError => e
168
+ OpenTelemetry.handle_error(exception: e, message: "installing default sampler #{default_sampler.description}")
169
+ default_sampler
83
170
  end
84
171
  end
85
172
  end
@@ -7,6 +7,6 @@
7
7
  module OpenTelemetry
8
8
  module SDK
9
9
  ## Current OpenTelemetry version
10
- VERSION = '0.14.0'
10
+ VERSION = '1.0.0.rc2'
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 1.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-03 00:00:00.000000000 Z
11
+ date: 2021-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.14.0
19
+ version: 1.0.0.rc2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.14.0
26
+ version: 1.0.0.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opentelemetry-common
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.14.0
33
+ version: 0.19.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.14.0
40
+ version: 0.19.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: opentelemetry-instrumentation-base
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.18.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.18.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,20 @@ dependencies:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
96
  version: '5.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: opentelemetry-exporter-jaeger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.18.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.18.0
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rake
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -163,29 +191,22 @@ files:
163
191
  - README.md
164
192
  - lib/opentelemetry-sdk.rb
165
193
  - lib/opentelemetry/sdk.rb
166
- - lib/opentelemetry/sdk/baggage.rb
167
- - lib/opentelemetry/sdk/baggage/builder.rb
168
- - lib/opentelemetry/sdk/baggage/manager.rb
169
194
  - lib/opentelemetry/sdk/configurator.rb
195
+ - lib/opentelemetry/sdk/forwarding_logger.rb
170
196
  - lib/opentelemetry/sdk/instrumentation_library.rb
171
197
  - lib/opentelemetry/sdk/internal.rb
172
198
  - lib/opentelemetry/sdk/resources.rb
173
199
  - lib/opentelemetry/sdk/resources/constants.rb
174
200
  - lib/opentelemetry/sdk/resources/resource.rb
175
201
  - lib/opentelemetry/sdk/trace.rb
176
- - lib/opentelemetry/sdk/trace/config.rb
177
- - lib/opentelemetry/sdk/trace/config/trace_config.rb
178
202
  - lib/opentelemetry/sdk/trace/event.rb
179
203
  - lib/opentelemetry/sdk/trace/export.rb
180
204
  - lib/opentelemetry/sdk/trace/export/batch_span_processor.rb
181
205
  - lib/opentelemetry/sdk/trace/export/console_span_exporter.rb
182
206
  - lib/opentelemetry/sdk/trace/export/in_memory_span_exporter.rb
183
207
  - lib/opentelemetry/sdk/trace/export/metrics_reporter.rb
184
- - lib/opentelemetry/sdk/trace/export/multi_span_exporter.rb
185
- - lib/opentelemetry/sdk/trace/export/noop_span_exporter.rb
186
208
  - lib/opentelemetry/sdk/trace/export/simple_span_processor.rb
187
- - lib/opentelemetry/sdk/trace/multi_span_processor.rb
188
- - lib/opentelemetry/sdk/trace/noop_span_processor.rb
209
+ - lib/opentelemetry/sdk/trace/export/span_exporter.rb
189
210
  - lib/opentelemetry/sdk/trace/samplers.rb
190
211
  - lib/opentelemetry/sdk/trace/samplers/constant_sampler.rb
191
212
  - lib/opentelemetry/sdk/trace/samplers/decision.rb
@@ -194,6 +215,8 @@ files:
194
215
  - lib/opentelemetry/sdk/trace/samplers/trace_id_ratio_based.rb
195
216
  - lib/opentelemetry/sdk/trace/span.rb
196
217
  - lib/opentelemetry/sdk/trace/span_data.rb
218
+ - lib/opentelemetry/sdk/trace/span_limits.rb
219
+ - lib/opentelemetry/sdk/trace/span_processor.rb
197
220
  - lib/opentelemetry/sdk/trace/tracer.rb
198
221
  - lib/opentelemetry/sdk/trace/tracer_provider.rb
199
222
  - lib/opentelemetry/sdk/version.rb
@@ -201,10 +224,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
201
224
  licenses:
202
225
  - Apache-2.0
203
226
  metadata:
204
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v0.14.0/file.CHANGELOG.html
227
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0.0.rc2/file.CHANGELOG.html
205
228
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/sdk
206
229
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
207
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v0.14.0
230
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0.0.rc2
208
231
  post_install_message:
209
232
  rdoc_options: []
210
233
  require_paths:
@@ -216,11 +239,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
239
  version: 2.5.0
217
240
  required_rubygems_version: !ruby/object:Gem::Requirement
218
241
  requirements:
219
- - - ">="
242
+ - - ">"
220
243
  - !ruby/object:Gem::Version
221
- version: '0'
244
+ version: 1.3.1
222
245
  requirements: []
223
- rubygems_version: 3.1.4
246
+ rubygems_version: 3.1.6
224
247
  signing_key:
225
248
  specification_version: 4
226
249
  summary: A stats collection and distributed tracing framework