opentelemetry-instrumentation-action_pack 0.12.3 → 0.14.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: 4262115e2b8bb06f5aa8dee186cc073fa3998796d2ee0a5107493c752d575eb9
4
- data.tar.gz: 40c809efb6f9a26ce5f2e5c35e9fbca63a0b8ab24ccb9b84217d138f46a42df7
3
+ metadata.gz: bb9ccd5700bd63b6b4c84045bea0d9b5b3962e2825526f806015e0df6b458464
4
+ data.tar.gz: 602a589752a92f8fcfababa09c74e4223361210e50bdda27c505be1a3c072598
5
5
  SHA512:
6
- metadata.gz: '019f275b7a386e8c963a74bba5a97f7eb3ef40fe59986a89c82d2b8564548f886a5cce2ddc9e92870e1081a8835c06a8bdcc1af2de6b0be917a31742e9333c72'
7
- data.tar.gz: 61cdabe47d151ae6ef41d64aa3cb34efd5d9ac8b93a8fa4aed59f41497ca94319f86ddd60a15e6d616476185d686f93da2ba1d181517992fec4f809ddb27c995
6
+ metadata.gz: 746a8af7d73e70c85629535f75d4dae5424d9653738b681122e9d1c995847f9090183e63f3bb5935fb296752aa89b0a9fec21636aa54c89ad7a4f90590273cc7
7
+ data.tar.gz: 1456254e3c69cd7d112ae0f2e999990f63d950a28ad91bb917334bc77c49f1488fe5a72e9b86de2fd22b244380a67d78ba05937fe5792480e308c4bb8a97f7c9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History: opentelemetry-instrumentation-action_pack
2
2
 
