Mercurial > hg
diff mercurial/util.py @ 39257:497effb0a04a
util: make timedcm context manager also emit trace events
Differential Revision: https://phab.mercurial-scm.org/D4348
author | Augie Fackler <augie@google.com> |
---|---|
date | Tue, 21 Aug 2018 17:13:35 -0400 |
parents | 1af95139e5ec |
children | 331ab85e910b |
line wrap: on
line diff
--- a/mercurial/util.py Tue Aug 21 15:27:30 2018 -0400 +++ b/mercurial/util.py Tue Aug 21 17:13:35 2018 -0400 @@ -36,6 +36,7 @@ import warnings import zlib +from hgdemandimport import tracing from .thirdparty import ( attr, ) @@ -2896,7 +2897,7 @@ __str__ = encoding.strmethod(__bytes__) @contextlib.contextmanager -def timedcm(): +def timedcm(whencefmt='unknown timedcm', *whenceargs): """A context manager that produces timing information for a given context. On entering a timedcmstats instance is produced. @@ -2908,7 +2909,8 @@ timedcm._nested += 1 timing_stats = timedcmstats(level=timedcm._nested) try: - yield timing_stats + with tracing.log(whencefmt, *whenceargs): + yield timing_stats finally: timing_stats.elapsed = timer() - timing_stats.start timedcm._nested -= 1