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
--- 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