class Mmtrix::Agent::Transaction::XraySampleBuffer
Attributes
xray_session_collection[W]
Public Class Methods
new()
click to toggle source
Calls superclass method
Mmtrix::Agent::Transaction::TransactionSampleBuffer::new
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 14 def initialize super # Memoize the config setting since this happens per request @enabled = Mmtrix::Agent.config[:'xray_session.allow_traces'] Mmtrix::Agent.config.register_callback(:'xray_session.allow_traces') do |new_value| @enabled = new_value end @capacity = Mmtrix::Agent.config[:'xray_session.max_samples'] Mmtrix::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/mmtrix/agent/transaction/xray_sample_buffer.rb, line 41 def allow_sample?(sample) !full? && !lookup_session_id(sample).nil? end
capacity()
click to toggle source
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 33 def capacity @capacity end
enabled?()
click to toggle source
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 45 def enabled? @enabled end
truncate_samples()
click to toggle source
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 37 def truncate_samples # First in wins, so stop on allow_sample? instead of truncating end
xray_session_collection()
click to toggle source
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 29 def xray_session_collection @xray_session_collection ||= Mmtrix::Agent.instance.agent_command_router.xray_session_collection end
Private Instance Methods
add_sample(sample)
click to toggle source
Calls superclass method
Mmtrix::Agent::Transaction::TransactionSampleBuffer#add_sample
# File lib/mmtrix/agent/transaction/xray_sample_buffer.rb, line 52 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/mmtrix/agent/transaction/xray_sample_buffer.rb, line 57 def lookup_session_id(sample) xray_session_collection.session_id_for_transaction_name(sample.transaction_name) end