Sha256: f9f73e67a6f30b4fe7ac5a898d621ca80f8f49525ef95ca6860e603d54d5ddbd
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
# -*- ruby -*- # encoding: utf-8 # This file is distributed under New Relic's license terms. # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details. require 'new_relic/agent/event_aggregator' require 'new_relic/agent/transaction_error_primitive' require 'new_relic/agent/priority_sampled_buffer' module NewRelic module Agent class ErrorEventAggregator < EventAggregator named :ErrorEventAggregator capacity_key :'error_collector.max_event_samples_stored' enabled_keys :'error_collector.enabled', :'error_collector.capture_events' buffer_class PrioritySampledBuffer def record noticed_error, transaction_payload = nil return unless enabled? priority = (transaction_payload && transaction_payload[:priority]) || rand.round(6) @lock.synchronize do @buffer.append(priority: priority) do create_event(noticed_error, transaction_payload) end notify_if_full end end private def create_event noticed_error, transaction_payload TransactionErrorPrimitive.create noticed_error, transaction_payload end end end end
Version data entries
3 entries across 3 versions & 1 rubygems