opentelemetry-sdk 0.16.0 → 1.0.0.rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +133 -61
  3. data/README.md +25 -2
  4. data/lib/opentelemetry/sdk.rb +5 -3
  5. data/lib/opentelemetry/sdk/configurator.rb +54 -43
  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.rb +0 -1
  9. data/lib/opentelemetry/sdk/resources/resource.rb +16 -9
  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 +3 -2
  13. data/lib/opentelemetry/sdk/trace/export/batch_span_processor.rb +4 -3
  14. data/lib/opentelemetry/sdk/trace/export/in_memory_span_exporter.rb +13 -4
  15. data/lib/opentelemetry/sdk/trace/export/simple_span_processor.rb +2 -0
  16. data/lib/opentelemetry/sdk/trace/export/{noop_span_exporter.rb → span_exporter.rb} +8 -7
  17. data/lib/opentelemetry/sdk/trace/span.rb +55 -39
  18. data/lib/opentelemetry/sdk/trace/span_data.rb +25 -18
  19. data/lib/opentelemetry/sdk/trace/span_limits.rb +60 -0
  20. data/lib/opentelemetry/sdk/trace/{noop_span_processor.rb → span_processor.rb} +5 -8
  21. data/lib/opentelemetry/sdk/trace/tracer.rb +1 -37
  22. data/lib/opentelemetry/sdk/trace/tracer_provider.rb +89 -19
  23. data/lib/opentelemetry/sdk/version.rb +1 -1
  24. metadata +74 -24
  25. data/lib/opentelemetry/sdk/baggage.rb +0 -16
  26. data/lib/opentelemetry/sdk/baggage/builder.rb +0 -40
  27. data/lib/opentelemetry/sdk/baggage/manager.rb +0 -97
  28. data/lib/opentelemetry/sdk/resources/constants.rb +0 -205
  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 -76
  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 :event_attribute_count_limit
26
+
27
+ # The global default max number of attributes per {OpenTelemetry::Trace::Link}.
28
+ attr_reader :link_attribute_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
+ event_attribute_count_limit: Integer(ENV.fetch('OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT', 128)),
39
+ link_attribute_count_limit: Integer(ENV.fetch('OTEL_LINK_ATTRIBUTE_COUNT_LIMIT', 128)))
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, 'event_attribute_count_limit must be positive' unless event_attribute_count_limit.positive?
45
+ raise ArgumentError, 'link_attribute_count_limit must be positive' unless link_attribute_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
+ @event_attribute_count_limit = event_attribute_count_limit
52
+ @link_attribute_count_limit = link_attribute_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,36 @@ 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
+ @registry_mutex = Mutex.new
37
+ @span_processors = []
38
+ @span_limits = span_limits
39
+ @sampler = sampler
40
+ @id_generator = id_generator
29
41
  @stopped = false
30
42
  @resource = resource
31
43
  end
@@ -39,7 +51,8 @@ module OpenTelemetry
39
51
  def tracer(name = nil, version = nil)
40
52
  name ||= ''
41
53
  version ||= ''
42
- @mutex.synchronize { @registry[Key.new(name, version)] ||= Tracer.new(name, version, self) }
54
+ OpenTelemetry.logger.warn 'calling TracerProvider#tracer without providing a tracer name.' if name.empty?
55
+ @registry_mutex.synchronize { @registry[Key.new(name, version)] ||= Tracer.new(name, version, self) }
43
56
  end
44
57
 
45
58
  # Attempts to stop all the activity for this {TracerProvider}. Calls
@@ -52,14 +65,24 @@ module OpenTelemetry
52
65
  # After this is called all the newly created {Span}s will be no-op.
53
66
  #
54
67
  # @param [optional Numeric] timeout An optional timeout in seconds.
68
+ # @return [Integer] Export::SUCCESS if no error occurred, Export::FAILURE if
69
+ # a non-specific failure occurred, Export::TIMEOUT if a timeout occurred.
55
70
  def shutdown(timeout: nil)
56
71
  @mutex.synchronize do
57
72
  if @stopped
58
73
  OpenTelemetry.logger.warn('calling Tracer#shutdown multiple times.')
59
- return
74
+ return Export::FAILURE
75
+ end
76
+
77
+ start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
78
+ results = @span_processors.map do |processor|
79
+ remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
80
+ break [Export::TIMEOUT] if remaining_timeout&.zero?
81
+
82
+ processor.shutdown(timeout: remaining_timeout)
60
83
  end
61
- @active_span_processor.shutdown(timeout: timeout)
62
84
  @stopped = true
85
+ results.max || Export::SUCCESS
63
86
  end
