class OneApm::Transaction::DeveloperModeSampleBuffer
Constants
- OA_CAPACITY
Public Instance Methods
capacity()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 11 def capacity max_capacity end
enabled?()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 25 def enabled? Manager.config[:developer_mode] end
harvest_samples()
click to toggle source
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 21 def harvest_samples OA_NO_SAMPLES end
max_capacity()
click to toggle source
Dev mode is allowed more than the typical upper limit. Sidestep normal cap by overriding max_capacity.
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 17 def max_capacity OA_CAPACITY end
store_previous(*)
click to toggle source
We don't hold onto previously trapped transactions on harvest We've already got all the traces we want, thank you!
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 36 def store_previous(*) end
strip_oneapm_frames(trace)
click to toggle source
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 49 def strip_oneapm_frames(trace) while trace.first =~ /lib\/one_apm/ trace.shift end trace end
truncate_samples()
click to toggle source
Truncate to the last capacity samples we've received
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 30 def truncate_samples @samples = @samples.last(capacity) end
visit_segment(segment)
click to toggle source
Captures the stack trace for a segment This is expensive and not for production mode
# File lib/one_apm/transaction/sample_buffer/developer_mode_sample_buffer.rb, line 41 def visit_segment(segment) return unless enabled? && segment trace = strip_oneapm_frames(caller) trace = trace.first(40) if trace.length > 40 segment[:backtrace] = trace end