Sha256: ac0283cab915868f2fdb287bcc2854dd7486f8df2f4eb7d67f3c6cd5436db678
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
# encoding: utf-8 require 'one_apm/transaction/sample_buffer/transaction_sample_buffer' module OneApm class Transaction class CrossSampleBuffer < TransactionSampleBuffer def initialize(events) @counter = 0 @samples = [] @events = events end def capacity Manager.config[:cross_sampler_count] end def reset_counter! @counter = 0 end def full? @counter >= capacity end def allow_sample?(sample) sample.params[:custom_params][:'bw.trip_id'] rescue false end private # If a buffer needs to modify an added sample, override this method. # Bounds checking, allowing samples and truncation belongs elsewhere. 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 end end end
Version data entries
3 entries across 3 versions & 1 rubygems