opentelemetry-instrumentation-action_view 0.7.2 → 0.8.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: c28d3572241854eb29990aa3dd9462faf0bf5d736d639399df7d80cc70e6cfdf
4
- data.tar.gz: b6853f4f4dad332b8a1173e82d0e7b3351b9ed4fde3d5f4eda1b1c1644da52bd
3
+ metadata.gz: 4d3aeb6c0f99654a367f37b01a05f7648cf20ef7cdd9f71b4e285767e991c9bc
4
+ data.tar.gz: 042d30047de7ae8d7cdf413611511dcbc1aa641e42787031a08d4f960f81f523
5
5
  SHA512:
6
- metadata.gz: 47c676cc5239ca45eeafd97d1b063620efb62e4230ed5e556798b53a29245cd567eefb5a730874af8caca5ecc289acb94e7c4e4fa62b4dcbb2621aae0ab56eb0
7
- data.tar.gz: ac9a11a474b52cd84835a3cc921166e2c92428a5b8cce0958362f49f1fb8c4ce16a5ffe02f0b992233b04db04d00e9efa24d2bcf21d71630da2586cdf1a5816d
6
+ metadata.gz: 156a893b085d431258c8c6905731955c69153968acded76b9ed513af5630abb5d95e0804f7fcf876219d9a663b807abf7a9d691ad91148fc6329b521e7ddb475
7
+ data.tar.gz: fcec2ec5c33491b610ff9dae18c707cdabb4bf7c111baea2cd5aa8d3a49f1622e548feba216a205b5c361985d8f7dbe16fd52b5806c1c0c6e25e7b3542b5e47a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History: opentelemetry-instrumentation-action_view
2
2
 
3
+ ### v0.8.0 / 2024-12-19
4
+
5
+ * ADDED: Upgrade ActiveSupport Instrumentation 0.7.0
6
+
7
+ ### v0.7.3 / 2024-08-23
8
+
9
+ * FIXED: ActionView Support Legacy Formats
10
+
3
11
  ### v0.7.2 / 2024-08-15
4
12
 
5
13
  * (No Significant Changes)
@@ -20,43 +28,43 @@
20
28
 
21
29
  ### v0.6.0 / 2023-06-05
22
30
 
23
- * ADDED: Render layout for action view
24
- * FIXED: Base config options
31
+ * ADDED: Render layout for action view
32
+ * FIXED: Base config options
25
33
 
26
34
  ### v0.5.0 / 2023-04-17
27
35
 
28
- * BREAKING CHANGE: Drop support for EoL Ruby 2.7
36
+ * BREAKING CHANGE: Drop support for EoL Ruby 2.7
29
37
 
30
- * ADDED: Drop support for EoL Ruby 2.7
38
+ * ADDED: Drop support for EoL Ruby 2.7
31
39
 
32
40
  ### v0.4.0 / 2023-02-01
33
41
 
34
- * BREAKING CHANGE: Drop Rails 5 Support
42
+ * BREAKING CHANGE: Drop Rails 5 Support
35
43
 
36
- * ADDED: Drop Rails 5 Support
44
+ * ADDED: Drop Rails 5 Support
37
45
 
38
46
  ### v0.3.1 / 2023-01-14
39
47
 
40
- * DOCS: Fix gem homepage
41
- * DOCS: More gem documentation fixes
48
+ * DOCS: Fix gem homepage
49
+ * DOCS: More gem documentation fixes
42
50
 
43
51
  ### v0.3.0 / 2022-06-09
44
52
 
45
53
  * Upgrading Base dependency version
46
- * FIXED: Broken test file requirements
54
+ * FIXED: Broken test file requirements
47
55
 
48
56
  ### v0.2.1 / 2022-05-02
49
57
 
50
- * FIXED: RubyGems Fallback
58
+ * FIXED: RubyGems Fallback
51
59
 
52
60
  ### v0.2.0 / 2021-12-01
53
61
 
54
- * ADDED: Move activesupport notification subscriber out of action_view gem
55
- * FIXED: Instrumentation of Rails 7
62
+ * ADDED: Move activesupport notification subscriber out of action_view gem
63
+ * FIXED: Instrumentation of Rails 7
56
64
 
57
65
  ### v0.1.3 / 2021-10-06
58
66
 
59
- * FIXED: Do not replace fanout
67
+ * FIXED: Do not replace fanout
60
68
 
61
69
  ### v0.1.2 / 2021-09-29
62
70
 
@@ -64,7 +72,7 @@
64
72
 
65
73
  ### v0.1.1 / 2021-09-09
66
74
 
67
- * FIXED: Keep Active Support subscriptions intact when patching
75
+ * FIXED: Keep Active Support subscriptions intact when patching
68
76
 
69
77
  ### v0.1.0 / 2021-08-12
70
78
 
