tracing: extract tracing-active logic to separate function
authorAugie Fackler <augie@google.com>
Wed, 12 Jun 2019 19:01:37 -0400
changeset 42476 d0b8a3cfd732
parent 42475 ff562d711919
child 42477 e658ac39fe41
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
hgdemandimport/tracing.py
--- a/hgdemandimport/tracing.py	Wed Jun 12 19:00:46 2019 -0400
+++ b/hgdemandimport/tracing.py	Wed Jun 12 19:01:37 2019 -0400
@@ -13,19 +13,23 @@
 _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