opentelemetry-api 1.2.1 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ea7fb5085d8220f4b01ebb65df32177ec8ce608f849db6fe2e5db6828bc5f02
4
- data.tar.gz: 574d5917f10f1d5c1252be784d9e1c53bd80948e8fc0db9916ed589573e12633
3
+ metadata.gz: d815d2f6c451dd7a9fdf8b8a52d787c1bc987a1b50410c9cd1b83f45ad5b0c81
4
+ data.tar.gz: b6f8f18ee2775139a7db71a579a25b70da4731db45da8d8ce85c344fd299b4f4
5
5
  SHA512:
6
- metadata.gz: 31e79256933559788d450620683945620126bea8e0035912550672b5134d0c688f15d4fe2b3c739c9b765b57e0f54d2d978c7543ad426646de456a3c235d58c4
7
- data.tar.gz: 937b56f92d4bd058b39309502636ceec389590f0592c317acad4f51ea45d99763427496e423d0e7a449af3c6e14e31616de1f91da54259665b0978a01da1e34b
6
+ metadata.gz: 45bb8a51d0c888adf710350cfa852876803759b852fb91b8842f972aa1608bd8ef89cd7433303418e9cf150ed8fbcf2a32722258a1e096537ec0263c43b53364
7
+ data.tar.gz: 51190de116416d20d4d3b333b4f0f819d865669ac5357c92c96c8e11e1397fb6feee3497f88d22e717cf74d50e5d8814bb42b5a8f7a01c353f0da5d31b146307
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release History: opentelemetry-api
2
2
 
3
+ ### v1.2.3 / 2023-09-18
4
+
5
+ * FIXED: Optimize span and trace ID generation
6
+ * FIXED: Small perf improvement to generate_r
7
+
8
+ ### v1.2.2 / 2023-08-15
9
+
10
+ * FIXED: Patch the issue for frozen string on ruby < 3.0 with string interpolation
11
+ * FIXED: Performance regression in_span
12
+ * FIXED: In_span performance
13
+
3
14
  ### v1.2.1 / 2023-07-29
4
15
 
5
16
  * DOCS: Describe Tracer#in_span arguments
@@ -32,7 +32,8 @@ module OpenTelemetry
32
32
  private
33
33
 
34
34
  def to_rack_key(key)
35
- ret = 'HTTP_' + key # rubocop:disable Style/StringConcatenation
35
+ # Use + for mutable string interpolation in pre-Ruby 3.0.
36
+ ret = +"HTTP_#{key}"
36
37
  ret.tr!('-', '_')
37
38
  ret.upcase!
38
39
  ret
@@ -31,10 +31,10 @@ module OpenTelemetry
31
31
  #
32
32
  # @yield [span, context] yields the newly created span and a context containing the
33
33
  # span to the block.
34
- def in_span(name, attributes: nil, links: nil, start_timestamp: nil, kind: nil, &block)
34
+ def in_span(name, attributes: nil, links: nil, start_timestamp: nil, kind: nil)
35
35
  span = nil
36
36
  span = start_span(name, attributes: attributes, links: links, start_timestamp: start_timestamp, kind: kind)
37
- Trace.with_span(span, &block)
37
+ Trace.with_span(span) { |s, c| yield s, c }
38
38
  rescue Exception => e # rubocop:disable Lint/RescueException
39
39
  span&.record_exception(e)
40
40
  span&.status = Status.error("Unhandled exception of type: #{e.class}")
@@ -26,10 +26,9 @@ module OpenTelemetry
26
26
  #
27
27
  # @return [String] a valid trace ID.
28
28
  def generate_trace_id
29
- loop do
30
- id = Random.bytes(16)
31
- return id unless id == INVALID_TRACE_ID
32
- end
29
+ id = Random.bytes(16)
30
+ id = Random.bytes(16) while id == INVALID_TRACE_ID
31
+ id
33
32
  end
34
33
 
35
34
  # Generates a valid span identifier, an 8-byte string with at least one
@@ -37,10 +36,9 @@ module OpenTelemetry
37
36
  #
38
37
  # @return [String] a valid span ID.
39
38
  def generate_span_id
40
- loop do
41
- id = Random.bytes(8)
42
- return id unless id == INVALID_SPAN_ID
43
- end
39
+ id = Random.bytes(8)
40
+ id = Random.bytes(8) while id == INVALID_SPAN_ID
41
+ id
44
42
  end
45
43
 
46
44
  # Returns the current span from the current or provided context
@@ -6,5 +6,5 @@
6
6
 
7
7
  module OpenTelemetry
8
8
  ## Current OpenTelemetry version
9
- VERSION = '1.2.1'
9
+ VERSION = '1.2.3'
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.3
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-08-01 00:00:00.000000000 Z
11
+ date: 2023-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ipsa
@@ -201,10 +201,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
201
201
  licenses:
202
202
  - Apache-2.0
203
203
  metadata:
204
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.2.1/file.CHANGELOG.html
204
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.2.3/file.CHANGELOG.html
205
205
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/api
206
206
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
207
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.2.1
207
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.2.3
208
208
  post_install_message:
209
209
  rdoc_options: []
210
210
  require_paths: