환경 : Linux Mint 32 비트, JRuby-1.6.5 [i386], 레일 3.1.3.JRUBY 레일 어플리케이션 프로파일 링 <unknown> 요소
WEBrick (개발 모드의)에서 JRuby 1.6.5에 배포 된 레일 애플리케이션을 프로파일하려고합니다.
내 JRUBY_OPTS "-Xlaunch.inproc = 거짓 --profile.flat"내 모델 중 하나에서
, 내가 명시 적으로 잠을 소개 (5)이 메소드가 before_save 후크의 호출되는 것을 보장 모델을 저장하는 동안. 의사 코드는 ...
class Invoice < ActiveRecord::Base
<some properties here...>
before_save :delay
private
def delay
sleep(5)
end
end
위의 코드는 송장의 인스턴스가 지속 도착하기 직전, 방법, 지연가 자동으로 호출되도록합니다.
I가 (AN RSpec에 단위 테스트를 통해)이 모델의 인스턴스를 생성하는 코드를 프로파일 링하기, I는 다음과 같은 출력 얻을 왜 I 대신 두 요소 보이니 상기 출력
6.31 0.00 6.31 14 RSpec::Core::ExampleGroup.run
6.30 0.00 6.30 14 RSpec::Core::ExampleGroup.run_examples
6.30 0.00 6.30 1 RSpec::Core::Example#run
6.30 0.00 6.30 1 RSpec::Core::Example#with_around_hooks
5.58 0.00 5.58 1 <unknown>
5.43 0.00 5.43 2 Rails::Application::RoutesReloader#reload!
5.00 0.00 5.00 1 <unknown>
5.00 5.00 0.00 1 Kernel#sleep
4.87 0.00 4.87 40 ActiveSupport.execute_hook
4.39 0.00 4.39 3 ActionDispatch::Routing::RouteSet#eval_block
4.38 0.00 4.38 2 Rails::Application::RoutesReloader#load_paths
을 Invoice.delay 또는 비슷한 것.
실제로 JRUBY_OPTS (위에서 언급 한)와 같은 레일 서버 (WEBrick)를 시작하면 모든 응용 프로그램 코드 프레임이 으로 알려지지 않으므로 프로파일 러 출력에 요소가 없습니다!
뭐가 잘못 되었나요?
어떻게 WEBrick의 출력을 얻고 있습니까? – Lelon