opentelemetry-api 1.3.0 → 1.5.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 +10 -1
- data/README.md +5 -3
- data/lib/opentelemetry/baggage/builder.rb +1 -1
- data/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +1 -1
- data/lib/opentelemetry/baggage.rb +1 -1
- data/lib/opentelemetry/context.rb +7 -8
- data/lib/opentelemetry/trace/propagation/trace_context.rb +1 -1
- data/lib/opentelemetry/trace/span_kind.rb +1 -1
- data/lib/opentelemetry/version.rb +1 -1
- data/lib/opentelemetry.rb +1 -1
- metadata +25 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c8e28fbff05b0990f518c27eddbadcbe497f98b4480182b328a6661994536f00
|
|
4
|
+
data.tar.gz: 8cbd61f00056f786f58e724eb9c621b7c3b537cd0eb9b86b6059986501b38261
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: []
|