3
+ ### v0.14.0 / 2025-09-30
4
+
5
+ * ADDED: Bump minimum API Version to 1.7
6
+
7
+ ### v0.13.0 / 2025-08-19
8
+
9
+ * ADDED: Add `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable compatibility for Rack integration [#1594](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/1594)
10
+
3
11
  ### v0.12.3 / 2025-06-16
4
12
 
5
13
  * FIXED: Action_pack always assuming sdk spans
@@ -30,7 +38,7 @@
30
38
 
31
39
  ### v0.9.0 / 2024-01-09
32
40
 
33
- * BREAKING CHANGE: Use ActiveSupport instead of patches #703
41
+ * BREAKING CHANGE: Use ActiveSupport instead of patches #703
34
42
 
35
43
  ### v0.8.0 / 2023-11-22
36
44
 
@@ -45,32 +53,32 @@
45
53
  ### v0.7.0 / 2023-06-05
46
54
 
47
55
  * ADDED: Use Rack Middleware Helper
48
- * FIXED: Base config options
56
+ * FIXED: Base config options
49
57
 
50
58
  ### v0.6.0 / 2023-04-17
51
59
 
52
60
  * BREAKING CHANGE: Drop support for EoL Ruby 2.7
53
61
 
54
- * ADDED: Drop support for EoL Ruby 2.7
62
+ * ADDED: Drop support for EoL Ruby 2.7
55
63
 
56
64
  ### v0.5.0 / 2023-02-01
57
65
 
58
- * BREAKING CHANGE: Drop Rails 5 Support
66
+ * BREAKING CHANGE: Drop Rails 5 Support
59
67
 
60
- * ADDED: Drop Rails 5 Support
61
- * FIXED: Drop Rails dependency for ActiveSupport Instrumentation
68
+ * ADDED: Drop Rails 5 Support
69
+ * FIXED: Drop Rails dependency for ActiveSupport Instrumentation
62
70
 
63
71
  ### v0.4.1 / 2023-01-14
64
72
 
65
73
  * FIXED: String-ify code.function Span attribute
66
- * DOCS: Fix gem homepage
67
- * DOCS: More gem documentation fixes
74
+ * DOCS: Fix gem homepage
75
+ * DOCS: More gem documentation fixes
68
76
 
69
77
  ### v0.4.0 / 2022-12-06
70
78
 
71
- * BREAKING CHANGE: Remove enable_recognize_route and span_naming options
79
+ * BREAKING CHANGE: Remove enable_recognize_route and span_naming options
72
80
 
73
- * FIXED: Remove enable_recognize_route and span_naming options
81
+ * FIXED: Remove enable_recognize_route and span_naming options
74
82
 
75
83
  ### v0.3.2 / 2022-11-16
76
84
 
@@ -82,29 +90,29 @@
82
90
 
83
91
  ### v0.3.0 / 2022-10-14
84
92
 
85
- * ADDED: Name ActionPack spans with the HTTP method and route
93
+ * ADDED: Name ActionPack spans with the HTTP method and route
86
94
 
87
95
  ### v0.2.1 / 2022-10-04
88
96
 
89
- * FIXED: Ensures the correct route is add to http.route span attribute
97
+ * FIXED: Ensures the correct route is add to http.route span attribute
90
98
 
91
99
  ### v0.2.0 / 2022-06-09
92
100
 
93
101
  * Upgrading Base dependency version
94
- * FIXED: Broken test file requirements
102
+ * FIXED: Broken test file requirements
95
103
 
96
104
  ### v0.1.4 / 2022-05-02
97
105
 
98
- * FIXED: Use rails request's filtered path as http.target attribute
99
- * FIXED: RubyGems Fallback
106
+ * FIXED: Use rails request's filtered path as http.target attribute
107
+ * FIXED: RubyGems Fallback
100
108
 
101
109
  ### v0.1.3 / 2021-12-01
102
110
 
103
- * FIXED: Instrumentation of Rails 7
111
+ * FIXED: Instrumentation of Rails 7
104
112
 
105
113
  ### v0.1.2 / 2021-10-06
106
114
 
107
- * FIXED: Prevent high cardinality rack span name as a default
115
+ * FIXED: Prevent high cardinality rack span name as a default
108
116
 
109
117
  ### v0.1.1 / 2021-09-29
110
118
 
data/README.md CHANGED
@@ -89,3 +89,21 @@ The `opentelemetry-instrumentation-action_pack` gem is distributed under the Apa
89
89
  [slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY
90
90
  [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
91
91
  [rails-home]: https://rubyonrails.org/
92
+
93
+ ## HTTP semantic convention stability
94
+
95
+ In the OpenTelemetry ecosystem, HTTP semantic conventions have now reached a stable state. However, the initial Rack instrumentation, which Action Pack relies on, was introduced before this stability was achieved, which resulted in HTTP attributes being based on an older version of the semantic conventions.
96
+
97
+ 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.
98
+
99
+ Sinatra instrumentation installs Rack middleware, but the middleware version it installs depends on which `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable is set.
100
+
101
+ When setting the value for `OTEL_SEMCONV_STABILITY_OPT_IN`, you can specify which conventions you wish to adopt:
102
+
103
+ - `http` - Emits the stable HTTP and networking conventions and ceases emitting the old conventions previously emitted by the instrumentation.
104
+ - `http/dup` - Emits both the old and stable HTTP and networking conventions, enabling a phased rollout of the stable semantic conventions.
105
+ - Default behavior (in the absence of either value) is to continue emitting the old HTTP and networking conventions the instrumentation previously emitted.
106
+
107
+ 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.
108
+
109
+ For additional information on migration, please refer to our [documentation](https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/).
@@ -12,9 +12,20 @@ module OpenTelemetry
12
12
  config.before_initialize do |app|
13
13
  OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install({})
14
14
 
15
+ stability_opt_in = ENV.fetch('OTEL_SEMCONV_STABILITY_OPT_IN', '')
16
+ values = stability_opt_in.split(',').map(&:strip)
17
+
18
+ rack_middleware_args = if values.include?('http/dup')
19
+ OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args_dup
20
+ elsif values.include?('http')
21
+ OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args_stable
22
+ else
23
+ OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args
24
+ end
25
+
15
26
  app.middleware.insert_before(
16
27
  0,
17
- *OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args
28
+ *rack_middleware_args
18
29
  )
19
30
  end
20
31
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module ActionPack
10
- VERSION = '0.12.3'
10
+ VERSION = '0.14.0'
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-action_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.3
4
+ version: 0.14.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-06-16 00:00:00.000000000 Z
11
+ date: 2025-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: opentelemetry-api
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
- - !ruby/object:Gem::Dependency
28
- name: opentelemetry-instrumentation-base
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.23.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.23.0
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: opentelemetry-instrumentation-rack
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -75,10 +47,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
75
47
  licenses:
76
48
  - Apache-2.0
77
49
  metadata:
78
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_pack/0.12.3/file/CHANGELOG.md
50
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_pack/0.14.0/file/CHANGELOG.md
79
51
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/action_pack
80
52
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
81
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_pack/0.12.3
53
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_pack/0.14.0
82
54
  post_install_message:
83
55
  rdoc_options: []
84
56
  require_paths: