Method: OneApm::Collector::Commands::XraySessionCollection#harvest_thread_profiles

Defined in:
lib/one_apm/collector/commands/xray_session_collection.rb

#harvest_thread_profilesObject



50
51
52
53
54
55
56
57
58
59
# File 'lib/one_apm/collector/commands/xray_session_collection.rb', line 50

def harvest_thread_profiles
  return NO_PROFILES unless OneApm::Agent::Threading::BacktraceService.is_supported?

  profiles = active_thread_profiling_sessions.map do |session|
    OneApm::Manager.logger.debug("Harvesting profile for X-Ray session #{session.inspect}")
    @backtrace_service.harvest(session.key_transaction_name)
  end
  profiles.reject! {|p| p.empty?}
  profiles.compact
end