ruby-on-rails – 分析JRUBY rails应用程序输出元素
发布时间:2020-12-17 02:01:04 所属栏目:百科 来源:网络整理
导读:环境: Linux Mint 32位,J Ruby-1.6.5 [i386],Rails 3.1.3. 我试图在WEBrick(开发模式)中分析部署在JRuby 1.6.5上的rails应用程序. 我的JRUBY_OPTS:“ – Xlaunch.inproc = false –profile.flat” 在我的一个模型中,我引入了一个显式sleep(5)并确保在保存
环境:
Linux Mint 32位,J
Ruby-1.6.5 [i386],Rails 3.1.3.
我试图在WEBrick(开发模式)中分析部署在JRuby 1.6.5上的rails应用程序. 我的JRUBY_OPTS:“ – Xlaunch.inproc = false –profile.flat” 在我的一个模型中,我引入了一个显式sleep(5)并确保在保存模型时将此方法作为before_save hook的一部分进行调用.伪代码…… class Invoice < ActiveRecord::Base <some properties here...> before_save :delay private def delay sleep(5) end end 上面的代码确保在Invoice的实例被持久化之前,该方法会自动调用delay. 现在,当我分析创建此模型实例的代码(通过rspec单元测试)时,我得到以下输出: 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(如上所述)启动我的rails服务器(WEBrick)时,我的所有应用程序代码框都在探查器输出中显示为未知元素! 我做错了吗? 解决方法
看起来你最大的配置文件方法限制
将-Xprofile.max.methods JRUBY_OPTS设置为一个大数字(默认为100000并且永远不够).例如. export JRUBY_OPTS="--profile.flat -Xprofile.max.methods=10000000" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |