class SimpleApm::ProcessingThread
开启一个接收事件的并行thread,每隔一秒处理一次
Public Class Methods
add_event(e)
click to toggle source
# File lib/simple_apm.rb, line 73 def add_event(e) @processing_thread && @processing_thread[:events].push(e) end
start!()
click to toggle source
# File lib/simple_apm.rb, line 76 def start! @main_thread ||= ::Thread.current @processing_thread ||= ::Thread.new do ::Thread.current.name = 'simple-apm-processing-thread' if ::Thread.current.respond_to?(:name) ::Thread.current[:events] ||= [] loop do while e = ::Thread.current[:events].shift ::SimpleApm::Worker.process! e end sleep 0.5 end end end