Class: OneApm::Transaction::CrossSampleBuffer

Inherits:
TransactionSampleBuffer show all
Defined in:
lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb

Constant Summary

Constants inherited from TransactionSampleBuffer

TransactionSampleBuffer::OA_NO_SAMPLES, TransactionSampleBuffer::OA_SINGLE_BUFFER_MAX

Instance Attribute Summary

Attributes inherited from TransactionSampleBuffer

#samples

Instance Method Summary collapse

Methods inherited from TransactionSampleBuffer

#enabled?, #harvest_samples, #max_capacity, #reset!, #store, #store_previous, #truncate_samples, #truncate_samples_if_needed, #visit_segment

Constructor Details

#initialize(events) ⇒ CrossSampleBuffer

Returns a new instance of CrossSampleBuffer.



9
10
11
12
13
# File 'lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb', line 9

def initialize(events)
  @counter = 0
  @samples = []
  @events = events
end

Instance Method Details

#allow_sample?(sample) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# 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

#capacityObject



15
16
17
# File 'lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb', line 15

def capacity
  Manager.config[:cross_sampler_count]
end

#full?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb', line 23

def full?
  @counter >= capacity
end

#reset_counter!Object



19
20
21
# File 'lib/one_apm/transaction/sample_buffer/cross_sample_buffer.rb', line 19

def reset_counter!
  @counter = 0
end