opentelemetry-instrumentation-pg 0.30.0 → 0.31.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: cee1cf49714bbb6aa1bd3c3f2fe8bcaf8b27c97cd9c10c951e3ffb4e4045b62b
4
- data.tar.gz: 2409fbc7770e7279c92f530725cd6dc453ec48b6d7dd36c0c476804d4e654f70
3
+ metadata.gz: 0dd9a6014ee1f41e7f48e710ca96859be1f16760a09c60c0a05ccd822a81141d
4
+ data.tar.gz: b983b3ba2cf672c0f794977942f2b2f14214d93160a3d4171e458eadbf9464e2
5
5
  SHA512:
6
- metadata.gz: a69e2f842f641003540f4b64860b1fe627e6b75bb01e56235edd0cd0073193f96b71919e06b93a9fbdeb20e887df38ba6abacabe00bc1c044c528205fcc089a0
7
- data.tar.gz: '08cdc82d83c1b3ef025480ebfbc1f0451c33f3190c8adcfb54c9a33a63425f028879096ce1580b4c58beaf99e888b29ed3800d32e1ea0b114f21809e578f2704'
6
+ metadata.gz: 6c614af81737d0e0d0e796801d41cc92f62b6ce43fa6d547b5e5c028db08a8a1c2d0bd14d02d57225e32be4a27ea7f679dd369ed931937e486f9dc7afb2e8121
7
+ data.tar.gz: 47ac9f8c95c56364ecc9ac3c342c0b8ca0c5b067a7a8e22ec88b44bf7ac9dce230d7f31bd329a90d13c9383ea2e7c0817c603d155d384fe44a69d2f4afe5092c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History: opentelemetry-instrumentation-pg
2
2
 
3
+ ### v0.31.0 / 2025-09-30
4
+
5
+ * ADDED: Bump minimum API Version to 1.7
6
+
7
+ ### v0.30.1 / 2025-04-16
8
+
9
+ * refactor: Use SQL helpers for context attributes #1271
10
+
3
11
  ### v0.30.0 / 2025-01-16
4
12
 
5
13
  * BREAKING CHANGE: Drop Support for EoL Rails 6.1
@@ -15,7 +15,7 @@ module OpenTelemetry
15
15
  # Module to prepend to PG::Connection for instrumentation
16
16
  module Connection # rubocop:disable Metrics/ModuleLength
17
17
  # Capture the first word (including letters, digits, underscores, & '.', ) that follows common table commands
18
- TABLE_NAME = /\b(?:FROM|INTO|UPDATE|CREATE\s+TABLE(?:\s+IF\s+NOT\s+EXISTS)?|DROP\s+TABLE(?:\s+IF\s+EXISTS)?|ALTER\s+TABLE(?:\s+IF\s+EXISTS)?)\s+["]?([\w\.]+)["]?/i
18
+ TABLE_NAME = /\b(?:FROM|INTO|UPDATE|CREATE\s+TABLE(?:\s+IF\s+NOT\s+EXISTS)?|DROP\s+TABLE(?:\s+IF\s+EXISTS)?|ALTER\s+TABLE(?:\s+IF\s+EXISTS)?)\s+"?([\w\.]+)"?/i
19
19
 
20
20
  PG::Constants::EXEC_ISH_METHODS.each do |method|
21
21
  define_method method do |*args, &block|
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module PG
10
- VERSION = '0.30.0'
10
+ VERSION = '0.31.0'
11
11
  end
12
12
  end
13
13
  end
@@ -6,40 +6,13 @@
6
6
 
7
7
  require 'opentelemetry'
8
8
  require 'opentelemetry-instrumentation-base'
9
+ require 'opentelemetry-helpers-sql'
9
10
 
10
11
  module OpenTelemetry
11
12
  module Instrumentation
12
13
  # Contains the OpenTelemetry instrumentation for the Pg gem
13
14
  module PG
