Method: NewRelic::Agent::Threading::BacktraceService#initialize
- Defined in:
- lib/new_relic/agent/threading/backtrace_service.rb
#initialize(event_listener = nil) ⇒ BacktraceService
Returns a new instance of BacktraceService.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/new_relic/agent/threading/backtrace_service.rb', line 26 def initialize(event_listener = nil) @profiles = {} @buffer = {} @last_poll = nil # synchronizes access to @profiles and @buffer above @lock = Mutex.new @running = false @profile_agent_code = false @worker_loop = NewRelic::Agent::WorkerLoop.new # Memoize overhead % to avoid getting stale OR looked up every poll @overhead_percent_threshold = NewRelic::Agent.config[:'thread_profiler.max_profile_overhead'] NewRelic::Agent.config.register_callback(:'thread_profiler.max_profile_overhead') do |new_value| @overhead_percent_threshold = new_value end event_listener&.subscribe(:transaction_finished, &method(:on_transaction_finished)) end |