# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1560380497 14400
#      Wed Jun 12 19:01:37 2019 -0400
# 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 @@
 _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