opentelemetry-instrumentation-rack 0.29.0 → 0.30.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 +6 -10
- data/README.md +4 -8
- data/lib/opentelemetry/instrumentation/rack/instrumentation.rb +9 -3
- data/lib/opentelemetry/instrumentation/rack/middlewares/dup/event_handler.rb +1 -1
- data/lib/opentelemetry/instrumentation/rack/middlewares/old/event_handler.rb +1 -1
- data/lib/opentelemetry/instrumentation/rack/middlewares/stable/event_handler.rb +1 -1
- data/lib/opentelemetry/instrumentation/rack/version.rb +1 -1
- metadata +5 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3df8f873c474614c5e6b28b1543627ed7947af99f2b21bf51dd86d421527b988
|
|
4
|
+
data.tar.gz: e00eff8d8c73b6618982c629259f5ece9a7276b9b32cb7bf561923fed909c7f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 24c2633dd344072d689ee4ee9a91773d4c08ea98d73265628512497aa9cdcf1a1b6bf92731070ff156c376039a19f68101f632452d91787570d14cfea4249d5a
|
|
7
|
+
data.tar.gz: 63afe0d1f08412326d0fd8d1242013257ed7ef0c177e51bd9f96fc7886f3d65860b2cf466964ed8da456b8d56d280bfaf258757782e1a59257a39e661489b778
|
data/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# Release History: opentelemetry-instrumentation-rack
|
|
2
2
|
|
|
3
|
+
### v0.30.0 / 2026-03-17
|
|
4
|
+
|
|
5
|
+
* BREAKING CHANGE: Default to stable HTTP semantic conventions (#2051)
|
|
6
|
+
* ADDED: Default to stable HTTP semantic conventions (#2051)
|
|
7
|
+
|
|
3
8
|
### v0.29.0 / 2025-10-22
|
|
4
9
|
|
|
5
10
|
* BREAKING CHANGE: Min Ruby Version 3.2
|
|
6
|
-
|
|
7
11
|
* ADDED: Min Ruby Version 3.2
|
|
8
12
|
|
|
9
13
|
### v0.28.2 / 2025-10-07
|
|
@@ -29,7 +33,6 @@
|
|
|
29
33
|
### v0.26.0 / 2025-01-16
|
|
30
34
|
|
|
31
35
|
* BREAKING CHANGE: Set minimum supported version to Ruby 3.1
|
|
32
|
-
|
|
33
36
|
* ADDED: Set minimum supported version to Ruby 3.1
|
|
34
37
|
|
|
35
38
|
### v0.25.0 / 2024-10-23
|
|
@@ -63,7 +66,6 @@
|
|
|
63
66
|
### v0.24.0 / 2024-01-06
|
|
64
67
|
|
|
65
68
|
* BREAKING CHANGE: Use Rack Events By Default
|
|
66
|
-
|
|
67
69
|
* ADDED: Use Rack Events By Default
|
|
68
70
|
* FIXED: Backport Rack proxy event to middleware
|
|
69
71
|
|
|
@@ -91,7 +93,6 @@
|
|
|
91
93
|
|
|
92
94
|
* BREAKING CHANGE: Remove retain_middleware_names Rack Option
|
|
93
95
|
* BREAKING CHANGE: Drop support for EoL Ruby 2.7
|
|
94
|
-
|
|
95
96
|
* ADDED: Remove retain_middleware_names Rack Option
|
|
96
97
|
* ADDED: Drop support for EoL Ruby 2.7
|
|
97
98
|
* ADDED: Use Rack::Events for instrumentation
|
|
@@ -130,7 +131,7 @@
|
|
|
130
131
|
|
|
131
132
|
The default was to set the span name as the path of the request, we have
|
|
132
133
|
corrected this as it was not adhering to the spec requirement using low
|
|
133
|
-
cardinality span names. You can restore the previous
|
|
134
|
+
cardinality span names. You can restore the previous behavior of high
|
|
134
135
|
cardinality span names by passing in a url quantization function that
|
|
135
136
|
forwards the uri path. More details on this is available in the readme.
|
|
136
137
|
|
|
@@ -149,7 +150,6 @@ forwards the uri path. More details on this is available in the readme.
|
|
|
149
150
|
### v0.19.0 / 2021-06-23
|
|
150
151
|
|
|
151
152
|
* BREAKING CHANGE: Total order constraint on span.status=
|
|
152
|
-
|
|
153
153
|
* ADDED: Add Tracer.non_recording_span to API
|
|
154
154
|
* FIXED: Total order constraint on span.status=
|
|
155
155
|
|
|
@@ -165,7 +165,6 @@ forwards the uri path. More details on this is available in the readme.
|
|
|
165
165
|
### v0.16.0 / 2021-03-17
|
|
166
166
|
|
|
167
167
|
* BREAKING CHANGE: Pass env to url quantization rack config to allow more flexibility
|
|
168
|
-
|
|
169
168
|
* ADDED: Pass env to url quantization rack config to allow more flexibility
|
|
170
169
|
* ADDED: Add rack instrumentation config option to accept callable to filter requests to trace
|
|
171
170
|
* FIXED: Example scripts now reference local common lib
|
|
@@ -178,7 +177,6 @@ forwards the uri path. More details on this is available in the readme.
|
|
|
178
177
|
### v0.14.0 / 2021-02-03
|
|
179
178
|
|
|
180
179
|
* BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
|
|
181
|
-
|
|
182
180
|
* ADDED: Replace getter and setter callables and remove rack specific propagators
|
|
183
181
|
* ADDED: Add untraced endpoints config to rack middleware
|
|
184
182
|
|
|
@@ -205,7 +203,6 @@ forwards the uri path. More details on this is available in the readme.
|
|
|
205
203
|
### v0.9.0 / 2020-11-27
|
|
206
204
|
|
|
207
205
|
* BREAKING CHANGE: Add timeout for force_flush and shutdown
|
|
208
|
-
|
|
209
206
|
* ADDED: Instrument rails
|
|
210
207
|
* ADDED: Add timeout for force_flush and shutdown
|
|
211
208
|
|
|
@@ -213,7 +210,6 @@ forwards the uri path. More details on this is available in the readme.
|
|
|
213
210
|
|
|
214
211
|
* BREAKING CHANGE: Move context/span methods to Trace module
|
|
215
212
|
* BREAKING CHANGE: Remove 'canonical' from status codes
|
|
216
|
-
|
|
217
213
|
* FIXED: Move context/span methods to Trace module
|
|
218
214
|
* FIXED: Remove 'canonical' from status codes
|
|
219
215
|
|
data/README.md
CHANGED
|
@@ -104,16 +104,12 @@ The `opentelemetry-instrumentation-rack` gem is distributed under the Apache 2.0
|
|
|
104
104
|
|
|
105
105
|
## HTTP semantic convention stability
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
To facilitate the migration to stable semantic conventions, you can use the `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable. This variable allows you to opt-in to the new stable conventions, ensuring compatibility and future-proofing your instrumentation.
|
|
107
|
+
This instrumentation by default emits the stable HTTP semantic conventions. The `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable can be used to opt-in to the old or duplicate (both old and stable) semantic conventions.
|
|
110
108
|
|
|
111
109
|
When setting the value for `OTEL_SEMCONV_STABILITY_OPT_IN`, you can specify which conventions you wish to adopt:
|
|
112
110
|
|
|
113
|
-
- `http` - Emits the stable HTTP and networking conventions
|
|
114
|
-
- `http/dup` - Emits both the old and stable HTTP and networking conventions
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
During the transition from old to stable conventions, Rack instrumentation code comes in three patch versions: `dup`, `old`, and `stable`. These versions are identical except for the attributes they send. Any changes to Rack instrumentation should consider all three patches.
|
|
111
|
+
- `http` - Emits the stable HTTP and networking conventions.
|
|
112
|
+
- `http/dup` - **DEPRECATED: Will be removed on April 15, 2026.** Emits both the old and stable HTTP and networking conventions.
|
|
113
|
+
- `old` - **DEPRECATED: Will be removed on April 15, 2026.** Emits the old HTTP and networking conventions.
|
|
118
114
|
|
|
119
115
|
For additional information on migration, please refer to our [documentation](https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/).
|
|
@@ -76,14 +76,20 @@ module OpenTelemetry
|
|
|
76
76
|
values = stability_opt_in.split(',').map(&:strip)
|
|
77
77
|
|
|
78
78
|
if values.include?('http/dup')
|
|
79
|
+
emit_old_semconv_deprecation_warning('http/dup')
|
|
79
80
|
'dup'
|
|
80
|
-
elsif values.include?('
|
|
81
|
-
'
|
|
82
|
-
else
|
|
81
|
+
elsif values.include?('old')
|
|
82
|
+
emit_old_semconv_deprecation_warning('old')
|
|
83
83
|
'old'
|
|
84
|
+
else
|
|
85
|
+
'stable'
|
|
84
86
|
end
|
|
85
87
|
end
|
|
86
88
|
|
|
89
|
+
def emit_old_semconv_deprecation_warning(option)
|
|
90
|
+
OpenTelemetry.logger.warn("The `#{option}` option for OTEL_SEMCONV_STABILITY_OPT_IN is deprecated and will be removed on April 15, 2026. Please migrate to the stable HTTP semantic conventions.")
|
|
91
|
+
end
|
|
92
|
+
|
|
87
93
|
def require_dependencies_old
|
|
88
94
|
require_relative 'middlewares/old/event_handler' if defined?(::Rack::Events)
|
|
89
95
|
require_relative 'middlewares/old/tracer_middleware'
|
|
@@ -90,7 +90,7 @@ module OpenTelemetry
|
|
|
90
90
|
# @note does nothing if the span is a non-recording span
|
|
91
91
|
# @param [Rack::Request] The current HTTP request
|
|
92
92
|
# @param [Rack::Response] The current HTTP response
|
|
93
|
-
# @param [Exception] An
|
|
93
|
+
# @param [Exception] An unexpected error raised by the application
|
|
94
94
|
def on_error(request, _, error)
|
|
95
95
|
span = OpenTelemetry::Instrumentation::Rack.current_span
|
|
96
96
|
return unless span.recording?
|
|
@@ -90,7 +90,7 @@ module OpenTelemetry
|
|
|
90
90
|
# @note does nothing if the span is a non-recording span
|
|
91
91
|
# @param [Rack::Request] The current HTTP request
|
|
92
92
|
# @param [Rack::Response] The current HTTP response
|
|
93
|
-
# @param [Exception] An
|
|
93
|
+
# @param [Exception] An unexpected error raised by the application
|
|
94
94
|
def on_error(request, _, error)
|
|
95
95
|
span = OpenTelemetry::Instrumentation::Rack.current_span
|
|
96
96
|
return unless span.recording?
|
|
@@ -90,7 +90,7 @@ module OpenTelemetry
|
|
|
90
90
|
# @note does nothing if the span is a non-recording span
|
|
91
91
|
# @param [Rack::Request] The current HTTP request
|
|
92
92
|
# @param [Rack::Response] The current HTTP response
|
|
93
|
-
# @param [Exception] An
|
|
93
|
+
# @param [Exception] An unexpected error raised by the application
|
|
94
94
|
def on_error(request, _, error)
|
|
95
95
|
span = OpenTelemetry::Instrumentation::Rack.current_span
|
|
96
96
|
return unless span.recording?
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: opentelemetry-instrumentation-rack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.30.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenTelemetry Authors
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: opentelemetry-instrumentation-base
|
|
@@ -52,11 +51,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
|
|
|
52
51
|
licenses:
|
|
53
52
|
- Apache-2.0
|
|
54
53
|
metadata:
|
|
55
|
-
changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rack/0.
|
|
54
|
+
changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rack/0.30.0/file/CHANGELOG.md
|
|
56
55
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/rack
|
|
57
56
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
|
|
58
|
-
documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rack/0.
|
|
59
|
-
post_install_message:
|
|
57
|
+
documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rack/0.30.0
|
|
60
58
|
rdoc_options: []
|
|
61
59
|
require_paths:
|
|
62
60
|
- lib
|
|
@@ -71,8 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
71
69
|
- !ruby/object:Gem::Version
|
|
72
70
|
version: '0'
|
|
73
71
|
requirements: []
|
|
74
|
-
rubygems_version:
|
|
75
|
-
signing_key:
|
|
72
|
+
rubygems_version: 4.0.3
|
|
76
73
|
specification_version: 4
|
|
77
74
|
summary: Rack instrumentation for the OpenTelemetry framework
|
|
78
75
|
test_files: []
|