class NewRelic::Agent::ErrorEventAggregator

Public Instance Methods

record(noticed_error, transaction_payload = nil, span_id = nil) click to toggle source
# File lib/new_relic/agent/error_event_aggregator.rb, line 20
def record(noticed_error, transaction_payload = nil, span_id = nil)
  return unless enabled?

  priority = float!((transaction_payload && transaction_payload[:priority]) || rand)

  @lock.synchronize do
    @buffer.append(priority: priority) do
      create_event(noticed_error, transaction_payload, span_id)
    end
    notify_if_full
  end
end

Private Instance Methods

create_event(noticed_error, transaction_payload, span_id) click to toggle source
# File lib/new_relic/agent/error_event_aggregator.rb, line 35
def create_event(noticed_error, transaction_payload, span_id)
  TransactionErrorPrimitive.create(noticed_error, transaction_payload, span_id)
end