Sha256: ed97f6d8495b9b61750e2de1053d732d02eaf0a3f0f2b6b4ec0761c64ce059c0
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
# -*- ruby -*- # encoding: utf-8 # This file is distributed under New Relic's license terms. # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details. # frozen_string_literal: true 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 include NewRelic::Coerce 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, 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 def create_event(noticed_error, transaction_payload, span_id) TransactionErrorPrimitive.create(noticed_error, transaction_payload, span_id) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
newrelic_rpm-8.10.1 | lib/new_relic/agent/error_event_aggregator.rb |
newrelic_rpm-8.10.0 | lib/new_relic/agent/error_event_aggregator.rb |