Sha256: 9eed919347490609916eea35ce3f3480f78a765d996caa126a8cbfcd183d7aaa

Contents?: true

Size: 1.66 KB

Versions: 11

Compression:

Stored size: 1.66 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.

require 'new_relic/agent/configuration/dotted_hash'

module NewRelic
  module Agent
    module Configuration
      class HighSecuritySource < DottedHash
        def initialize(local_settings)
          super({
            :capture_params           => false,
            :'resque.capture_params'  => false,
            :'sidekiq.capture_params' => false,
            :'attributes.include'     => [],

            :'transaction_tracer.record_sql' => record_sql_setting(local_settings, :'transaction_tracer.record_sql'),
            :'slow_sql.record_sql'           => record_sql_setting(local_settings, :'slow_sql.record_sql'),
            :'mongo.obfuscate_queries'       => true,
            :'transaction_tracer.record_redis_arguments' => false,

            :'custom_insights_events.enabled'   => false,
            :'strip_exception_messages.enabled' => true
          })
        end

        OFF = "off".freeze
        RAW = "raw".freeze
        OBFUSCATED = "obfuscated".freeze

        SET_TO_OBFUSCATED = [RAW, OBFUSCATED]

        def record_sql_setting(local_settings, key)
          original_value  = local_settings[key]
          result = if SET_TO_OBFUSCATED.include?(original_value)
            OBFUSCATED
          else
            OFF
          end

          if result != original_value
            NewRelic::Agent.logger.info("Disabling setting #{key}='#{original_value}' because high security mode is enabled. Value will be '#{result}'")
          end

          result
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
newrelic_rpm-8.2.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.1.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.0.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-7.2.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-7.1.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-7.0.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-6.15.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-6.14.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-6.13.1 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-6.13.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-6.12.0.367 lib/new_relic/agent/configuration/high_security_source.rb