class NewRelic::Agent::Transaction::XraySampleBuffer
Attributes
xray_session_collection[W]
Public Class Methods
new()
click to toggle source
Calls superclass method
NewRelic::Agent::Transaction::TransactionSampleBuffer.new
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 13 def initialize super # Memoize the config setting since this happens per request @enabled = NewRelic::Agent.config[:'xray_session.allow_traces'] NewRelic::Agent.config.register_callback(:'xray_session.allow_traces') do |new_value| @enabled = new_value end @capacity = NewRelic::Agent.config[:'xray_session.max_samples'] NewRelic::Agent.config.register_callback(:'xray_session.max_samples') do |new_value| @capacity = new_value end end
Public Instance Methods
allow_sample?(sample)
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 40 def allow_sample?(sample) !full? && !lookup_session_id(sample).nil? end
capacity()
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 32 def capacity @capacity end
enabled?()
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 44 def enabled? @enabled end
truncate_samples()
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 36 def truncate_samples # First in wins, so stop on allow_sample? instead of truncating end
xray_session_collection()
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 28 def xray_session_collection @xray_session_collection ||= NewRelic::Agent.instance.agent_command_router.xray_session_collection end
Private Instance Methods
add_sample(sample)
click to toggle source
Calls superclass method
NewRelic::Agent::Transaction::TransactionSampleBuffer#add_sample
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 51 def add_sample(sample) super(sample) sample.xray_session_id = lookup_session_id(sample) end
lookup_session_id(sample)
click to toggle source
# File lib/new_relic/agent/transaction/xray_sample_buffer.rb, line 56 def lookup_session_id(sample) xray_session_collection.session_id_for_transaction_name(sample.transaction_name) end