Patchwork D6525: tracing: extract tracing-active logic to separate function

login
register
mail settings
Submitter phabricator
Date June 13, 2019, 2:17 a.m.
Message ID <differential-rev-PHID-DREV-pwqrojybfo4zrzw5x4i4-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/40467/
State Superseded
Headers show

Comments

phabricator - June 13, 2019, 2:17 a.m.
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  I'm about to add support for counters, and want to avoid duplicating this
  logic.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6525

AFFECTED FILES
  hgdemandimport/tracing.py

CHANGE DETAILS




To: durin42, #hg-reviewers
Cc: mercurial-devel

Patch

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