64
87
  end
65
88
 
@@ -78,7 +101,14 @@ module OpenTelemetry
78
101
  @mutex.synchronize do
79
102
  return Export::SUCCESS if @stopped
80
103
 
81
- @active_span_processor.force_flush(timeout: timeout)
104
+ start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
105
+ results = @span_processors.map do |processor|
106
+ remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
107
+ return Export::TIMEOUT if remaining_timeout&.zero?
108
+
109
+ processor.force_flush(timeout: remaining_timeout)
110
+ end
111
+ results.max || Export::SUCCESS
82
112
  end
83
113
  end
84
114
 
@@ -91,13 +121,53 @@ module OpenTelemetry
91
121
  OpenTelemetry.logger.warn('calling Tracer#add_span_processor after shutdown.')
92
122
  return
93
123
  end
94
- @registered_span_processors << span_processor
95
- @active_span_processor = if @registered_span_processors.size == 1
96
- span_processor
97
- else
98
- MultiSpanProcessor.new(@registered_span_processors.dup)
99
- end
124
+ @span_processors = @span_processors.dup.push(span_processor)
125
+ end
126
+ end
127
+
128
+ # @api private
129
+ def internal_create_span(name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, parent_context, instrumentation_library) # rubocop:disable Metrics/MethodLength
130
+ trace_id ||= @id_generator.generate_trace_id
131
+ result = @sampler.should_sample?(trace_id: trace_id, parent_context: parent_context, links: links, name: name, kind: kind, attributes: attributes)
132
+ span_id = @id_generator.generate_span_id
133
+ if result.recording? && !@stopped
134
+ trace_flags = result.sampled? ? OpenTelemetry::Trace::TraceFlags::SAMPLED : OpenTelemetry::Trace::TraceFlags::DEFAULT
135
+ context = OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, trace_flags: trace_flags, tracestate: result.tracestate)
136
+ attributes = attributes&.merge(result.attributes) || result.attributes
137
+ Span.new(
138
+ context,
139
+ parent_context,
140
+ name,
141
+ kind,
142
+ parent_span_id,
143
+ @span_limits,
144
+ @span_processors,
145
+ attributes,
146
+ links,
147
+ start_timestamp,
148
+ @resource,
149
+ instrumentation_library
150
+ )
151
+ else
152
+ OpenTelemetry::Trace.non_recording_span(OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id, tracestate: result.tracestate))
153
+ end
154
+ end
155
+
156
+ private
157
+
158
+ def sampler_from_environment(default_sampler) # rubocop:disable Metrics/CyclomaticComplexity
159
+ case ENV['OTEL_TRACES_SAMPLER']
160
+ when 'always_on' then Samplers::ALWAYS_ON
161
+ when 'always_off' then Samplers::ALWAYS_OFF
162
+ when 'traceidratio' then Samplers.trace_id_ratio_based(Float(ENV.fetch('OTEL_TRACES_SAMPLER_ARG', 1.0)))
163
+ when 'parentbased_always_on' then Samplers.parent_based(root: Samplers::ALWAYS_ON)
164
+ when 'parentbased_always_off' then Samplers.parent_based(root: Samplers::ALWAYS_OFF)
165
+ when 'parentbased_traceidratio' then Samplers.parent_based(root: Samplers.trace_id_ratio_based(Float(ENV.fetch('OTEL_TRACES_SAMPLER_ARG', 1.0))))
166
+ else default_sampler
100
167
  end
168
+ rescue StandardError => e
169
+ OpenTelemetry.handle_error(exception: e, message: "installing default sampler #{default_sampler.description}")
170
+ default_sampler
101
171
  end
102
172
  end
103
173
  end
@@ -7,6 +7,6 @@
7
7
  module OpenTelemetry
8
8
  module SDK
9
9
  ## Current OpenTelemetry version
10
- VERSION = '0.16.0'
10
+ VERSION = '1.0.0.rc3'
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.16.0
4
+ version: 1.0.0.rc3
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-03-22 00:00:00.000000000 Z
11
+ date: 2021-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,28 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 1.0.0.rc3
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.16.0
26
+ version: 1.0.0.rc3
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.16.0
33
+ version: 0.19.1
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.16.0
40
+ version: 0.19.1
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.2
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.2
55
+ - !ruby/object:Gem::Dependency
56
+ name: opentelemetry-semantic_conventions
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +109,33 @@ dependencies:
81
109
  - !ruby/object:Gem::Version
82
110
  version: '5.0'
83
111
  - !ruby/object:Gem::Dependency