14
- extend self
15
-
16
- CURRENT_ATTRIBUTES_KEY = Context.create_key('pg-attributes-hash')
17
-
18
- private_constant :CURRENT_ATTRIBUTES_KEY
19
-
20
- # Returns the attributes hash representing the postgres client context found
21
- # in the optional context or the current context if none is provided.
22
- #
23
- # @param [optional Context] context The context to lookup the current
24
- # attributes hash. Defaults to Context.current
25
- def attributes(context = nil)
26
- context ||= Context.current
27
- context.value(CURRENT_ATTRIBUTES_KEY) || {}
28
- end
29
-
30
- # Activates/deactivates the merged attributes hash within the current Context,
31
- # which makes the "current attributes hash" available implicitly.
32
- #
33
- # On exit, the attributes hash that was active before calling this method
34
- # will be reactivated.
35
- #
36
- # @param [Span] span the span to activate
37
- # @yield [Hash, Context] yields attributes hash and a context containing the
38
- # attributes hash to the block.
39
- def with_attributes(attributes_hash)
40
- attributes_hash = attributes.merge(attributes_hash)
41
- Context.with_value(CURRENT_ATTRIBUTES_KEY, attributes_hash) { |c, h| yield h, c }
42
- end
15
+ extend ::OpenTelemetry::Helpers::Sql
43
16
  end
44
17
  end
45
18
  end
metadata CHANGED
@@ -1,149 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.31.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-01-16 00:00:00.000000000 Z
11
+ date: 2025-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: opentelemetry-api
14
+ name: opentelemetry-helpers-sql
15
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-helpers-sql-obfuscation
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
16
  requirements:
38
17
  - - ">="
39
18
  - !ruby/object:Gem::Version
40
19
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: opentelemetry-instrumentation-base
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.23.0
48
20
  type: :runtime
49
21
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.23.0
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: pry
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
22
  version_requirements: !ruby/object:Gem::Requirement
135
23
  requirements:
136
24
  - - ">="
137
25
  - !ruby/object:Gem::Version
138
26
  version: '0'
139
27
  - !ruby/object:Gem::Dependency
140
- name: pry-byebug
28
+ name: opentelemetry-helpers-sql-obfuscation
141
29
  requirement: !ruby/object:Gem::Requirement
142
30
  requirements:
143
31
  - - ">="
144
32
  - !ruby/object:Gem::Version
145
33
  version: '0'
146
- type: :development
34
+ type: :runtime
147
35
  prerelease: false
148
36
  version_requirements: !ruby/object:Gem::Requirement
149
37
  requirements:
@@ -151,61 +39,19 @@ dependencies:
151
39
  - !ruby/object:Gem::Version
152
40
  version: '0'
153
41
  - !ruby/object:Gem::Dependency
154
- name: rubocop
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: 1.69.1
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: 1.69.1
167
- - !ruby/object:Gem::Dependency
168
- name: rubocop-performance
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: 1.23.0
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: 1.23.0
181
- - !ruby/object:Gem::Dependency
182
- name: simplecov
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: 0.17.1
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: 0.17.1
195
- - !ruby/object:Gem::Dependency
196
- name: yard
42
+ name: opentelemetry-instrumentation-base
197
43
  requirement: !ruby/object:Gem::Requirement
198
44
  requirements:
199
45
  - - "~>"
200
46
  - !ruby/object:Gem::Version
201
- version: '0.9'
202
- type: :development
47
+ version: '0.23'
48
+ type: :runtime
203
49
  prerelease: false
204
50
  version_requirements: !ruby/object:Gem::Requirement
205
51
  requirements:
206
52
  - - "~>"
207
53
  - !ruby/object:Gem::Version
208
- version: '0.9'
54
+ version: '0.23'
209
55
  description: PG (PostgreSQL) instrumentation for the OpenTelemetry framework
210
56
  email:
211
57
  - cncf-opentelemetry-contributors@lists.cncf.io
@@ -229,10 +75,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
229
75
  licenses:
230
76
  - Apache-2.0
231
77
  metadata:
232
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-pg/0.30.0/file/CHANGELOG.md
78
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-pg/0.31.0/file/CHANGELOG.md
233
79
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/pg
234
80
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
235
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-pg/0.30.0
81
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-pg/0.31.0
236
82
  post_install_message:
237
83
  rdoc_options: []
238
84
  require_paths: