Module: NewRelic::CollectionHelper
- Included in:
- Agent::ErrorCollector, Agent::TransactionSampleBuilder, NoticedError
- Defined in:
- lib/new_relic/collection_helper.rb
Constant Summary collapse
- DEFAULT_TRUNCATION_SIZE =
256
- DEFAULT_ARRAY_TRUNCATION_SIZE =
1024
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
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/new_relic/collection_helper.rb', line 7 def normalize_params(params) case params when Symbol, FalseClass, TrueClass, nil params when Numeric truncate(params.to_s) when String truncate(params) when Hash new_params = {} params.each do | key, value | new_params[truncate(normalize_params(key),32)] = normalize_params(value) end new_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
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/new_relic/collection_helper.rb', line 31 def strip_nr_from_backtrace(backtrace) if backtrace # this is for 1.9.1, where strings no longer have Enumerable backtrace = backtrace.split("\n") if String === backtrace # strip newrelic from the trace backtrace = backtrace.reject {|line| line =~ /new_relic\/agent\// } # rename methods back to their original state # GJV - 4/6/10 - adding .to_s call since we were seeing line as a Fixnum in some cases backtrace = backtrace.collect {|line| line.to_s.gsub(/_without_(newrelic|trace)/, "")} end backtrace end |