opentelemetry-api 1.3.0 → 1.5.0

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: '0509aaf67f72cd7d6ba7159a652d49a8d2a7148826d4002f4e72f3885b55cd10'
4
- data.tar.gz: 90384fdee2ac1da4f82bb599cff64dc02ed717164fdb07d5414868119eea1a99
3
+ metadata.gz: c8e28fbff05b0990f518c27eddbadcbe497f98b4480182b328a6661994536f00
4
+ data.tar.gz: 8cbd61f00056f786f58e724eb9c621b7c3b537cd0eb9b86b6059986501b38261
5
5
  SHA512:
6
- metadata.gz: 825b4dcc60ecf0d8fdcdb045cd61097e8bb8a13932ffa98396ab3437c54b34c418520e848ed1cc9a51cffe6e96bb3b9833bb3f5d99005c2fb8a9c465fe2fb6c2
7
- data.tar.gz: a0877a33a52bda470349e4469d83193876a6c9f77104e5ad176cba517927a1c395e092c727fa06fb8667a48c75b912f0e3024bf3469d3e762a403c903f78a363
6
+ metadata.gz: 0bb2f4e8c9713f7d26c03023a204d247d25ff5eb16658543f240d76175146b652229fa0d98e419be574d656c5d359001f505dec51e7085a0296cd41aedb23fd0
7
+ data.tar.gz: 427cb2d644361b7163d401ee37c071dc6cbc8b8b0add760b8bfbad4dc1e33de6ac03b210a6d00ef225fc8ff265d6a6340ba7b70ecdc22699d9e60566b72c5ea0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Release History: opentelemetry-api
2
2
 
3
+ ### v1.5.0 / 2025-02-20
4
+
5
+ * ADDED: Suppport 3.1 Min Version
6
+ * FIXED: Use a Fiber attribute for Context
7
+
8
+ ### v1.4.0 / 2024-08-27
9
+
10
+ * ADDED: Include backtrace first line for better debug info
11
+
3
12
  ### v1.3.0 / 2024-07-24
4
13
 
5
14
  * ADDED: Add add_link to span api/sdk
@@ -71,7 +80,7 @@
71
80
 
