class NewRelic::Agent::TransactionEventRecorder
This is responsible for recording transaction events and managing the relationship between events generated from synthetics requests vs normal requests.
Attributes
Public Class Methods
Source
# File lib/new_relic/agent/transaction_event_recorder.rb, line 18 def initialize(events) @transaction_event_aggregator = NewRelic::Agent::TransactionEventAggregator.new(events) @synthetics_event_aggregator = NewRelic::Agent::SyntheticsEventAggregator.new(events) end
Public Instance Methods
Source
# File lib/new_relic/agent/transaction_event_recorder.rb, line 35 def create_event(payload) TransactionEventPrimitive.create(payload) end
Source
# File lib/new_relic/agent/transaction_event_recorder.rb, line 43 def drop_buffered_data transaction_event_aggregator.reset! synthetics_event_aggregator.reset! end
Source
# File lib/new_relic/agent/transaction_event_recorder.rb, line 23 def record(payload) return unless NewRelic::Agent.config[:'transaction_events.enabled'] if synthetics_event?(payload) event = create_event(payload) result = synthetics_event_aggregator.record(event) transaction_event_aggregator.record(event: event) if result.nil? else transaction_event_aggregator.record(priority: payload[:priority]) { create_event(payload) } end end
Source
# File lib/new_relic/agent/transaction_event_recorder.rb, line 39 def synthetics_event?(payload) payload.key?(:synthetics_resource_id) end