# HG changeset patch # User Augie Fackler # Date 1534886015 14400 # Node ID 497effb0a04a7e413e8f3e58391e2f655df45c4e # Parent 574e1d3bc667c4c5f461853f8cc9aecfb7066a0d util: make timedcm context manager also emit trace events Differential Revision: https://phab.mercurial-scm.org/D4348 diff -r 574e1d3bc667 -r 497effb0a04a mercurial/util.py --- 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