diff options
author | Antoine Pitrou <pitrou@free.fr> | 2017-11-07 16:50:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-07 16:50:48 (GMT) |
commit | d8d218ffda6b7569625ff9edadbbc9a2b1055e32 (patch) | |
tree | 1c0346361bddaaf5febd26429f0464ee94b1a237 /Lib/asyncio/coroutines.py | |
parent | 518c6b97868d9c665475a40567b0aa417afad607 (diff) | |
download | cpython-d8d218ffda6b7569625ff9edadbbc9a2b1055e32.zip cpython-d8d218ffda6b7569625ff9edadbbc9a2b1055e32.tar.gz cpython-d8d218ffda6b7569625ff9edadbbc9a2b1055e32.tar.bz2 |
[3.6] bpo-31970: Reduce performance overhead of asyncio debug mode. (GH-4314) (#4322)
* bpo-31970: Reduce performance overhead of asyncio debug mode..
(cherry picked from commit 921e9432a1461bbf312c9c6dcc2b916be6c05fa0)
Diffstat (limited to 'Lib/asyncio/coroutines.py')
-rw-r--r-- | Lib/asyncio/coroutines.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/asyncio/coroutines.py b/Lib/asyncio/coroutines.py index b2adaad..520a309 100644 --- a/Lib/asyncio/coroutines.py +++ b/Lib/asyncio/coroutines.py @@ -10,6 +10,7 @@ import traceback import types from . import compat +from . import constants from . import events from . import base_futures from .log import logger @@ -91,7 +92,7 @@ class CoroWrapper: assert inspect.isgenerator(gen) or inspect.iscoroutine(gen), gen self.gen = gen self.func = func # Used to unwrap @coroutine decorator - self._source_traceback = traceback.extract_stack(sys._getframe(1)) + self._source_traceback = events.extract_stack(sys._getframe(1)) self.__name__ = getattr(gen, '__name__', None) self.__qualname__ = getattr(gen, '__qualname__', None) @@ -183,8 +184,9 @@ class CoroWrapper: tb = getattr(self, '_source_traceback', ()) if tb: tb = ''.join(traceback.format_list(tb)) - msg += ('\nCoroutine object created at ' - '(most recent call last):\n') + msg += (f'\nCoroutine object created at ' + f'(most recent call last, truncated to ' + f'{constants.DEBUG_STACK_DEPTH} last lines):\n') msg += tb.rstrip() logger.error(msg) |