我试图在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) endend
上面的代码确保在Invoice的实例被持久化之前,该方法会自动调用delay.
现在,当我分析创建此模型实例的代码(通过rspec单元测试)时,我得到以下输出:
6.31 0.00 6.31 14 RSpec::Core::ExampleGroup.run6.30 0.00 6.30 14 RSpec::Core::ExampleGroup.run_examples6.30 0.00 6.30 1 RSpec::Core::Example#run6.30 0.00 6.30 1 RSpec::Core::Example#with_around_hooks5.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#sleep4.87 0.00 4.87 40 ActiveSupport.execute_hook4.39 0.00 4.39 3 Actiondispatch::Routing::RouteSet#eval_block4.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"总结
以上是内存溢出为你收集整理的ruby-on-rails – 分析JRUBY rails应用程序输出元素全部内容,希望文章能够帮你解决ruby-on-rails – 分析JRUBY rails应用程序输出元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)