2009-04-17 32 views
0

我正在運行Rails 2.2.2。我讀過一些關於ruby-prof和剖析rails應用程序的文章。而且我很困惑事情是如何運作的。rails ruby​​-prof和基準測試

我最初使用本教程 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實際上被稱爲任何地方。

於是我繼續讀下去,而且似乎已經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測試運行腳本似乎實際上產生一個樹形文件,很好。 Mac CallGrind似乎在嘗試解析時會掛起。任何人都知道其他工具來查看這些樹文件?

回答

1

原來,這完全一樣,我一定是在讀老教程。所有的基準測試和性能分析現在都在Rails中了,非常棒。它輸出txt,html和樹文件,也很棒。現在,如果只有MacCallGrind可以工作,那麼我就不能安裝需要查看樹文件的4GB KDE軟件包。

1

布拉德,你應該聯繫MacCallGrind的作者,看看有沒有更新,或者他/她是否有修復你的文件。

哦,沒錯,就是我。請發送電子郵件至richard,地址爲aggmedia.net,因爲有更新即將推出,我很樂意提供Ruby/Rails支持。