opentelemetry-api 1.5.0 → 1.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8e28fbff05b0990f518c27eddbadcbe497f98b4480182b328a6661994536f00
4
- data.tar.gz: 8cbd61f00056f786f58e724eb9c621b7c3b537cd0eb9b86b6059986501b38261
3
+ metadata.gz: 4d906385f921e5a001d2a55b62de37ecfc2ff0bb250ca5dae4e7a8b1d743059d
4
+ data.tar.gz: ac3aac34b4f235135611bd32915575e53d99fc10c16677b93032543390563af4
5
5
  SHA512:
6
- metadata.gz: 0bb2f4e8c9713f7d26c03023a204d247d25ff5eb16658543f240d76175146b652229fa0d98e419be574d656c5d359001f505dec51e7085a0296cd41aedb23fd0
7
- data.tar.gz: 427cb2d644361b7163d401ee37c071dc6cbc8b8b0add760b8bfbad4dc1e33de6ac03b210a6d00ef225fc8ff265d6a6340ba7b70ecdc22699d9e60566b72c5ea0
6
+ metadata.gz: '0308c3366ce2430ee93ae3a78dfa75b704c4ab5f043fc053071b81b181ed72ea89199bad78b44bdc12b7d260d57aeec2d0331e73fcc88da7b7f2b2f48e365de9'
7
+ data.tar.gz: 7a2d69028ea2e4d816947490d9053c7864608c8d5a55a616f8c0b2f2a79d7d50e9449d833e99ee94d24477c1a12de583a695c6c2731c0b17f9c87016e39e70d4
data/CHANGELOG.md CHANGED
@@ -1,193 +1,200 @@
1
1
  # Release History: opentelemetry-api
2
2
 
3
+ ### v1.6.0 / 2025-08-14
4
+
5
+ - ADDED: Add noop methods on Trace::Span for `attributes` and `events`
6
+
3
7
  ### v1.5.0 / 2025-02-20
4
8
 
5
- * ADDED: Suppport 3.1 Min Version
6
- * FIXED: Use a Fiber attribute for Context
9
+ - ADDED: Support 3.1 Min Version
10
+ - FIXED: Use a Fiber attribute for Context
7
11
 
8
12
  ### v1.4.0 / 2024-08-27
9
13
 
10
- * ADDED: Include backtrace first line for better debug info
14
+ - ADDED: Include backtrace first line for better debug info
11
15
 
12
16
  ### v1.3.0 / 2024-07-24
13
17
 
14
- * ADDED: Add add_link to span api/sdk
18
+ - ADDED: Add add_link to span api/sdk
15
19
 
16
20
  ### v1.2.5 / 2024-02-20
17
21
 
18
- * FIXED: Replace Context stack on clear
22
+ - FIXED: Replace Context stack on clear
19
23
 
20
24
  ### v1.2.4 / 2024-02-06
21
25
 
