Module: NewRelic::CollectionHelper

Included in:
NoticedError
Defined in:
lib/new_relic/collection_helper.rb

Constant Summary collapse

DEFAULT_TRUNCATION_SIZE =
16 * 1024
DEFAULT_ARRAY_TRUNCATION_SIZE =
128

Instance Method Summary collapse

Instance Method Details

#normalize_params(params) ⇒ Object

Transform parameter hash into a hash whose values are strictly strings



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/new_relic/collection_helper.rb', line 11

def normalize_params(params)
  case params
    when Hash
      # Optimize for empty hash since that is often what this is called with.
      return params if params.empty?

      new_params = {}
      params.each do |key, value|
        new_params[truncate(normalize_params(key), 64)] = normalize_params(value)
      end
      new_params
    when Symbol, FalseClass, TrueClass, nil
      params
    when Numeric
      truncate(params.to_s)
    when String
      truncate(params)
    when Array
      params.first(DEFAULT_ARRAY_TRUNCATION_SIZE).map { |item| normalize_params(item) }
    else
      truncate(flatten(params))
  end
end