Module: NewRelic::CollectionHelper
- Included in:
- Agent::ErrorCollector, Agent::TransactionSampleBuilder, 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
-
#normalize_params(params) ⇒ Object
Transform parameter hash into a hash whose values are strictly strings.
-
#strip_nr_from_backtrace(backtrace) ⇒ Object
Return an array of strings (backtrace), cleaned up for readability Return nil if there is no backtrace.
Instance Method Details
#normalize_params(params) ⇒ Object
Transform parameter hash into a hash whose values are strictly strings
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/new_relic/collection_helper.rb', line 9 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 |
#strip_nr_from_backtrace(backtrace) ⇒ Object
Return an array of strings (backtrace), cleaned up for readability Return nil if there is no backtrace
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/new_relic/collection_helper.rb', line 35 def strip_nr_from_backtrace(backtrace) if backtrace && !NewRelic::Control.instance.disable_backtrace_cleanup? # this is for 1.9.1, where strings no longer have Enumerable backtrace = backtrace.split("\n") if String === backtrace backtrace = backtrace.map &:to_s backtrace = backtrace.reject do |line| line.include?(NewRelic::Control.newrelic_root) or line =~ /^newrelic_rpm\s/ end # rename methods back to their original state backtrace = backtrace.collect {|line| line.gsub(/_without_(newrelic|trace)/, "")} end backtrace end |