2011-11-21 92 views
6

我從來沒有在Python中完成代碼覆蓋,但我正在尋找類似GCCgcov,它告訴我每行執行多少次,或者Apple的鯊魚給出了每個函數使用多長時間的層次分解。分析活Django服務器?

我的問題是,我有一個正在經歷高負載的活服務器,並且我無法從日誌中知道是什麼導致它。我想附加一些東西給我的Django實例來監視哪些行是最熱的和/或哪些函數花費的時間最長。

這是類似的,但不完全是代碼覆蓋率。我想介紹它到一個實時運行的服務器,最好不要修改太多。

想法?

回答

2
+1

如何將cProfile附加到正在運行的Django進程? – Joe

+0

您無法將分析器附加到正在運行的進程。你需要從'cProfile.py'啓動django進程:http://docs.python.org/library/profile.html#instant-user-s-manual – catavaran

+0

是的,答案是擺弄我的啓動腳本,並把這在英寸不是非常干擾。謝謝! – Joe

1

我用這個模式:一個監控線程寫入蹤跡日誌文件每0.3秒。幾個小時後,我可以看到解釋者花費最多的時間。它不會減慢我的服務器:

Live Profiling of Python Server