0

我正在运行 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 在尝试解析它时似乎挂起。有人知道查看这些树文件的其他工具吗?

4

2 回答 2

1

事实证明,完全一样,我一定是在阅读旧教程。现在所有的基准测试和分析都在 Rails 中,这太棒了。它输出 txt、html 和树文件,也很棒。现在,如果只有 MacCallGrind 可以工作,我就无法安装仅查看树文件所需的 4gb KDE 包。

于 2009-04-28T16:19:12.763 回答
1

布拉德,你应该联系 MacCallGrind 的作者,看看是否有更新,或者他/她是否对你的文件进行了修复。

哦对了,就是我。请通过 symbol aggmedia.net 向 Richard 发送电子邮件,因为即将发布更新,我希望能够获得 Ruby/Rails 支持。

于 2009-05-27T12:13:37.170 回答