class OneApm::Transaction::XraySampleBuffer
Attributes
xray_session_collection[W]
Public Class Methods
new()
click to toggle source
Calls superclass method
OneApm::Transaction::TransactionSampleBuffer::new
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 11 def initialize super # Memoize the config setting since this happens per request @enabled = OneApm::Manager.config[:'xray_session.allow_traces'] OneApm::Manager.config.register_callback(:'xray_session.allow_traces') do |new_value| @enabled = new_value end @capacity = OneApm::Manager.config[:'xray_session.max_samples'] OneApm::Manager.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/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 38 def allow_sample?(sample) !full? && !lookup_session_id(sample).nil? end
capacity()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 30 def capacity @capacity end
enabled?()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 42 def enabled? @enabled end
truncate_samples()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 34 def truncate_samples # First in wins, so stop on allow_sample? instead of truncating end
xray_session_collection()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 26 def xray_session_collection @xray_session_collection ||= OneApm::Manager.agent.agent_command_router.xray_session_collection end
Private Instance Methods
add_sample(sample)
click to toggle source
Calls superclass method
OneApm::Transaction::TransactionSampleBuffer#add_sample
# File lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 49 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/one_apm/transaction/sample_buffer/xray_sample_buffer.rb, line 54 def lookup_session_id(sample) xray_session_collection.session_id_for_transaction_name(sample.transaction_name) end