Skip to content

Commit f3491a3

Browse files
authored
Switch all of the fine-grained debug logging to use manager.log (#4550)
Some parts are still explicitly gated by an options.verbosity check because the messages might be somewhat expensive to compute.
1 parent 4352a44 commit f3491a3

File tree

1 file changed

+23
-32
lines changed

1 file changed

+23
-32
lines changed

mypy/server/update.py

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,6 @@
143143
from mypy.server.trigger import make_trigger
144144

145145

146-
# If True, print out debug logging output.
147-
DEBUG = False
148-
149-
150146
MAX_ITER = 1000
151147

152148

@@ -205,25 +201,23 @@ def update(self, changed_modules: List[Tuple[str, str]]) -> List[str]:
205201
self.triggered = []
206202
changed_modules = dedupe_modules(changed_modules + self.stale)
207203
initial_set = {id for id, _ in changed_modules}
208-
if DEBUG:
209-
print('==== update %s ====' % ', '.join(repr(id)
210-
for id, _ in changed_modules))
211-
if self.previous_targets_with_errors:
212-
print('previous targets with errors: %s' %
213-
sorted(self.previous_targets_with_errors))
204+
self.manager.log('fine-grained: ==== update %s ====' % ', '.join(
205+
repr(id) for id, _ in changed_modules))
206+
if self.previous_targets_with_errors and self.options.verbosity >= 1:
207+
self.manager.log('fine-grained: previous targets with errors: %s' %
208+
sorted(self.previous_targets_with_errors))
214209

215210
if self.blocking_error:
216211
# Handle blocking errors first. We'll exit as soon as we find a
217212
# module that still has blocking errors.
218-
if DEBUG:
219-
print('existing blocker: %s' % self.blocking_error[0])
213+
self.manager.log('fine-grained: existing blocker: %s' % self.blocking_error[0])
220214
changed_modules = dedupe_modules([self.blocking_error] + changed_modules)
221215
self.blocking_error = None
222216

223217
while changed_modules:
224218
next_id, next_path = changed_modules.pop(0)
225219
if next_id not in self.previous_modules and next_id not in initial_set:
226-
print('skip %r (module not in import graph)' % next_id)
220+
self.manager.log('fine-grained: skip %r (module not in import graph)' % next_id)
227221
continue
228222
result = self.update_single(next_id, next_path)
229223
messages, remaining, (next_id, next_path), blocker = result
@@ -254,8 +248,7 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
254248
- Module which was actually processed as (id, path) tuple
255249
- Whether there was a blocking error in the module
256250
"""
257-
if DEBUG:
258-
print('--- update single %r ---' % module)
251+
self.manager.log('fine-grained: --- update single %r ---' % module)
259252

260253
# TODO: If new module brings in other modules, we parse some files multiple times.
261254
manager = self.manager
@@ -279,10 +272,10 @@ def update_single(self, module: str, path: str) -> Tuple[List[str],
279272

280273
# TODO: What to do with stale dependencies?
281274
triggered = calculate_active_triggers(manager, old_snapshots, {module: tree})
282-
if DEBUG:
275+
if self.options.verbosity >= 1:
283276
filtered = [trigger for trigger in triggered
284277
if not trigger.endswith('__>')]
285-
print('triggered:', sorted(filtered))
278+
self.manager.log('fine-grained: triggered: %r' % sorted(filtered))
286279
self.triggered.extend(triggered | self.previous_targets_with_errors)
287280
collect_dependencies({module: tree}, self.deps, graph)
288281
remaining += propagate_changes_using_dependencies(
@@ -373,8 +366,8 @@ def update_single_isolated(module: str,
373366
"""
374367
if module in manager.modules:
375368
assert_equivalent_paths(path, manager.modules[module].path)
376-
elif DEBUG:
377-
print('new module %r' % module)
369+
else:
370+
manager.log('fine-grained: new module %r' % module)
378371

379372
old_modules = dict(manager.modules)
380373
sources = get_sources(previous_modules, [(module, path)])
@@ -418,8 +411,7 @@ def update_single_isolated(module: str,
418411
else:
419412
del manager.modules[id]
420413
del graph[id]
421-
if DEBUG:
422-
print('--> %r (newly imported)' % module)
414+
manager.log('fine-grained: --> %r (newly imported)' % module)
423415
else:
424416
remaining_modules = []
425417

@@ -493,8 +485,7 @@ def assert_equivalent_paths(path1: str, path2: str) -> None:
493485
def delete_module(module_id: str,
494486
graph: Dict[str, State],
495487
manager: BuildManager) -> Dict[str, State]:
496-
if DEBUG:
497-
print('delete module %r' % module_id)
488+
manager.log('fine-grained: delete module %r' % module_id)
498489
# TODO: Deletion of a package
499490
# TODO: Remove deps for the module (this only affects memory use, not correctness)
500491
assert module_id not in graph
@@ -735,16 +726,16 @@ def propagate_changes_using_dependencies(
735726
if num_iter > MAX_ITER:
736727
raise RuntimeError('Max number of iterations (%d) reached (endless loop?)' % MAX_ITER)
737728

738-
todo = find_targets_recursive(triggered, deps, manager.modules, up_to_date_modules)
729+
todo = find_targets_recursive(manager, triggered, deps,
730+
manager.modules, up_to_date_modules)
739731
# Also process targets that used to have errors, as otherwise some
740732
# errors might be lost.
741733
for target in targets_with_errors:
742734
id = module_prefix(manager.modules, target)
743735
if id is not None and id not in up_to_date_modules:
744736
if id not in todo:
745737
todo[id] = set()
746-
if DEBUG:
747-
print('process', target)
738+
manager.log('fine-grained: process: %s' % target)
748739
todo[id].update(lookup_target(manager.modules, target))
749740
triggered = set()
750741
# TODO: Preserve order (set is not optimal)
@@ -762,13 +753,14 @@ def propagate_changes_using_dependencies(
762753
# dependency loop that loops back to an originally processed module.
763754
up_to_date_modules = set()
764755
targets_with_errors = set()
765-
if DEBUG:
766-
print('triggered:', list(triggered))
756+
if manager.options.verbosity >= 1:
757+
manager.log('fine-grained: triggered: %r' % list(triggered))
767758

768759
return remaining_modules
769760

770761

771762
def find_targets_recursive(
763+
manager: BuildManager,
772764
triggers: Set[str],
773765
deps: Dict[str, Set[str]],
774766
modules: Dict[str, MypyFile],
@@ -801,8 +793,7 @@ def find_targets_recursive(
801793
continue
802794
if module_id not in result:
803795
result[module_id] = set()
804-
if DEBUG:
805-
print('process', target)
796+
manager.log('fine-grained: process %s' % target)
806797
deferred = lookup_target(modules, target)
807798
result[module_id].update(deferred)
808799

@@ -819,8 +810,8 @@ def reprocess_nodes(manager: BuildManager,
819810
Return fired triggers.
820811
"""
821812
if module_id not in manager.saved_cache or module_id not in graph:
822-
if DEBUG:
823-
print('%s not in saved cache or graph (blocking errors or deleted?)' % module_id)
813+
manager.log('fine-grained: %s not in saved cache or graph (blocking errors or deleted?)' %
814+
module_id)
824815
return set()
825816

826817
file_node = manager.modules[module_id]

0 commit comments

Comments
 (0)