# HG changeset patch # User Augie Fackler # Date 2019-06-12 23:01:37 # Node ID d0b8a3cfd7329dbd83ca7f172374986c1a0a204b # Parent ff562d711919feea82cd41d3eb85165bd4b57bfd tracing: extract tracing-active logic to separate function I'm about to add support for counters, and want to avoid duplicating this logic. Differential Revision: https://phab.mercurial-scm.org/D6525 diff --git a/hgdemandimport/tracing.py b/hgdemandimport/tracing.py --- a/hgdemandimport/tracing.py +++ b/hgdemandimport/tracing.py @@ -13,19 +13,23 @@ import os _pipe = None _checked = False -@contextlib.contextmanager -def log(whencefmt, *whenceargs): +def _isactive(): global _pipe, _session, _checked if _pipe is None: if _checked: - yield - return + return False _checked = True if 'HGCATAPULTSERVERPIPE' not in os.environ: - yield - return + return False _pipe = open(os.environ['HGCATAPULTSERVERPIPE'], 'w', 1) _session = os.environ.get('HGCATAPULTSESSION', 'none') + return True + +@contextlib.contextmanager +def log(whencefmt, *whenceargs): + if not _isactive(): + yield + return whence = whencefmt % whenceargs try: # Both writes to the pipe are wrapped in try/except to ignore