我正在运行 Rails 2.2.2。我已经阅读了一些关于 ruby-prof 和分析 rails 应用程序的文章。我对事情的真正运作方式感到困惑。
我最初使用本教程
http://snippets.aktagon.com/snippets/255-How-to-profile-your-Rails-and-Ruby-applications-with-ruby-prof
来分析我的应用程序,它可以工作。这涉及编写您自己的配置文件环境并运行> RAILS_ENV=profiling ./script/performance/request -n 100 profiling/homepage.rb
所以这是我的困惑。不知何故,这会运行 ruby-prof 并打开所有统计信息等,但我看不到任何实际调用 ruby-prof 的地方。
所以我进一步阅读,似乎 2.2.2 内置了基准测试/分析。所以我在性能部分编写了一个测试文件,如下所示
require 'test_helper'
require 'performance_test_help'
# Profiling results for each test method are written to tmp/performance.
class BrowsingTest < ActionController::PerformanceTest
def test_worksheet
get '/reduction/worksheet'
end
end
并运行
耙式测试:配置文件
这是否等同于我上面所做的,但刚才它已集成到整个 rails 框架中?
我的下一个问题是这个。原始脚本输出一个平面文件和 html 文件,但我不知道如何自动获取树文件以使用 KCacheGrind 或在我的情况下为 MacCallGrind 打开。我可以在脚本调用中添加格式吗?
编辑:通过 rake test 运行脚本似乎实际上产生了一个树文件,太好了。然而,Mac CallGrind 在尝试解析它时似乎挂起。有人知道查看这些树文件的其他工具吗?