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

Vic*_*nko 5 python profiling tornado

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

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

我在看_make_coroutine_wrapper()tornado.gen,看不到的方式,来削减除了修改源-这是确定的一次性调试,但有没有更好的办法?

Ben*_*ell 17

您可以使用IOLoop.set_blocking_log_threshold方法.set_blocking_log_threshold(0.050)每当IOLoop被阻止超过50ms时,都会打印堆栈跟踪.