opentelemetry-instrumentation-active_record 0.8.1 → 0.10.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: 6fd479327905aa64ad62d66e886697f9389430772564b740f3d10a4d47d8852a
4
- data.tar.gz: 273515e1394aa13264c51d3c27fdf3f29a1b8e2767102642adfe2dae0237f91e
3
+ metadata.gz: 6e58b63a40982955a02ac83ae37b0edf5756d1da33d4758a831de2ea5087b1a0
4
+ data.tar.gz: 2b8d53fc74d7dd4eee32bfea4e11cf39caabf2e9d1edaae93da1bca6149b8b2b
5
5
  SHA512:
6
- metadata.gz: d888e331bbe89002d5fb6cc422349935f21fb7d52ad768dd90c0882d3fe3840f033311297114e6ede1686d5a95006347be13edadb24566dd0b56bfa871684b5e
7
- data.tar.gz: 73d88c1fde3b8c42e55465bf798bbd495ff0baf227dc652cc4a5b7fd5d4f58cec9d1aaa91af8482a7707e3840578770d181cc2a6e8f785ed06505e5f431bea5a
6
+ metadata.gz: 6ae201fa09df45e933602989b4809350e5790ea507f7875135f7908c797aa16986d3ab55c58bbe34f144aff20ced050dd0d981d77923f8e021919f4fca7f9bab
7
+ data.tar.gz: ec2f48bd2dc1ed960e782a6a4423b9cd4ebcbdb9bb298ec879fe81b2647b48b877fd68c4e46d45adecf6819ea1ecfcc1f8412488c3e39a19c4b657ee7eed77ed
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Release History: opentelemetry-instrumentation-active_record
2
2
 
3
+ ### v0.10.0 / 2025-09-30
4
+
5
+ * ADDED: Bump minimum API Version to 1.7
6
+
7
+ ### v0.9.0 / 2025-01-16
8
+
9
+ * BREAKING CHANGE: Drop Support for EoL Rails 6.1
10
+ * BREAKING CHANGE: Set minimum supported version to Ruby 3.1
11
+
12
+ * ADDED: Drop Support for EoL Rails 6.1
13
+ * ADDED: Set minimum supported version to Ruby 3.1
14
+
3
15
  ### v0.8.1 / 2024-11-21
4
16
 
5
17
  * FIXED: Pass block argument in ActiveRecord `find_by_sql` patch.
data/README.md CHANGED
@@ -32,7 +32,7 @@ end
32
32
 
33
33
  ## Examples
34
34
 
