opentelemetry-sdk 1.0.2 → 1.1.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/lib/opentelemetry/sdk/configurator.rb +10 -2
- data/lib/opentelemetry/sdk/internal.rb +7 -3
- data/lib/opentelemetry/sdk/trace/span.rb +3 -1
- data/lib/opentelemetry/sdk/trace/span_limits.rb +2 -1
- data/lib/opentelemetry/sdk/version.rb +1 -1
- data/lib/opentelemetry/sdk.rb +1 -1
- metadata +36 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d222b778e1876c24a4bf0f71f30ec32ff23b75b28eaf6d436d2341123a044f31
|
|
4
|
+
data.tar.gz: 8d2eb94080371ad6bdcef6c14dbe0dd8cbc9355c1d395b7fe675cd64ed02f667
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1f03bfb89f173d1c9a88f9027ca0c2bf29353330bf640ba3aeba8b68167e8c0d9a5d4d1aa6b50dfa728e5e3a90a64e25c5597e72e628bc918726f7dafbc15bea
|
|
7
|
+
data.tar.gz: 784998cd384e404a2b3f312fc5560482cfc2ddd942ea2e57216320898b33399f9e554f16de50af5987a60a9c3ddbd4b9847259ab42abfe76d8e4a50cf07c6367
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Release History: opentelemetry-sdk
|
|
2
2
|
|
|
3
|
+
### v1.1.0 / 2022-05-26
|
|
4
|
+
|
|
5
|
+
* BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### v1.0.3 / 2022-05-02
|
|
9
|
+
|
|
10
|
+
* ADDED: Truncate the strings in an array attribute value if length_limit is configured
|
|
11
|
+
* FIXED: Update attribute length limit env var name to match spec
|
|
12
|
+
* FIXED: Warning about Struct initialization in Ruby 3.2+
|
|
13
|
+
* FIXED: Warn on unsupported otlp transport protocols
|
|
14
|
+
* FIXED: Only allow certain types of Numeric values as attribute values.
|
|
15
|
+
|
|
3
16
|
### v1.0.2 / 2021-12-01
|
|
4
17
|
|
|
5
18
|
* FIXED: Default span kind
|
|
@@ -169,12 +169,20 @@ module OpenTelemetry
|
|
|
169
169
|
processors.each { |p| tracer_provider.add_span_processor(p) }
|
|
170
170
|
end
|
|
171
171
|
|
|
172
|
-
def wrapped_exporters_from_env
|
|
172
|
+
def wrapped_exporters_from_env # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize
|
|
173
173
|
exporters = ENV.fetch('OTEL_TRACES_EXPORTER', 'otlp')
|
|
174
174
|
exporters.split(',').map do |exporter|
|
|
175
175
|
case exporter.strip
|
|
176
176
|
when 'none' then nil
|
|
177
|
-
when 'otlp'
|
|
177
|
+
when 'otlp'
|
|
178
|
+
otlp_protocol = ENV['OTEL_EXPORTER_OTLP_TRACES_PROTOCOL'] || ENV['OTEL_EXPORTER_OTLP_PROTOCOL'] || 'http/protobuf'
|
|
179
|
+
|
|
180
|
+
if otlp_protocol != 'http/protobuf'
|
|
181
|
+
OpenTelemetry.logger.warn "The #{otlp_protocol} transport protocol is not supported by the OTLP exporter, spans will not be exported."
|
|
182
|
+
nil
|
|
183
|
+
else
|
|
184
|
+
fetch_exporter(exporter, 'OpenTelemetry::Exporter::OTLP::Exporter')
|
|
185
|
+
end
|
|
178
186
|
when 'jaeger' then fetch_exporter(exporter, 'OpenTelemetry::Exporter::Jaeger::CollectorExporter')
|
|
179
187
|
when 'zipkin' then fetch_exporter(exporter, 'OpenTelemetry::Exporter::Zipkin::Exporter')
|
|
180
188
|
when 'console' then Trace::Export::SimpleSpanProcessor.new(Trace::Export::ConsoleSpanExporter.new)
|
|
@@ -13,15 +13,19 @@ module OpenTelemetry
|
|
|
13
13
|
extend self
|
|
14
14
|
|
|
15
15
|
def boolean?(value)
|
|
16
|
-
value.
|
|
16
|
+
value.instance_of?(TrueClass) || value.instance_of?(FalseClass)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def valid_key?(key)
|
|
20
20
|
key.instance_of?(String)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
+
def numeric?(value)
|
|
24
|
+
value.instance_of?(Integer) || value.instance_of?(Float)
|
|
25
|
+
end
|
|
26
|
+
|
|
23
27
|
def valid_simple_value?(value)
|
|
24
|
-
value.instance_of?(String) || value
|
|
28
|
+
value.instance_of?(String) || boolean?(value) || numeric?(value)
|
|
25
29
|
end
|
|
26
30
|
|
|
27
31
|
def valid_array_value?(value)
|
|
@@ -34,7 +38,7 @@ module OpenTelemetry
|
|
|
34
38
|
when TrueClass, FalseClass
|
|
35
39
|
value.all? { |v| boolean?(v) }
|
|
36
40
|
when Numeric
|
|
37
|
-
value.all? { |v|
|
|
41
|
+
value.all? { |v| numeric?(v) }
|
|
38
42
|
else
|
|
39
43
|
false
|
|
40
44
|
end
|
|
@@ -351,7 +351,9 @@ module OpenTelemetry
|
|
|
351
351
|
return EMPTY_ATTRIBUTES if attrs.nil?
|
|
352
352
|
|
|
353
353
|
attribute_length_limit = @span_limits.attribute_length_limit
|
|
354
|
-
|
|
354
|
+
return attrs if attribute_length_limit.nil?
|
|
355
|
+
|
|
356
|
+
attrs.transform_values! { |value| OpenTelemetry::Common::Utilities.truncate_attribute_value(value, attribute_length_limit) }
|
|
355
357
|
attrs
|
|
356
358
|
end
|
|
357
359
|
|
|
@@ -32,7 +32,8 @@ module OpenTelemetry
|
|
|
32
32
|
# @return [SpanLimits] with the desired values.
|
|
33
33
|
# @raise [ArgumentError] if any of the max numbers are not positive.
|
|
34
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
|
|
35
|
+
attribute_length_limit: ENV.fetch('OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT',
|
|
36
|
+
ENV['OTEL_RUBY_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT']),
|
|
36
37
|
event_count_limit: Integer(ENV.fetch('OTEL_SPAN_EVENT_COUNT_LIMIT', 128)),
|
|
37
38
|
link_count_limit: Integer(ENV.fetch('OTEL_SPAN_LINK_COUNT_LIMIT', 128)),
|
|
38
39
|
event_attribute_count_limit: Integer(ENV.fetch('OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT', 128)),
|
data/lib/opentelemetry/sdk.rb
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
require 'opentelemetry'
|
|
8
8
|
require 'opentelemetry/common'
|
|
9
|
-
require 'opentelemetry-
|
|
9
|
+
require 'opentelemetry-registry'
|
|
10
10
|
require 'opentelemetry-semantic_conventions'
|
|
11
11
|
|
|
12
12
|
# OpenTelemetry is an open source observability framework, providing a
|
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: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenTelemetry Authors
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-05-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: opentelemetry-api
|
|
@@ -39,19 +39,19 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 0.19.3
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: opentelemetry-
|
|
42
|
+
name: opentelemetry-registry
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: '0.1'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.
|
|
54
|
+
version: '0.1'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: opentelemetry-semantic_conventions
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,6 +122,34 @@ dependencies:
|
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: 0.19.0
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: opentelemetry-instrumentation-base
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0.20'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0.20'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: opentelemetry-test-helpers
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - ">="
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '0'
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - ">="
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '0'
|
|
125
153
|
- !ruby/object:Gem::Dependency
|
|
126
154
|
name: pry
|
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -265,10 +293,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
|
265
293
|
licenses:
|
|
266
294
|
- Apache-2.0
|
|
267
295
|
metadata:
|
|
268
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0
|
|
296
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.1.0/file.CHANGELOG.html
|
|
269
297
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/sdk
|
|
270
298
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
|
271
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.0
|
|
299
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.1.0
|
|
272
300
|
post_install_message:
|
|
273
301
|
rdoc_options: []
|
|
274
302
|
require_paths:
|
|
@@ -277,7 +305,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
277
305
|
requirements:
|
|
278
306
|
- - ">="
|
|
279
307
|
- !ruby/object:Gem::Version
|
|
280
|
-
version: 2.
|
|
308
|
+
version: 2.6.0
|
|
281
309
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
310
|
requirements:
|
|
283
311
|
- - ">="
|