環境:Linux Mint 32ビット、JRuby-1.6.5 [i386]、Rails 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は、(RSpecのユニットテストを介して)このモデルのインスタンスを作成するコードをプロファイルするとき、私は、次の出力を取得:私は代わりに、これら2つの要素を参照なぜ、上記の出力で
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(前述)と同じJRUBY_OPTSでレールサーバー(WEBrick)を起動すると、すべてのアプリケーションコードフレームが不明な要素がプロファイラ出力に表示されます。
何か間違っていますか?
WEBrickからの出力はどのようになっていますか? – Lelon