【发布时间】:2015-10-31 04:07:09
【问题描述】:
我不知道如何在 Tomcat 中分析 JRuby On Rails 应用程序。实际上,当 ruby 代码不是通过jruby 命令运行,而是通过java 运行时,我不知道如何将--profile 选项传递给JRuby。
调查我创建文件的问题:
$ cat bin/profile_puts.rb
require 'yaml'
puts ENV['JRUBY_OPTS']
require 'jruby/profiler'
def profile(&block)
JRuby::Profiler::GraphProfilePrinter.new(JRuby::Profiler.profile(&block)).printProfile(STDOUT)
end
profile do
puts "hi"
end
跑
$ jruby --profile.api bin/profile_puts.rb
并获得了适当的分析器输出。
然后我用warbler打包跑了
$ gem install warbler
$ warble jar
$ JRUBY_OPTS=--profile.api java -jar profile.jar JarMain
得到一个错误:
--profile.api
RuntimeError: Profiling not enabled in runtime
如您所见,JRUBY_OPTS 环境变量已进入进程,但对 JRuby 没有影响。
如何解决?
【问题讨论】:
标签: jar profiling jruby jrubyonrails warbler