@@ -7,7 +7,42 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module ActionView
10
- # The Instrumentation class contains logic to detect and install the ActionView instrumentation
10
+ # The {OpenTelemetry::Instrumentation::ActionView::Instrumentation} class contains logic to detect and install the ActionView instrumentation
11
+ #
12
+ # Installation and configuration of this instrumentation is done within the
13
+ # {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry/SDK#configure-instance_method OpenTelemetry::SDK#configure}
14
+ # block, calling {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use use()}
15
+ # or {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use_all use_all()}.
16
+ #
17
+ # ## Configuration keys and options
18
+ #
19
+ # ### `:disallowed_notification_payload_keys`
20
+ #
21
+ # Specifies an array of keys that should be excluded from the notification payload as span attributes.
22
+ #
23
+ # ### `:notification_payload_transform`
24
+ #
25
+ # - `proc` **default** `nil`
26
+ #
27
+ # Specifies custom proc used to extract span attributes form the notification payload.
28
+ # Use this to rename keys, extract nested values, or perform any other custom logic.
29
+ #
30
+ # ### `:legacy_span_names`
31
+ #
32
+ # - `boolean` **default** `false`
33
+ #
34
+ # Specifies whether spans names should use the legacy format where the subscription was reverse ordered and white space separated. (Ex. `action_view render_template`)
35
+ # If set to `true`, the span name will match the name of the notification itself. (Ex. `render_template.action_view`)
36
+ #
37
+ # @example An explicit default configuration
38
+ # OpenTelemetry::SDK.configure do |c|
39
+ # c.use_all({
40
+ # 'OpenTelemetry::Instrumentation::ActionView' => {
41
+ # disallowed_notification_payload_keys: [],
42
+ # legacy_span_names: true,
43
+ # },
44
+ # })
45
+ # end
11
46
  class Instrumentation < OpenTelemetry::Instrumentation::Base
12
47
  MINIMUM_VERSION = Gem::Version.new('6.1.0')
13
48
  install do |_config|
@@ -24,6 +59,7 @@ module OpenTelemetry
24
59
 
25
60
  option :disallowed_notification_payload_keys, default: [], validate: :array
26
61
  option :notification_payload_transform, default: nil, validate: :callable
62
+ option :legacy_span_names, default: false, validate: :boolean
27
63
 
28
64
  private
29
65
 
@@ -19,13 +19,16 @@ module OpenTelemetry
19
19
  config.after_initialize do
20
20
  ::OpenTelemetry::Instrumentation::ActiveSupport::Instrumentation.instance.install({})
21
21
 
22
+ instance = ::OpenTelemetry::Instrumentation::ActionView::Instrumentation.instance
23
+ span_name_formatter = instance.config[:legacy_span_names] ? ::OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER : nil
24
+
22
25
  SUBSCRIPTIONS.each do |subscription_name|
23
- config = ActionView::Instrumentation.instance.config
24
26
  ::OpenTelemetry::Instrumentation::ActiveSupport.subscribe(
25
- ActionView::Instrumentation.instance.tracer,
27
+ instance.tracer,
26
28
  subscription_name,
27
- config[:notification_payload_transform],
28
- config[:disallowed_notification_payload_keys]
29
+ instance.config[:notification_payload_transform],
30
+ instance.config[:disallowed_notification_payload_keys],
31
+ span_name_formatter: span_name_formatter
29
32
  )
30
33
  end
31
34
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module ActionView
10
- VERSION = '0.7.2'
10
+ VERSION = '0.8.0'
11
11
  end
12
12
  end
13
13
  end
@@ -9,7 +9,7 @@ require 'opentelemetry-instrumentation-base'
9
9
 
10
10
  module OpenTelemetry
11
11
  module Instrumentation
12
- # Contains the OpenTelemetry instrumentation for the ActionView gem
12
+ # (see OpenTelemetry::Instrumentation::ActionView::Instrumentation)
13
13
  module ActionView
14
14
  end
15
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-action_view
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.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-08-15 00:00:00.000000000 Z
11
+ date: 2024-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: '0.7'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.1'
40
+ version: '0.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-instrumentation-base
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -156,28 +156,28 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 1.65.0
159
+ version: 1.69.1
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 1.65.0
166
+ version: 1.69.1
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop-performance
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '1.20'
173
+ version: 1.23.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '1.20'
180
+ version: 1.23.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: simplecov
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '3.19'
201
+ version: 3.24.0
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '3.19'
208
+ version: 3.24.0
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: yard
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -241,11 +241,11 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
241
241
  licenses:
242
242
  - Apache-2.0
243
243
  metadata:
244
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_view/0.7.2/file/CHANGELOG.md
244
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_view/0.8.0/file/CHANGELOG.md
245
245
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/action_view
246
246
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
247
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_view/0.7.2
248
- post_install_message:
247
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-action_view/0.8.0
248
+ post_install_message:
249
249
  rdoc_options: []
250
250
  require_paths:
251
251
  - lib
@@ -261,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
261
  version: '0'
262
262
  requirements: []
263
263
  rubygems_version: 3.2.33
264
- signing_key:
264
+ signing_key:
265
265
  specification_version: 4
266
266
  summary: ActionView instrumentation for the OpenTelemetry framework
267
267
  test_files: []