22
- * FIXED: SystemStackError in Composite Text Map Propagator (#1590)
26
+ - FIXED: SystemStackError in Composite Text Map Propagator (#1590)
23
27
 
24
28
  ### v1.2.3 / 2023-09-18
25
29
 
26
- * FIXED: Optimize span and trace ID generation
27
- * FIXED: Small perf improvement to generate_r
30
+ - FIXED: Optimize span and trace ID generation
31
+ - FIXED: Small perf improvement to generate_r
28
32
 
29
33
  ### v1.2.2 / 2023-08-15
30
34
 
31
- * FIXED: Patch the issue for frozen string on ruby < 3.0 with string interpolation
32
- * FIXED: Performance regression in_span
33
- * FIXED: In_span performance
35
+ - FIXED: Patch the issue for frozen string on ruby < 3.0 with string interpolation
36
+ - FIXED: Performance regression in_span
37
+ - FIXED: In_span performance
34
38
 
35
39
  ### v1.2.1 / 2023-07-29
36
40
 
37
- * DOCS: Describe Tracer#in_span arguments
41
+ - DOCS: Describe Tracer#in_span arguments
38
42
 
39
43
  ### v1.2.0 / 2023-06-08
40
44
 
41
- * BREAKING CHANGE: Remove support for EoL Ruby 2.7
45
+ - BREAKING CHANGE: Remove support for EoL Ruby 2.7
42
46
 
43
- * ADDED: Remove support for EoL Ruby 2.7
47
+ - ADDED: Remove support for EoL Ruby 2.7
44
48
 
45
49
  ### v1.1.0 / 2022-09-14
46
50
 
47
- * ADDED: Consistent probability sampler
48
- * FIXED: Get API onto rubocop 1.3
51
+ - ADDED: Consistent probability sampler
52
+ - FIXED: Get API onto rubocop 1.3
49
53
 
50
54
  ### v1.0.2 / 2022-05-02
51
55
 
52
- * FIXED: Text map propagator extraction should use argument context
56
+ - FIXED: Text map propagator extraction should use argument context
53
57
 
54
58
  ### v1.0.1 / 2021-12-01
55
59
 
56
- * FIXED: Deprecate api rack env getter
60
+ - FIXED: Deprecate api rack env getter
57
61
 
58
62
  ### v1.0.0 / 2021-09-29
59
63
 
60
- * (No significant changes)
64
+ - (No significant changes)
61
65
 
62
66
  ### v1.0.0.rc3 / 2021-08-12
63
67
 
64
- * BREAKING CHANGE: Remove optional parent_context from in_span
65
- * BREAKING CHANGE: Refactor Baggage to remove Noop*
66
- * BREAKING CHANGE: Total order constraint on span.status=
67
-
68
- * ADDED: Add Tracer.non_recording_span to API
69
- * ADDED: Make API's NoopTextMapPropagator private
70
- * FIXED: Remove optional parent_context from in_span
71
- * FIXED: Reduce span allocation in API
72
- * FIXED: Refactor Baggage to remove Noop*
73
- * FIXED: Total order constraint on span.status=
74
- * FIXED: Return early if carrier is nil
75
- * FIXED: Update context to match spec
76
- * FIXED: Return the original context if the baggage header value is empty
77
- * DOCS: Update docs to rely more on environment variable configuration
68
+ - BREAKING CHANGE: Remove optional parent_context from in_span
69
+ - BREAKING CHANGE: Refactor Baggage to remove Noop\*
70
+ - BREAKING CHANGE: Total order constraint on span.status=
71
+
72
+ - ADDED: Add Tracer.non_recording_span to API
73
+ - ADDED: Make API's NoopTextMapPropagator private
74
+ - FIXED: Remove optional parent_context from in_span
75
+ - FIXED: Reduce span allocation in API
76
+ - FIXED: Refactor Baggage to remove Noop\*
77
+ - FIXED: Total order constraint on span.status=
78
+ - FIXED: Return early if carrier is nil
79
+ - FIXED: Update context to match spec
80
+ - FIXED: Return the original context if the baggage header value is empty
81
+ - DOCS: Update docs to rely more on environment variable configuration
78
82
 
79
83
  ### v1.0.0.rc2 / 2021-06-23
80
84
 
81
- * BREAKING CHANGE: Remove optional parent_context from in_span [729](https://github.com/open-telemetry/opentelemetry-ruby/pull/729)
82
- * BREAKING CHANGE: Refactor Baggage to remove Noop* [800](https://github.com/open-telemetry/opentelemetry-ruby/pull/800)
85
+ - BREAKING CHANGE: Remove optional parent_context from in_span [729](https://github.com/open-telemetry/opentelemetry-ruby/pull/729)
86
+ - BREAKING CHANGE: Refactor Baggage to remove Noop\* [800](https://github.com/open-telemetry/opentelemetry-ruby/pull/800)
83
87
  - The noop baggage manager has been removed.
84
88
  - The baggage management methods are now available through OpenTelemetry::Baggage#method, previously OpenTelemetry.baggage#method
85
- * BREAKING CHANGE: Total order constraint on span.status= [805](https://github.com/open-telemetry/opentelemetry-ruby/pull/805)
89
+ - BREAKING CHANGE: Total order constraint on span.status= [805](https://github.com/open-telemetry/opentelemetry-ruby/pull/805)
90
+
86
91
  - 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
87
92
  - The HttpToStatus module can be replaced inline as follows `span.status = OpenTelemetry::Trace::Status.error unless (100..399).include?(response_code.to_i)`
88
93
  - The `Status.new(code, description:)` initializer has been hidden in favour of simpler constructors for each status code: `Status.ok`, `Status.error` and `Status.unset`. Each constructor takes an optional description.
89
94
 
90
- * ADDED: Add Tracer.non_recording_span to API [799](https://github.com/open-telemetry/opentelemetry-ruby/pull/799)
91
- * FIXED: Reduce span allocation in API [795](https://github.com/open-telemetry/opentelemetry-ruby/pull/795)
92
- * FIXED: Return early if carrier is nil [835](https://github.com/open-telemetry/opentelemetry-ruby/pull/835)
93
- * FIXED: Update context to match spec [807](https://github.com/open-telemetry/opentelemetry-ruby/pull/807)
95
+ - ADDED: Add Tracer.non_recording_span to API [799](https://github.com/open-telemetry/opentelemetry-ruby/pull/799)
96
+ - FIXED: Reduce span allocation in API [795](https://github.com/open-telemetry/opentelemetry-ruby/pull/795)
97
+ - FIXED: Return early if carrier is nil [835](https://github.com/open-telemetry/opentelemetry-ruby/pull/835)
98
+ - FIXED: Update context to match spec [807](https://github.com/open-telemetry/opentelemetry-ruby/pull/807)
94
99
  - The `Context.current` setter has been removed and the previously private attach/detach methods are now available as class methods on the context module.
95
100
 
96
101
  ### v1.0.0.rc1 / 2021-05-21
97
102
 
98
- * BREAKING CHANGE: Remove optional parent_context from in_span
103
+ - BREAKING CHANGE: Remove optional parent_context from in_span
99
104
 
100
- * FIXED: Remove optional parent_context from in_span
105
+ - FIXED: Remove optional parent_context from in_span
101
106
 
102
107
  ### v0.17.0 / 2021-04-22
103
108
 
104
- * BREAKING CHANGE: Replace TextMapInjector/TextMapExtractor pairs with a TextMapPropagator.
109
+ - BREAKING CHANGE: Replace TextMapInjector/TextMapExtractor pairs with a TextMapPropagator.
105
110
 
106
111
  [Check the propagator documentation](https://open-telemetry.github.io/opentelemetry-ruby/) for the new usage.
107
- * BREAKING CHANGE: Remove metrics API.
112
+
113
+ - BREAKING CHANGE: Remove metrics API.
108
114
 
109
115
  `OpenTelemetry::Metrics` and all of its behavior removed until spec stabilizes.
110
- * BREAKING CHANGE: Extract instrumentation base from api (#698).
116
+
117
+ - BREAKING CHANGE: Extract instrumentation base from api (#698).
111
118
 
112
119
  To take advantage of a base instrumentation class to create your own auto-instrumentation, require and use the `opentelemetry-instrumentation-base` gem.
113
120
 
114
- * ADDED: Default noop tracer for instrumentation
115
- * FIXED: Refactor propagators to add #fields
116
- * FIXED: Remove metrics API
117
- * FIXED: Dynamically upgrade global tracer provider
121
+ - ADDED: Default noop tracer for instrumentation
122
+ - FIXED: Refactor propagators to add #fields
123
+ - FIXED: Remove metrics API
124
+ - FIXED: Dynamically upgrade global tracer provider
118
125
 
119
126
  ### v0.16.0 / 2021-03-17
120
127
 
121
- * ADDED: Span#add_attributes
122
- * FIXED: Handle rack env getter edge cases
123
- * DOCS: Replace Gitter with GitHub Discussions
128
+ - ADDED: Span#add_attributes
129
+ - FIXED: Handle rack env getter edge cases
130
+ - DOCS: Replace Gitter with GitHub Discussions
124
131
 
125
132
  ### v0.15.0 / 2021-02-18
126
133
 
127
- * ADDED: Add instrumentation config validation
128
- * DOCS: Clarify nil attribute values not allowed
134
+ - ADDED: Add instrumentation config validation
135
+ - DOCS: Clarify nil attribute values not allowed
129
136
 
130
137
  ### v0.14.0 / 2021-02-03
131
138
 
132
- * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
139
+ - BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
133
140
 
134
- * ADDED: Replace getter and setter callables and remove rack specific propagators
141
+ - ADDED: Replace getter and setter callables and remove rack specific propagators
135
142
 
136
143
  ### v0.13.0 / 2021-01-29
137
144
 
138
- * ADDED: Add optional attributes to record_exception
139
- * FIXED: Small test fixes.
145
+ - ADDED: Add optional attributes to record_exception
146
+ - FIXED: Small test fixes.
140
147
 
141
148
  ### v0.12.1 / 2021-01-13
142
149
 
143
- * FIXED: Eliminate warning about Random::DEFAULT on Ruby 3.0
150
+ - FIXED: Eliminate warning about Random::DEFAULT on Ruby 3.0
144
151
 
145
152
  ### v0.12.0 / 2020-12-24
146
153
 
147
- * ADDED: Structured error handling
154
+ - ADDED: Structured error handling
148
155
 
149
156
  ### v0.11.0 / 2020-12-11
150
157
 
151
- * BREAKING CHANGE: Implement tracestate
158
+ - BREAKING CHANGE: Implement tracestate
152
159
 
153
- * ADDED: Implement tracestate
154
- * FIXED: Missing white space from install messages
155
- * FIXED: Copyright comments to not reference year
160
+ - ADDED: Implement tracestate
161
+ - FIXED: Missing white space from install messages
162
+ - FIXED: Copyright comments to not reference year
156
163
 
157
164
  ### v0.10.0 / 2020-12-03
158
165
 
159
- * (No significant changes)
166
+ - (No significant changes)
160
167
 
161
168
  ### v0.9.0 / 2020-11-27
162
169
 
163
- * (No significant changes)
170
+ - (No significant changes)
164
171
 
165
172
  ### v0.8.0 / 2020-10-27
166
173
 
167
- * BREAKING CHANGE: Move context/span methods to Trace module
168
- * BREAKING CHANGE: Remove 'canonical' from status codes
169
- * BREAKING CHANGE: Assorted SpanContext fixes
174
+ - BREAKING CHANGE: Move context/span methods to Trace module
175
+ - BREAKING CHANGE: Remove 'canonical' from status codes
176
+ - BREAKING CHANGE: Assorted SpanContext fixes
170
177
 
171
- * ADDED: B3 support
172
- * FIXED: Move context/span methods to Trace module
173
- * FIXED: Remove 'canonical' from status codes
174
- * FIXED: Assorted SpanContext fixes
178
+ - ADDED: B3 support
179
+ - FIXED: Move context/span methods to Trace module
180
+ - FIXED: Remove 'canonical' from status codes
181
+ - FIXED: Assorted SpanContext fixes
175
182
 
176
183
  ### v0.7.0 / 2020-10-07
177
184
 
178
- * FIXED: Safely navigate span variable during error cases
179
- * DOCS: Standardize toplevel docs structure and readme
180
- * DOCS: Fix param description in TextMapInjector for Baggage
185
+ - FIXED: Safely navigate span variable during error cases
186
+ - DOCS: Standardize toplevel docs structure and readme
187
+ - DOCS: Fix param description in TextMapInjector for Baggage
181
188
 
182
189
  ### v0.6.0 / 2020-09-10
183
190
 
184
- * ADDED: Add support for OTEL_LOG_LEVEL env var
185
- * Documented array valued attributes [#343](https://github.com/open-telemetry/opentelemetry-ruby/pull/343)
186
- * Renamed CorrelationContext to Baggage [#338](https://github.com/open-telemetry/opentelemetry-ruby/pull/338)
187
- * Renamed Text* to TextMap* (propagators) [#335](https://github.com/open-telemetry/opentelemetry-ruby/pull/335)
188
- * Fixed exception semantic conventions (`span.record_error` -> `span.record_exception`) [#333](https://github.com/open-telemetry/opentelemetry-ruby/pull/333)
189
- * Removed support for lazy event creation [#329](https://github.com/open-telemetry/opentelemetry-ruby/pull/329)
190
- * `name:` named parameter to `span.add_event` becomes first positional argument
191
- * `Event` class removed from API
192
- * Added `hex_trace_id` and `hex_span_id` helpers to `SpanContext` [#332](https://github.com/open-telemetry/opentelemetry-ruby/pull/332)
193
- * Added `CorrelationContext::Manager.values` method to return correlations as a `Hash` [#323](https://github.com/open-telemetry/opentelemetry-ruby/pull/323)
191
+ - ADDED: Add support for OTEL_LOG_LEVEL env var
192
+ - Documented array valued attributes [#343](https://github.com/open-telemetry/opentelemetry-ruby/pull/343)
193
+ - Renamed CorrelationContext to Baggage [#338](https://github.com/open-telemetry/opentelemetry-ruby/pull/338)
194
+ - Renamed Text* to TextMap* (propagators) [#335](https://github.com/open-telemetry/opentelemetry-ruby/pull/335)
195
+ - Fixed exception semantic conventions (`span.record_error` -> `span.record_exception`) [#333](https://github.com/open-telemetry/opentelemetry-ruby/pull/333)
196
+ - Removed support for lazy event creation [#329](https://github.com/open-telemetry/opentelemetry-ruby/pull/329)
197
+ - `name:` named parameter to `span.add_event` becomes first positional argument
198
+ - `Event` class removed from API
199
+ - Added `hex_trace_id` and `hex_span_id` helpers to `SpanContext` [#332](https://github.com/open-telemetry/opentelemetry-ruby/pull/332)
200
+ - Added `CorrelationContext::Manager.values` method to return correlations as a `Hash` [#323](https://github.com/open-telemetry/opentelemetry-ruby/pull/323)
@@ -78,6 +78,18 @@ module OpenTelemetry
78
78
  self
79
79
  end
80
80
 
81
+ # Retrieve attributes
82
+ #
83
+ # Note that the OpenTelemetry project
84
+ # {https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md
85
+ # documents} certain "standard attributes" that have prescribed semantic
86
+ # meanings.
87
+ #
88
+ # @return [hash] returns empty hash
89
+ def attributes
90
+ {}
91
+ end
92
+
81
93
  # Add a link to a {Span}.
82
94
  #
83
95
  # Adding links at span creation using the `links` option is preferred
@@ -123,6 +135,18 @@ module OpenTelemetry
123
135
  self
124
136
  end
125
137
 
138
+ # Retrieve events
139
+ #
140
+ # Note that the OpenTelemetry project
141
+ # {https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md
142
+ # documents} certain "standard event names and keys" which have
143
+ # prescribed semantic meanings.
144
+ #
145
+ # @return [array] returns empty array
146
+ def events
147
+ []
148
+ end
149
+
126
150
  # Record an exception during the execution of this span. Multiple exceptions
127
151
  # can be recorded on a span.
128
152
  #
@@ -26,7 +26,7 @@ module OpenTelemetry
26
26
  # @param attributes [optional Hash] attributes to attach to the span {String => String,
27
27
  # Numeric, Boolean, Array<String, Numeric, Boolean>}
28
28
  # @param links [optional Array] an array of OpenTelemetry::Trace::Link instances
29
- # @param start_timestamp [optional Integer] nanoseconds since Epoch
29
+ # @param start_timestamp [optional Time] timestamp to use as the start time of the span
30
30
  # @param kind [optional Symbol] One of :internal, :server, :client, :producer, :consumer
31
31
  #
32
32
  # @yield [span, context] yields the newly created span and a context containing the
@@ -6,5 +6,5 @@
6
6
 
7
7
  module OpenTelemetry
8
8
  ## Current OpenTelemetry version
9
- VERSION = '1.5.0'
9
+ VERSION = '1.6.0'
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.5.0
4
+ version: 1.6.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: 2025-02-20 00:00:00.000000000 Z
11
+ date: 2025-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ipsa
@@ -215,10 +215,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
215
215
  licenses:
216
216
  - Apache-2.0
217
217
  metadata:
218
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.5.0/file.CHANGELOG.html
218
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.6.0/file.CHANGELOG.html
219
219
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/api
220
220
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
221
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.5.0
221
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v1.6.0
222
222
  post_install_message:
223
223
  rdoc_options: []
224
224
  require_paths: