Sha256: fdb2a1c9de5ac54eb1f501058388cf4826964050d7f0ecabbdd349fabdb60013

Contents?: true

Size: 862 Bytes

Versions: 48

Compression:

Stored size: 862 Bytes

Contents

module Datadog
  module Contrib
    module Redis
      # Quantize contains Redis-specific resource quantization tools.
      module Quantize
        PLACEHOLDER = '?'.freeze
        TOO_LONG_MARK = '...'.freeze
        VALUE_MAX_LEN = 50
        CMD_MAX_LEN = 500

        module_function

        def format_arg(arg)
          str = arg.is_a?(Symbol) ? arg.to_s.upcase : arg.to_s
          str = Utils.utf8_encode(str, binary: true, placeholder: PLACEHOLDER)
          Utils.truncate(str, VALUE_MAX_LEN, TOO_LONG_MARK)
        rescue => e
          Datadog::Tracer.log.debug("non formattable Redis arg #{str}: #{e}")
          PLACEHOLDER
        end

        def format_command_args(command_args)
          cmd = command_args.map { |x| format_arg(x) }.join(' ')
          Utils.truncate(cmd, CMD_MAX_LEN, TOO_LONG_MARK)
        end
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
ddtrace-0.25.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.24.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.23.3 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.23.2 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.23.1 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.23.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.22.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.21.2 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.21.1 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.21.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.20.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.19.1 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.19.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.18.3 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.18.2 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.18.1 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.18.0 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.17.3 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.17.2 lib/ddtrace/contrib/redis/quantize.rb
ddtrace-0.17.1 lib/ddtrace/contrib/redis/quantize.rb