2014-10-29 15 views
5

Tôi có một ứng dụng Tornado và đôi khi ai đó thêm mã để chặn thời gian không thích hợp.Làm cách nào để phát hiện các chức năng chặn dài trong ứng dụng Tornado

Làm cách nào để phát hiện các chức năng như vậy, thậm chí có thể ghi lại các khối xử lý/phương pháp coroutine trong một khoảng thời gian dài hơn 50ms?

Tôi đang xem _make_coroutine_wrapper() trong tornado.gen và không thấy cách nào để cắt, ngoại trừ sửa đổi nguồn - điều này là ok để gỡ lỗi một lần, nhưng có cách nào tốt hơn không?

Trả lời

17

Bạn có thể sử dụng phương thức IOLoop.set_blocking_log_threshold. set_blocking_log_threshold(0.050) sẽ in theo dõi ngăn xếp bất kỳ lúc nào IOLoop bị chặn lâu hơn 50 mili giây.

+0

Cảm ơn bạn. Cảm thấy rất ngu ngốc bây giờ. –

Các vấn đề liên quan