class NewRelic::Agent::SyntheticsEventAggregator

Public Instance Methods

append_or_reject(event) click to toggle source
# File lib/new_relic/agent/synthetics_event_aggregator.rb, line 17
def append_or_reject event
  return unless enabled?

  @lock.synchronize do
    @buffer.append_with_reject event
  end
end
merge!(payload) click to toggle source

slightly different semantics than the EventAggregator for merge

# File lib/new_relic/agent/synthetics_event_aggregator.rb, line 26
def merge! payload
  _, events = payload
  @lock.synchronize do
    events.each { |e| @buffer.append_with_reject e}
  end
end

Private Instance Methods

after_harvest(metadata) click to toggle source
# File lib/new_relic/agent/synthetics_event_aggregator.rb, line 35
def after_harvest metadata
  record_dropped_synthetics metadata
end
record_dropped_synthetics(metadata) click to toggle source
# File lib/new_relic/agent/synthetics_event_aggregator.rb, line 39
def record_dropped_synthetics metadata
  num_dropped = metadata[:seen] - metadata[:captured]
  return unless num_dropped > 0

  NewRelic::Agent.logger.debug("Synthetics transaction event limit (#{metadata[:capacity]}) reached. Further synthetics events this harvest period dropped.")

  engine = NewRelic::Agent.instance.stats_engine
  engine.tl_record_supportability_metric_count("SyntheticsEventAggregator/synthetics_events_dropped", num_dropped)
end