84
- name: opentelemetry-exporter-jaeger
112
+ name: opentelemetry-exporter-zipkin
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: 0.16.0
117
+ version: 0.19.0
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: 0.16.0
124
+ version: 0.19.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: rake
99
141
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +206,20 @@ dependencies:
164
206
  - - "~>"
165
207
  - !ruby/object:Gem::Version
166
208
  version: 0.1.6
209
+ - !ruby/object:Gem::Dependency
210
+ name: pry-byebug
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
167
223
  description: A stats collection and distributed tracing framework
168
224
  email:
169
225
  - cncf-opentelemetry-contributors@lists.cncf.io
@@ -177,29 +233,21 @@ files:
177
233
  - README.md
178
234
  - lib/opentelemetry-sdk.rb
179
235
  - lib/opentelemetry/sdk.rb
180
- - lib/opentelemetry/sdk/baggage.rb
181
- - lib/opentelemetry/sdk/baggage/builder.rb
182
- - lib/opentelemetry/sdk/baggage/manager.rb
183
236
  - lib/opentelemetry/sdk/configurator.rb
237
+ - lib/opentelemetry/sdk/forwarding_logger.rb
184
238
  - lib/opentelemetry/sdk/instrumentation_library.rb
185
239
  - lib/opentelemetry/sdk/internal.rb
186
240
  - lib/opentelemetry/sdk/resources.rb
187
- - lib/opentelemetry/sdk/resources/constants.rb
188
241
  - lib/opentelemetry/sdk/resources/resource.rb
189
242
  - lib/opentelemetry/sdk/trace.rb
190
- - lib/opentelemetry/sdk/trace/config.rb
191
- - lib/opentelemetry/sdk/trace/config/trace_config.rb
192
243
  - lib/opentelemetry/sdk/trace/event.rb
193
244
  - lib/opentelemetry/sdk/trace/export.rb
194
245
  - lib/opentelemetry/sdk/trace/export/batch_span_processor.rb
195
246
  - lib/opentelemetry/sdk/trace/export/console_span_exporter.rb
196
247
  - lib/opentelemetry/sdk/trace/export/in_memory_span_exporter.rb
197
248
  - lib/opentelemetry/sdk/trace/export/metrics_reporter.rb
198
- - lib/opentelemetry/sdk/trace/export/multi_span_exporter.rb
199
- - lib/opentelemetry/sdk/trace/export/noop_span_exporter.rb
200
249
  - lib/opentelemetry/sdk/trace/export/simple_span_processor.rb
201
- - lib/opentelemetry/sdk/trace/multi_span_processor.rb
202
- - lib/opentelemetry/sdk/trace/noop_span_processor.rb
250
+ - lib/opentelemetry/sdk/trace/export/span_exporter.rb
203
251
  - lib/opentelemetry/sdk/trace/samplers.rb
204
252
  - lib/opentelemetry/sdk/trace/samplers/constant_sampler.rb
205
253
  - lib/opentelemetry/sdk/trace/samplers/decision.rb
@@ -208,6 +256,8 @@ files:
208
256
  - lib/opentelemetry/sdk/trace/samplers/trace_id_ratio_based.rb
209
257
  - lib/opentelemetry/sdk/trace/span.rb
210
258
  - lib/opentelemetry/sdk/trace/span_data.rb
259
+ - lib/opentelemetry/sdk/trace/span_limits.rb
260
+ - lib/opentelemetry/sdk/trace/span_processor.rb
211
261
  - lib/opentelemetry/sdk/trace/tracer.rb
212
262
  - lib/opentelemetry/sdk/trace/tracer_provider.rb
213
263
  - lib/opentelemetry/sdk/version.rb
@@ -215,10 +265,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
215
265
  licenses:
216
266
  - Apache-2.0
217
267
  metadata:
218
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v0.16.0/file.CHANGELOG.html
268
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0.0.rc3/file.CHANGELOG.html
219
269
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/sdk
220
270
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
221
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v0.16.0
271
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0.0.rc3
222
272
  post_install_message:
223
273
  rdoc_options: []
224
274
  require_paths:
@@ -230,11 +280,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
230
280
  version: 2.5.0
231
281
  required_rubygems_version: !ruby/object:Gem::Requirement
232
282
  requirements:
233
- - - ">="
283
+ - - ">"
234
284
  - !ruby/object:Gem::Version
235
- version: '0'
285
+ version: 1.3.1
236
286
  requirements: []
237
- rubygems_version: 3.1.4
287
+ rubygems_version: 3.1.6
238
288
  signing_key:
239
289
  specification_version: 4
240
290
  summary: A stats collection and distributed tracing framework