35
- Example usage can be seen in the `./example/trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/active_record/example/trace_demonstration.rb)
35
+ Example usage can be seen in the [`./example/trace_demonstration.rb` file](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/active_record/example/trace_demonstration.rb)
36
36
 
37
37
  ## How can I get involved?
38
38
 
@@ -9,7 +9,7 @@ module OpenTelemetry
9
9
  module ActiveRecord
10
10
  # The Instrumentation class contains logic to detect and install the ActiveRecord instrumentation
11
11
  class Instrumentation < OpenTelemetry::Instrumentation::Base
12
- MINIMUM_VERSION = Gem::Version.new('6.1.0')
12
+ MINIMUM_VERSION = Gem::Version.new('7')
13
13
 
14
14
  install do |_config|
15
15
  require_dependencies
@@ -45,7 +45,7 @@ module OpenTelemetry
45
45
  ::ActiveSupport.on_load(:active_record) do
46
46
  # Modules to prepend to ActiveRecord::Base are grouped by the source
47
47
  # module that they are defined in as they are included into ActiveRecord::Base
48
- # Example: Patches::PersistenceClassMethods refers to https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/persistence.rb#L10
48
+ # Example: Patches::PersistenceClassMethods refers to https://github.com/rails/rails/blob/v7.0.0/activerecord/lib/active_record/persistence.rb#L10
49
49
  # which is included into ActiveRecord::Base in https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activerecord/lib/active_record/base.rb#L283
50
50
  ::ActiveRecord::Base.prepend(Patches::Querying)
51
51
  ::ActiveRecord::Base.prepend(Patches::Persistence)
@@ -29,91 +29,91 @@ module OpenTelemetry
29
29
  end
30
30
  end
31
31
 
32
- def becomes(klass)
32
+ def becomes(...)
33
33
  tracer.in_span("#{self.class}#becomes") do
34
34
  super
35
35
  end
36
36
  end
37
37
 
38
- def becomes!(klass)
38
+ def becomes!(...)
39
39
  tracer.in_span("#{self.class}#becomes!") do
40
40
  super
41
41
  end
42
42
  end
43
43
 
44
- def update_attribute(name, value)
44
+ def update_attribute(...)
45
45
  tracer.in_span("#{self.class}#update_attribute") do
46
46
  super
47
47
  end
48
48
  end
49
49
 
50
- def update(attributes)
50
+ def update(...)
51
51
  tracer.in_span("#{self.class}#update") do
52
52
  super
53
53
  end
54
54
  end
55
55
 
56
- def update!(attributes)
56
+ def update!(...)
57
57
  tracer.in_span("#{self.class}#update!") do
58
58
  super
59
59
  end
60
60
  end
61
61
 
62
- def update_column(name, value)
62
+ def update_column(...)
63
63
  tracer.in_span("#{self.class}#update_column") do
64
64
  super
65
65
  end
66
66
  end
67
67
 
68
- def update_columns(attributes)
68
+ def update_columns(...)
69
69
  tracer.in_span("#{self.class}#update_columns") do
70
70
  super
71
71
  end
72
72
  end
73
73
 
74
- def increment(attribute, by = 1)
74
+ def increment(...)
75
75
  tracer.in_span("#{self.class}#increment") do
76
76
  super
77
77
  end
78
78
  end
79
79
 
80
- def increment!(attribute, by = 1, touch: nil)
80
+ def increment!(...)
81
81
  tracer.in_span("#{self.class}#increment!") do
82
82
  super
83
83
  end
84
84
  end
85
85
 
86
- def decrement(attribute, by = 1)
86
+ def decrement(...)
87
87
  tracer.in_span("#{self.class}#decrement") do
88
88
  super
89
89
  end
90
90
  end
91
91
 
92
- def decrement!(attribute, by = 1, touch: nil)
92
+ def decrement!(...)
93
93
  tracer.in_span("#{self.class}#decrement!") do
94
94
  super
95
95
  end
96
96
  end
97
97
 
98
- def toggle(attribute)
98
+ def toggle(...)
99
99
  tracer.in_span("#{self.class}#toggle") do
100
100
  super
101
101
  end
102
102
  end
103
103
 
104
- def toggle!(attribute)
104
+ def toggle!(...)
105
105
  tracer.in_span("#{self.class}#toggle!") do
106
106
  super
107
107
  end
108
108
  end
109
109
 
110
- def reload(options = nil)
110
+ def reload(...)
111
111
  tracer.in_span("#{self.class}#reload") do
112
112
  super
113
113
  end
114
114
  end
115
115
 
116
- def touch(*names, time: nil)
116
+ def touch(...)
117
117
  tracer.in_span("#{self.class}#touch") do
118
118
  super
119
119
  end
@@ -18,31 +18,31 @@ module OpenTelemetry
18
18
 
19
19
  # Contains ActiveRecord::Persistence::ClassMethods to be patched
20
20
  module ClassMethods
21
- def create(attributes = nil, &block)
21
+ def create(...)
22
22
  tracer.in_span("#{self}.create") do
23
23
  super
24
24
  end
25
25
  end
26
26
 
27
- def create!(attributes = nil, &block)
27
+ def create!(...)
28
28
  tracer.in_span("#{self}.create!") do
29
29
  super
30
30
  end
31
31
  end
32
32
 
33
- def update(id = :all, attributes) # rubocop:disable Style/OptionalArguments
33
+ def update(...)
34
34
  tracer.in_span("#{self}.update") do
35
35
  super
36
36
  end
37
37
  end
38
38
 
39
- def destroy(id)
39
+ def destroy(...)
40
40
  tracer.in_span("#{self}.destroy") do
41
41
  super
42
42
  end
43
43
  end
44
44
 
45
- def delete(id_or_array)
45
+ def delete(...)
46
46
  tracer.in_span("#{self}.delete") do
47
47
  super
48
48
  end
@@ -18,37 +18,37 @@ module OpenTelemetry
18
18
 
19
19
  # Contains ActiveRecord::Persistence::ClassMethods to be patched
20
20
  module ClassMethods
21
- ruby2_keywords def insert(*args)
21
+ def insert(...)
22
22
  tracer.in_span("#{self}.insert") do
23
23
  super
24
24
  end
25
25
  end
26
26
 
27
- ruby2_keywords def insert_all(*args)
27
+ def insert_all(...)
28
28
  tracer.in_span("#{self}.insert_all") do
29
29
  super
30
30
  end
31
31
  end
32
32
 
33
- ruby2_keywords def insert!(*args)
33
+ def insert!(...)
34
34
  tracer.in_span("#{self}.insert!") do
35
35
  super
36
36
  end
37
37
  end
38
38
 
39
- ruby2_keywords def insert_all!(*args)
39
+ def insert_all!(...)
40
40
  tracer.in_span("#{self}.insert_all!") do
41
41
  super
42
42
  end
43
43
  end
44
44
 
45
- ruby2_keywords def upsert(*args)
45
+ def upsert(...)
46
46
  tracer.in_span("#{self}.upsert") do
47
47
  super
48
48
  end
49
49
  end
50
50
 
51
- ruby2_keywords def upsert_all(*args)
51
+ def upsert_all(...)
52
52
  tracer.in_span("#{self}.upsert_all") do
53
53
  super
54
54
  end
@@ -10,13 +10,13 @@ module OpenTelemetry
10
10
  module Patches
11
11
  # Module to prepend to ActiveRecord::Relation for instrumentation
12
12
  module RelationPersistence
13
- def update_all(*)
13
+ def update_all(...)
14
14
  tracer.in_span("#{model.name}.update_all") do
15
15
  super
16
16
  end
17
17
  end
18
18
 
19
- def delete_all(*)
19
+ def delete_all(...)
20
20
  tracer.in_span("#{model.name}.delete_all") do
21
21
  super
22
22
  end
@@ -18,7 +18,7 @@ module OpenTelemetry
18
18
 
19
19
  # Contains ActiveRecord::Transactions::ClassMethods to be patched
20
20
  module ClassMethods
21
- def transaction(**options, &block)
21
+ def transaction(...)
22
22
  tracer.in_span('ActiveRecord.transaction', attributes: { 'code.namespace' => name }) do
23
23
  super
24
24
  end
@@ -14,13 +14,13 @@ module OpenTelemetry
14
14
  # https://github.com/rails/rails/blob/v5.2.4.5/activerecord/lib/active_record/validations.rb#L42-L53
15
15
  # Contains the ActiveRecord::Validations methods to be patched
16
16
  module Validations
17
- def save(**options)
17
+ def save(...)
18
18
  tracer.in_span("#{self.class}#save") do
19
19
  super
20
20
  end
21
21
  end
22
22
 
23
- def save!(**options)
23
+ def save!(...)
24
24
  tracer.in_span("#{self.class}#save!") do
25
25
  super
26
26
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module ActiveRecord
10
- VERSION = '0.8.1'
10
+ VERSION = '0.10.0'
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,211 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.10.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-11-21 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
13
  - !ruby/object:Gem::Dependency
28
14
  name: opentelemetry-instrumentation-base
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 0.22.1
19
+ version: '0.23'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 0.22.1
41
- - !ruby/object:Gem::Dependency
42
- name: activerecord
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '6.1'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '6.1'
55
- - !ruby/object:Gem::Dependency
56
- name: appraisal
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '2.5'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.5'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.4'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2.4'
83
- - !ruby/object:Gem::Dependency
84
- name: minitest
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '5.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '5.0'
97
- - !ruby/object:Gem::Dependency
98
- name: opentelemetry-sdk
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.1'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.1'
111
- - !ruby/object:Gem::Dependency
112
- name: opentelemetry-test-helpers
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.3'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.3'
125
- - !ruby/object:Gem::Dependency
126
- name: rake
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '13.0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '13.0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 1.68.0
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 1.68.0
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop-performance
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: 1.22.0
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: 1.22.0
167
- - !ruby/object:Gem::Dependency
168
- name: simplecov
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: 0.17.1
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: 0.17.1
181
- - !ruby/object:Gem::Dependency
182
- name: webmock
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: 3.24.0
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: 3.24.0
195
- - !ruby/object:Gem::Dependency
196
- name: yard
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '0.9'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '0.9'
26
+ version: '0.23'
209
27
  description: ActiveRecord instrumentation for the OpenTelemetry framework
210
28
  email:
211
29
  - cncf-opentelemetry-contributors@lists.cncf.io
@@ -233,11 +51,11 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
233
51
  licenses:
234
52
  - Apache-2.0
235
53
  metadata:
236
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-active_record/0.8.1/file/CHANGELOG.md
54
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-active_record/0.10.0/file/CHANGELOG.md
237
55
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/active_record
238
56
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
239
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-active_record/0.8.1
240
- post_install_message:
57
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-active_record/0.10.0
58
+ post_install_message:
241
59
  rdoc_options: []
242
60
  require_paths:
243
61
  - lib
@@ -245,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
63
  requirements:
246
64
  - - ">="
247
65
  - !ruby/object:Gem::Version
248
- version: '3.0'
66
+ version: '3.1'
249
67
  required_rubygems_version: !ruby/object:Gem::Requirement
250
68
  requirements:
251
69
  - - ">="
252
70
  - !ruby/object:Gem::Version
253
71
  version: '0'
254
72
  requirements: []
255
- rubygems_version: 3.2.33
256
- signing_key:
73
+ rubygems_version: 3.3.27
74
+ signing_key:
257
75
  specification_version: 4
258
76
  summary: ActiveRecord instrumentation for the OpenTelemetry framework
259
77
  test_files: []