class OneApm::Transaction::CrossSampleBuffer
Public Class Methods
new(events)
click to toggle source
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 9 def initialize(events) @counter = 0 @samples = [] @events = events end
Public Instance Methods
allow_sample?(sample)
click to toggle source
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 27 def allow_sample?(sample) sample.params[:custom_params][:'bw.trip_id'] rescue false end
capacity()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 15 def capacity Manager.config[:cross_sampler_count] end
full?()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 23 def full? @counter >= capacity end
reset_counter!()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 19 def reset_counter! @counter = 0 end
Private Instance Methods
add_sample(sample)
click to toggle source
If a buffer needs to modify an added sample, override this method. Bounds checking, allowing samples and truncation belongs elsewhere.
# File lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb, line 35 def add_sample(sample) if full? OneApm::Manager.logger.debug "Cross sample buffer is full, counter: #{@counter} " else @counter += 1 OneApm::Manager.logger.debug "Cross sample buffer add sample, counter: #{@counter} " @events.notify(:cross_sample_buffer_added, sample) end end