5

如何分析在 apache 上的 mod_wsgi 上运行的 python 脚本

我想使用 cProfile 但它似乎需要我手动调用一个函数。有没有办法全局启用 cProfile 并让它继续记录结果。

4

2 回答 2

9

您需要将 wsgi 应用程序函数包装在另一个函数中,该函数只使用 cProfile 调用您的函数并将其用作应用程序。或者您可以重用现有的 WSGI 中间件来为您执行此操作,例如repoze.profile几乎可以满足您的需求。

于 2009-07-23T06:16:45.163 回答
0

这是WHIFF的 WSGI 配置文件中间件(目前只能从 mercurial 存储库中获得): profile.py。那应该让你开始。如果您想修改它以在 WHIFF 上下文之外运行,请更改该行

 gateway.putResource(env, resourcePath, report)

类似于

 file("/tmp/profile.txt", "w").write(report)
于 2009-07-24T13:49:57.390 回答