asyncio: sync with Tulip

* Tulip issue #182: Improve logs of BaseEventLoop._run_once()

  - Don't log non-blocking poll
  - Only log polling with a timeout if it gets events or if it timed out after
    more than 1 second.

* Fix some pyflakes warnings: remove unused imports
This commit is contained in:
Victor Stinner 2014-07-11 11:58:33 +02:00
parent 3740d589f7
commit 770e48d017
6 changed files with 20 additions and 16 deletions

View file

@ -882,19 +882,26 @@ class BaseEventLoop(events.AbstractEventLoop):
when = self._scheduled[0]._when
timeout = max(0, when - self.time())
if self._debug:
if self._debug and timeout != 0:
t0 = self.time()
event_list = self._selector.select(timeout)
dt = self.time() - t0
if dt >= 1:
if dt >= 1.0:
level = logging.INFO
else:
level = logging.DEBUG
if timeout is not None:
logger.log(level, 'poll %.3f took %.3f seconds',
timeout, dt)
else:
logger.log(level, 'poll took %.3f seconds', dt)
nevent = len(event_list)
if timeout is None:
logger.log(level, 'poll took %.3f ms: %s events',
dt * 1e3, nevent)
elif nevent:
logger.log(level,
'poll %.3f ms took %.3f ms: %s events',
timeout * 1e3, dt * 1e3, nevent)
elif dt >= 1.0:
logger.log(level,
'poll %.3f ms took %.3f ms: timeout',
timeout * 1e3, dt * 1e3)
else:
event_list = self._selector.select(timeout)
self._process_events(event_list)

View file

@ -14,7 +14,6 @@ from . import coroutines
from . import events
from . import futures
from . import protocols
from . import tasks
from .coroutines import coroutine

View file

@ -18,7 +18,6 @@ from . import coroutines
from . import events
from . import futures
from .coroutines import coroutine
from .log import logger
_PY34 = (sys.version_info >= (3, 4))