72
81
  * BREAKING CHANGE: Remove optional parent_context from in_span [729](https://github.com/open-telemetry/opentelemetry-ruby/pull/729)
73
82
  * BREAKING CHANGE: Refactor Baggage to remove Noop* [800](https://github.com/open-telemetry/opentelemetry-ruby/pull/800)
74
- - The noop baggage manger has been removed.
83
+ - The noop baggage manager has been removed.
75
84
  - The baggage management methods are now available through OpenTelemetry::Baggage#method, previously OpenTelemetry.baggage#method
76
85
  * BREAKING CHANGE: Total order constraint on span.status= [805](https://github.com/open-telemetry/opentelemetry-ruby/pull/805)
77
86
  - The OpenTelemetry::Trace::Util::HttpToStatus module has been removed as it was incorrectly setting the span status to OK for codes codes in the range 100..399
data/README.md CHANGED
@@ -12,13 +12,16 @@ OpenTelemetry provides a single set of APIs, libraries, agents, and collector se
12
12
 
13
13
  The `opentelemetry-api` gem defines the core OpenTelemetry interfaces in the form of abstract classes and no-op implementations. That is, it defines interfaces and data types sufficient for a library or application to code against to produce telemetry data, but does not actually collect, analyze, or export the data.
14
14
 
15
- To collect and analyze telemetry data, *applications* should also install a concrete implementation of the API, such as the `opentelemetry-sdk` gem. However, *libraries* that produce telemetry data should depend only on `opentelemetry-api`, deferring the choise of concrete implementation to the application developer.
15
+ To collect and analyze telemetry data, *applications* should also
16
+ install a concrete implementation of the API, such as the
17
+ `opentelemetry-sdk` gem. However, *libraries* that produce telemetry
18
+ data should depend only on `opentelemetry-api`, deferring the choice of concrete implementation to the application developer.
16
19
 
17
20
  ## How do I get started?
18
21
 
19
22
  Install the gem using:
20
23
 
21
- ```
24
+ ```sh
22
25
  gem install opentelemetry-api
23
26
  ```
24
27
 
@@ -55,7 +58,6 @@ The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special int
55
58
 
56
59
  The `opentelemetry-api` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information.
57
60
 
58
-
59
61
  [opentelemetry-home]: https://opentelemetry.io
60
62
  [bundler-home]: https://bundler.io
61
63
  [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby
@@ -21,7 +21,7 @@ module OpenTelemetry
21
21
  # @param [String] key The key to store this value under
22
22
  # @param [String] value String value to be stored under key
23
23
  # @param [optional String] metadata This is here to store properties
24
- # received from other W3C Baggage impelmentations but is not exposed in
24
+ # received from other W3C Baggage implementations but is not exposed in
25
25
  # OpenTelemetry. This is condsidered private API and not for use by
26
26
  # end-users.
27
27
  def set_value(key, value, metadata: nil)
@@ -100,7 +100,7 @@ module OpenTelemetry
100
100
 
101
101
  def encode_value(key, entry)
102
102
  result = +"#{CGI.escape(key.to_s)}=#{CGI.escape(entry.value.to_s)}"
103
- # We preserve metadata recieved on extract and assume it's already formatted
103
+ # We preserve metadata received on extract and assume it's already formatted
104
104
  # for transport. It's sent as-is without further processing.
105
105
  result << ";#{entry.metadata}" if entry.metadata
106
106
  result
@@ -73,7 +73,7 @@ module OpenTelemetry
73
73
  # @param [String] key The key to store this value under
74
74
  # @param [String] value String value to be stored under key
75
75
  # @param [optional String] metadata This is here to store properties
76
- # received from other W3C Baggage impelmentations but is not exposed in
76
+ # received from other W3C Baggage implementations but is not exposed in
77
77
  # OpenTelemetry. This is condsidered private API and not for use by
78
78
  # end-users.
79
79
  # @param [optional Context] context The context to update with new
@@ -7,12 +7,13 @@
7
7
  require 'opentelemetry/context/key'
8
8
  require 'opentelemetry/context/propagation'
9
9
 
10
- module OpenTelemetry
10
+ module OpenTelemetry # rubocop:disable Style/Documentation
11
+ Fiber.attr_accessor :opentelemetry_context
12
+
11
13
  # Manages context on a per-fiber basis
12
14
  class Context
13
15
  EMPTY_ENTRIES = {}.freeze
14
- STACK_KEY = :__opentelemetry_context_storage__
15
- private_constant :EMPTY_ENTRIES, :STACK_KEY
16
+ private_constant :EMPTY_ENTRIES
16
17
 
17
18
  DetachError = Class.new(OpenTelemetry::Error)
18
19
 
@@ -113,11 +114,9 @@ module OpenTelemetry
113
114
  current.value(key)
114
115
  end
115
116
 
116
- # Clears the fiber-local Context stack. This allocates a new array for the
117
- # stack, which is important in some use-cases to avoid sharing the backing
118
- # array between fibers.
117
+ # Clears the fiber-local Context stack.
119
118
  def clear
120
- Thread.current[STACK_KEY] = []
119
+ Fiber.current.opentelemetry_context = []
121
120
  end
122
121
 
123
122
  def empty
@@ -127,7 +126,7 @@ module OpenTelemetry
127
126
  private
128
127
 
129
128
  def stack
130
- Thread.current[STACK_KEY] ||= []
129
+ Fiber.current.opentelemetry_context ||= []
131
130
  end
132
131
  end
133
132
 
@@ -10,7 +10,7 @@ require 'opentelemetry/trace/propagation/trace_context/text_map_propagator'
10
10
  module OpenTelemetry
11
11
  module Trace
12
12
  module Propagation
13
- # The TraceContext module contains injectors, extractors, and utilties
13
+ # The TraceContext module contains injectors, extractors, and utilities
14
14
  # for context propagation in the W3C Trace Context format.
15
15
  module TraceContext
16
16
  extend self
@@ -26,7 +26,7 @@ module OpenTelemetry
26
26
  # spans.
27
27
  PRODUCER = :producer
28
28
 
29
- # Indicates that the span describes consumer recieving a message from a broker. Unlike client
29
+ # Indicates that the span describes consumer receiving a message from a broker. Unlike client
30
30
  # and server, there is no direct critical path latency relationship between producer and
31
31
  # consumer spans.
32
32
  CONSUMER = :consumer
@@ -6,5 +6,5 @@
6
6
 
7
7
  module OpenTelemetry
8
8
  ## Current OpenTelemetry version
9
- VERSION = '1.3.0'
9
+ VERSION = '1.5.0'
10
10
  end
data/lib/opentelemetry.rb CHANGED
@@ -34,7 +34,7 @@ module OpenTelemetry
34
34
  # @return [Callable] configured error handler or a default that logs the
35
35
  # exception and message at ERROR level.
36
36
  def error_handler
37
- @error_handler ||= ->(exception: nil, message: nil) { logger.error("OpenTelemetry error: #{[message, exception&.message].compact.join(' - ')}") }
37
+ @error_handler ||= ->(exception: nil, message: nil) { logger.error("OpenTelemetry error: #{[message, exception&.message, exception&.backtrace&.first].compact.join(' - ')}") }
38
38
  end
39
39
 
40
40
  # Handles an error by calling the configured error_handler.
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.3.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-24 00:00:00.000000000 Z
11
+ date: 2025-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ipsa
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.17'
41
+ - !ruby/object:Gem::Dependency
42
+ name: concurrent-ruby
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: faraday
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +114,14 @@ dependencies:
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '1.30'
117
+ version: '1.65'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '1.30'
124
+ version: '1.65'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: simplecov
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -201,11 +215,11 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
201
215
  licenses:
202
216
  - Apache-2.0
203
217
  metadata:
204
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.3.0/file.CHANGELOG.html
218
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.5.0/file.CHANGELOG.html
205
219
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/api
206
220
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
207
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.3.0
208
- post_install_message:
221
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.5.0
222
+ post_install_message:
209
223
  rdoc_options: []
210
224
  require_paths:
211
225
  - lib
@@ -213,15 +227,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
227
  requirements:
214
228
  - - ">="
215
229
  - !ruby/object:Gem::Version
216
- version: '3.0'
230
+ version: '3.1'
217
231
  required_rubygems_version: !ruby/object:Gem::Requirement
218
232
  requirements:
219
233
  - - ">="
220
234
  - !ruby/object:Gem::Version
221
235
  version: '0'
222
236
  requirements: []
223
- rubygems_version: 3.2.33
224
- signing_key:
237
+ rubygems_version: 3.3.27
238
+ signing_key:
225
239
  specification_version: 4
226
240
  summary: A stats collection and distributed tracing framework
227
241
  test_files: []