lib/opentelemetry/instrumentation/pg/instrumentation.rb in opentelemetry-instrumentation-pg-0.18.1 vs lib/opentelemetry/instrumentation/pg/instrumentation.rb in opentelemetry-instrumentation-pg-0.19.0
- old
+ new
@@ -9,11 +9,27 @@
module PG
# The Instrumentation class contains logic to detect and install the Pg instrumentation
class Instrumentation < OpenTelemetry::Instrumentation::Base
MINIMUM_VERSION = Gem::Version.new('1.1.0')
- install do |_config|
+ install do |config|
+ if config[:enable_sql_obfuscation]
+ config[:db_statement] = :obfuscate
+ OpenTelemetry.logger.warn(
+ 'Instrumentation pg configuration option enable_sql_obfuscation has been deprecated,' \
+ 'use db_statement option instead'
+ )
+ end
+
+ unless config[:enable_statement_attribute]
+ config[:db_statement] = :omit
+ OpenTelemetry.logger.warn(
+ 'Instrumentation pg configuration option enable_statement_attribute has been deprecated,' \
+ 'use db_statement option instead'
+ )
+ end
+
require_dependencies
patch_client
end
present do
@@ -25,9 +41,10 @@
end
option :peer_service, default: nil, validate: :string
option :enable_sql_obfuscation, default: false, validate: :boolean
option :enable_statement_attribute, default: true, validate: :boolean
+ option :db_statement, default: :include, validate: ->(opt) { %I[omit include obfuscate].include?(opt) }
private
def require_dependencies
require_relative 'patches/connection'