diff mercurial/hg.py @ 39507:a5d6bf6032fb

extensions: add timing for extensions reposetup Differential Revision: https://phab.mercurial-scm.org/D4509
author Boris Feld <boris.feld@octobus.net>
date Mon, 10 Sep 2018 19:36:25 -0700
parents ddfd80029306
children 340170192874
line wrap: on
line diff
--- a/mercurial/hg.py	Fri Sep 07 11:18:45 2018 -0400
+++ b/mercurial/hg.py	Mon Sep 10 19:36:25 2018 -0700
@@ -9,7 +9,6 @@
 from __future__ import absolute_import
 
 import errno
-import functools
 import hashlib
 import os
 import shutil
@@ -164,8 +163,8 @@
     obj = _peerlookup(path).instance(ui, path, create, intents=intents)
     ui = getattr(obj, "ui", ui)
     if ui.configbool('devel', 'debug.extensions'):
-        log = functools.partial(
-            ui.debug, 'debug.extensions: ', label='debug.extensions')
+        log = lambda msg, *values: ui.debug('debug.extensions: ',
+            msg % values, label='debug.extensions')
     else:
         log = lambda *a, **kw: None
     for f in presetupfuncs or []:
@@ -175,7 +174,9 @@
         log('  - running reposetup for %s\n' % (name,))
         hook = getattr(module, 'reposetup', None)
         if hook:
-            hook(ui, obj)
+            with util.timedcm('reposetup %r', name) as stats:
+                hook(ui, obj)
+            log('  > reposetup for %r took %s\n', name, stats)
     if not obj.local():
         for f in wirepeersetupfuncs:
             f(ui, obj)