def notice_error(exception, options={})
return if skip_notice_error?(exception)
tag_exception(exception)
state = ::NewRelic::Agent::TransactionState.tl_get
unless options.delete(:trace_only)
increment_error_count!(state, exception, options)
end
noticed_error = create_noticed_error(exception, options)
error_trace_aggregator.add_to_error_queue(noticed_error)
payload = state.current_transaction ? state.current_transaction.payload : nil
error_event_aggregator.append_event(noticed_error, payload)
exception
rescue => e
::NewRelic::Agent.logger.warn("Failure when capturing error '#{exception}':", e)
nil
end