2011-11-21 66 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