Class: NewRelic::NoticedError
- Inherits:
-
Object
- Object
- NewRelic::NoticedError
- Extended by:
- CollectionHelper
- Includes:
- Coerce
- Defined in:
- lib/new_relic/noticed_error.rb
Overview
This class encapsulates an error that was noticed by New Relic in a managed app.
Constant Summary collapse
- STRIPPED_EXCEPTION_REPLACEMENT_MESSAGE =
"Message removed by New Relic 'strip_exception_messages' setting"
Constants included from CollectionHelper
CollectionHelper::DEFAULT_ARRAY_TRUNCATION_SIZE, CollectionHelper::DEFAULT_TRUNCATION_SIZE
Instance Attribute Summary collapse
-
#exception_class_constant ⇒ Object
Returns the value of attribute exception_class_constant.
-
#exception_class_name ⇒ Object
Returns the value of attribute exception_class_name.
-
#exception_id ⇒ Object
readonly
Returns the value of attribute exception_id.
-
#message ⇒ Object
Returns the value of attribute message.
-
#params ⇒ Object
Returns the value of attribute params.
-
#path ⇒ Object
Returns the value of attribute path.
-
#timestamp ⇒ Object
Returns the value of attribute timestamp.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #exception_class ⇒ Object deprecated Deprecated.
-
#initialize(path, data, exception, timestamp = Time.now) ⇒ NoticedError
constructor
A new instance of NoticedError.
- #to_collector_array(encoder = nil) ⇒ Object
- #whitelisted? ⇒ Boolean
Methods included from CollectionHelper
normalize_params, strip_nr_from_backtrace
Methods included from Coerce
#float, #int, #log_failure, #string
Constructor Details
#initialize(path, data, exception, timestamp = Time.now) ⇒ NoticedError
Returns a new instance of NoticedError.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/new_relic/noticed_error.rb', line 16 def initialize(path, data, exception, = Time.now) @exception_id = exception.object_id @path = path @params = NewRelic::NoticedError.normalize_params(data) @exception_class_name = exception.is_a?(Exception) ? exception.class.name : 'Error' @exception_class_constant = exception.class if exception.respond_to?('original_exception') @message = exception.original_exception..to_s else @message = (exception || '<no message>').to_s end unless @message.is_a?(String) # In pre-1.9.3, Exception.new({}).to_s.class != String # That is, Exception#to_s may not return a String instance if one wasn't # passed in upon creation of the Exception. So, try to generate a useful # String representation of the exception message, falling back to failsafe @message = String(@message.inspect) rescue '<unknown message type>' end # clamp long messages to 4k so that we don't send a lot of # overhead across the wire @message = @message[0..4095] if @message.length > 4096 # replace error message if enabled if NewRelic::Agent.config[:'strip_exception_messages.enabled'] && !whitelisted? @message = STRIPPED_EXCEPTION_REPLACEMENT_MESSAGE end @timestamp = end |
Instance Attribute Details
#exception_class_constant ⇒ Object
Returns the value of attribute exception_class_constant.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def exception_class_constant @exception_class_constant end |
#exception_class_name ⇒ Object
Returns the value of attribute exception_class_name.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def exception_class_name @exception_class_name end |
#exception_id ⇒ Object (readonly)
Returns the value of attribute exception_id.
12 13 14 |
# File 'lib/new_relic/noticed_error.rb', line 12 def exception_id @exception_id end |
#message ⇒ Object
Returns the value of attribute message.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def @message end |
#params ⇒ Object
Returns the value of attribute params.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def params @params end |
#path ⇒ Object
Returns the value of attribute path.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def path @path end |
#timestamp ⇒ Object
Returns the value of attribute timestamp.
10 11 12 |
# File 'lib/new_relic/noticed_error.rb', line 10 def @timestamp end |
Instance Method Details
#==(other) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/new_relic/noticed_error.rb', line 63 def ==(other) if other.respond_to?(:exception_id) exception_id == other.exception_id else false end end |
#exception_class ⇒ Object
53 54 55 |
# File 'lib/new_relic/noticed_error.rb', line 53 def exception_class exception_class_name end |
#to_collector_array(encoder = nil) ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/new_relic/noticed_error.rb', line 73 def to_collector_array(encoder=nil) [ NewRelic::Helper.time_to_millis(), string(path), string(), string(exception_class_name), params ] end |