如何在Tornado应用程序中检测长阻塞功能

时间:2014-10-29 18:40:19

标签: python profiling tornado

我有一个Tornado应用程序,有时会有人添加阻止不适当时间的代码。

如何检测这些函数,甚至可以记录哪个处理程序/协同程序方法阻塞的时间超过50毫秒?

我正在查看_make_coroutine_wrapper()中的tornado.gen,除了修改源代码之外没有办法切入,这对于一次性调试来说是好的,但是在那里更好的方法?

1 个答案:

答案 0 :(得分:17)

您可以使用IOLoop.set_blocking_log_threshold方法。只要IOLoop被阻止超过50毫秒,set_blocking_log_threshold(0.050)就会打印堆栈跟踪。