opentelemetry-sdk 1.3.0 → 1.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cb2a536d6bf68847feac7a09754a427cf7b17ef3e84bbffa46048f90cd6577e
4
- data.tar.gz: 7b48fd5ecadc6f229b0a32672b280ed6ea924a5e3bf0cd20631694c0bf8ebef0
3
+ metadata.gz: 2a170a385c24de9a417323b40bee2d07f8040bdf2535e08ee4f5cf3ac5ce440c
4
+ data.tar.gz: 8f2bf92d634725f8863e551522dc06e0ccb562e08b1741529cb1f3633cfd344b
5
5
  SHA512:
6
- metadata.gz: 7fe7fe35fbe00ea7e0370b2b9684800eeae0d13d71c10a28040b3a10f82c63422b4986dbf33164e83b97ed90723cf9d8eff1c75b693c854fab3a9a1f05f59846
7
- data.tar.gz: 68795672a61c8a9118507ad0a6cd9b5fa52be71eb06021e2f53e9fc3a490330e1a8c844fd51868b5e413db356f668a8cb32e9a311f36fd51b0e3cb6211111a83
6
+ metadata.gz: 652201b97d3ff1f384a0f101f882d7dbf1cbc8ab6e402a75d3a029784cef5e655cda907df6066d69e2af511933a59323f430ede8903c442d2f267f7cd9c52ac8
7
+ data.tar.gz: 91321cf005b589ffc0e2715d63ea03fad1369e8b3288a9f1493c3847e4f32077167d3cee31fc61fba35c6f8718bd5ac999e2ede13a521a8f6991eca6e7e393d9
data/CHANGELOG.md CHANGED
@@ -1,41 +1,46 @@
1
1
  # Release History: opentelemetry-sdk
2
2
 
3
+ ### v1.3.1 / 2023-11-02
4
+
5
+ * FIXED: Spec compliance for span attribute limit
6
+ * FIXED: BatchSpanProcessor#force_flush: purge inherited spans even on shutdown
7
+
3
8
  ### v1.3.0 / 2023-06-08
4
9
 
5
- * BREAKING CHANGE: Remove support for EoL Ruby 2.7
10
+ * BREAKING CHANGE: Remove support for EoL Ruby 2.7
6
11
 
7
- * ADDED: Remove support for EoL Ruby 2.7
8
- * FIXED: SDK requires opentelemetry-common 0.19.7
12
+ * ADDED: Remove support for EoL Ruby 2.7
13
+ * FIXED: SDK requires opentelemetry-common 0.19.7
9
14
 
10
15
  ### v1.2.1 / 2023-05-30
11
16
 
12
- * FIXED: Untraced only works with parent-based sampler
13
- * DOCS: Improve formatting of usage examples in OpenTelemetry SDK rubydocs
17
+ * FIXED: Untraced only works with parent-based sampler
18
+ * DOCS: Improve formatting of usage examples in OpenTelemetry SDK rubydocs
14
19
 
15
20
  ### v1.2.0 / 2022-09-14
16
21
 
17
- * ADDED: Support OTEL_PROPAGATORS=none
18
- * ADDED: Support OTEL_ATTRIBUTE_{COUNT,VALUE_LENGTH}_LIMIT env vars
19
- * ADDED: Support InstrumentationScope, and update OTLP proto to 0.18.0
20
- * FIXED: SpanLimits setting event attributes length limit
22
+ * ADDED: Support OTEL_PROPAGATORS=none
23
+ * ADDED: Support OTEL_ATTRIBUTE_{COUNT,VALUE_LENGTH}_LIMIT env vars
24
+ * ADDED: Support InstrumentationScope, and update OTLP proto to 0.18.0
25
+ * FIXED: SpanLimits setting event attributes length limit
21
26
 
22
27
  ### v1.1.0 / 2022-05-26
23
28
 
24
- * BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
29
+ * BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
25
30
 
26
31
 
27
32
  ### v1.0.3 / 2022-05-02
28
33
 
29
34
  * ADDED: Truncate the strings in an array attribute value if length_limit is configured
30
- * FIXED: Update attribute length limit env var name to match spec
31
- * FIXED: Warning about Struct initialization in Ruby 3.2+
32
- * FIXED: Warn on unsupported otlp transport protocols
33
- * FIXED: Only allow certain types of Numeric values as attribute values.
35
+ * FIXED: Update attribute length limit env var name to match spec
36
+ * FIXED: Warning about Struct initialization in Ruby 3.2+
37
+ * FIXED: Warn on unsupported otlp transport protocols
38
+ * FIXED: Only allow certain types of Numeric values as attribute values.
34
39
 
35
40
  ### v1.0.2 / 2021-12-01
36
41
 
37
- * FIXED: Default span kind
38
- * FIXED: Use monotonic clock where possible
42
+ * FIXED: Default span kind
43
+ * FIXED: Use monotonic clock where possible
39
44
 
40
45
  ### v1.0.1 / 2021-10-29
41
46
 
@@ -100,10 +100,10 @@ module OpenTelemetry
100
100
  # @param [optional Numeric] timeout An optional timeout in seconds.
101
101
  # @return [Integer] SUCCESS if no error occurred, FAILURE if a
102
102
  # non-specific failure occurred, TIMEOUT if a timeout occurred.
103
- def force_flush(timeout: nil) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
103
+ def force_flush(timeout: nil) # rubocop:disable Metrics/MethodLength
104
104
  start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
105
105
  snapshot = lock do
106
- reset_on_fork if @keep_running
106
+ reset_on_fork(restart_thread: @keep_running)
107
107
  spans.shift(spans.size)
108
108
  end
109
109
  until snapshot.empty?
@@ -347,8 +347,14 @@ module OpenTelemetry
347
347
  def trim_span_attributes(attrs)
348
348
  return if attrs.nil?
349
349
 
350
- excess = attrs.size - @span_limits.attribute_count_limit
351
- excess.times { attrs.shift } if excess.positive?
350
+ if attrs.size > @span_limits.attribute_count_limit
351
+ n = @span_limits.attribute_count_limit
352
+ attrs.delete_if do |_key, _value|
353
+ n -= 1
354
+ n.negative?
355
+ end
356
+ end
357
+
352
358
  truncate_attribute_values(attrs, @span_limits.attribute_length_limit)
353
359
  nil
354
360
  end
@@ -7,6 +7,6 @@
7
7
  module OpenTelemetry
8
8
  module SDK
9
9
  ## Current OpenTelemetry version
10
- VERSION = '1.3.0'
10
+ VERSION = '1.3.1'
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: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-13 00:00:00.000000000 Z
11
+ date: 2023-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -294,10 +294,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
294
294
  licenses:
295
295
  - Apache-2.0
296
296
  metadata:
297
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.3.0/file.CHANGELOG.html
297
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.3.1/file.CHANGELOG.html
298
298
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/sdk
299
299
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
300
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.3.0
300
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-sdk/v1.3.1
301
301
  post_install_message:
302
302
  rdoc_options: []
303
303
  require_paths: