Skip to content
Snippets Groups Projects
Commit adb63639 authored by Augie Fackler's avatar Augie Fackler
Browse files

demandimport: add tracing coverage for Python 3

This makes things feel a little less mysterious when modules are being
imported.

Differential Revision: https://phab.mercurial-scm.org/D6523
parent 307f67d4
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,8 @@
import importlib.util
import sys
from . import tracing
_deactivated = False
class _lazyloaderex(importlib.util.LazyLoader):
......@@ -40,10 +42,11 @@
"""
def exec_module(self, module):
"""Make the module load lazily."""
if _deactivated or module.__name__ in ignores:
self.loader.exec_module(module)
else:
super().exec_module(module)
with tracing.log('demandimport %s', module):
if _deactivated or module.__name__ in ignores:
self.loader.exec_module(module)
else:
super().exec_module(module)
# This is 3.6+ because with Python 3.5 it isn't possible to lazily load
# extensions. See the discussion in https://bugs.python.org/issue26186 for more.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment