用于监视和测试异步程序的小型库
aiodebug的Python项目详细描述
这是一个用于监视和测试异步程序的小型库。 它的监控功能应该在生产中一直处于启用状态。
如果安装了aiodebug,它将使用logwood,否则它将默认 到标准日志模块。
aiodebug只在python 3.5中测试。目前还没有支持旧版本的计划。
当回调阻止事件循环时记录警告
aiodebug.log_slow_callbacks.enable(0.05)
这将生成警告级别日志,如
Executing <Task pending coro=<foo() running at /home/.../foo.py:37> wait_for=<Future pending cb=[Task._wakeup()]>> took 0.069 seconds
Asyncio已经在调试模式下执行了此操作,但您可能不希望在生产中启用完全调试模式。
在STATSD中跟踪事件循环滞后
aiodebug.monitor_loop_lag.enable(statsd_client)
跟踪计划呼叫延迟的时间并将延迟发送到STATSD:
事件循环中的加速或减速时间
这主要用于测试。
loop=aiodebug.testing.time_dilated_loop.TimeDilatedLoop()asyncio.set_event_loop(loop)loop.time_dilation=3awaitasyncio.sleep(1)# Takes 0.333s of real timeloop.time_dilation=0.1awaitasyncio.sleep(1)# Takes 10s of real time