diff mercurial/profiling.py @ 43077:687b865b95ad

formatting: byteify all mercurial/ and hgext/ string literals Done with python3.7 contrib/byteify-strings.py -i $(hg files 'set:mercurial/**.py - mercurial/thirdparty/** + hgext/**.py - hgext/fsmonitor/pywatchman/** - mercurial/__init__.py') black -l 80 -t py33 -S $(hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**') # skip-blame mass-reformatting only Differential Revision: https://phab.mercurial-scm.org/D6972
author Augie Fackler <augie@google.com>
date Sun, 06 Oct 2019 09:48:39 -0400
parents 2372284d9457
children eef9a2d67051
line wrap: on
line diff
--- a/mercurial/profiling.py	Sun Oct 06 09:45:02 2019 -0400
+++ b/mercurial/profiling.py	Sun Oct 06 09:48:39 2019 -0400
@@ -33,22 +33,24 @@
 
 @contextlib.contextmanager
 def lsprofile(ui, fp):
-    format = ui.config('profiling', 'format')
-    field = ui.config('profiling', 'sort')
-    limit = ui.configint('profiling', 'limit')
-    climit = ui.configint('profiling', 'nested')
+    format = ui.config(b'profiling', b'format')
+    field = ui.config(b'profiling', b'sort')
+    limit = ui.configint(b'profiling', b'limit')
+    climit = ui.configint(b'profiling', b'nested')
 
-    if format not in ['text', 'kcachegrind']:
-        ui.warn(_("unrecognized profiling format '%s'" " - Ignored\n") % format)
-        format = 'text'
+    if format not in [b'text', b'kcachegrind']:
+        ui.warn(
+            _(b"unrecognized profiling format '%s'" b" - Ignored\n") % format
+        )
+        format = b'text'
 
     try:
         from . import lsprof
     except ImportError:
         raise error.Abort(
             _(
-                'lsprof not available - install from '
-                'http://codespeak.net/svn/user/arigo/hack/misc/lsprof/'
+                b'lsprof not available - install from '
+                b'http://codespeak.net/svn/user/arigo/hack/misc/lsprof/'
             )
         )
     p = lsprof.Profiler()
@@ -58,7 +60,7 @@
     finally:
         p.disable()
 
-        if format == 'kcachegrind':
+        if format == b'kcachegrind':
             from . import lsprofcalltree
 
             calltree = lsprofcalltree.KCacheGrind(p)
@@ -77,12 +79,12 @@
     except ImportError:
         raise error.Abort(
             _(
-                'flamegraph not available - install from '
-                'https://github.com/evanhempel/python-flamegraph'
+                b'flamegraph not available - install from '
+                b'https://github.com/evanhempel/python-flamegraph'
             )
         )
     # developer config: profiling.freq
-    freq = ui.configint('profiling', 'freq')
+    freq = ui.configint(b'profiling', b'freq')
     filter_ = None
     collapse_recursion = True
     thread = flamegraph.ProfileThread(
@@ -96,7 +98,7 @@
         thread.stop()
         thread.join()
         print(
-            'Collected %d stack frames (%d unique) in %2.2f seconds.'
+            b'Collected %d stack frames (%d unique) in %2.2f seconds.'
             % (
                 util.timer() - start_time,
                 thread.num_frames(),
@@ -109,38 +111,38 @@
 def statprofile(ui, fp):
     from . import statprof
 
-    freq = ui.configint('profiling', 'freq')
+    freq = ui.configint(b'profiling', b'freq')
     if freq > 0:
         # Cannot reset when profiler is already active. So silently no-op.
         if statprof.state.profile_level == 0:
             statprof.reset(freq)
     else:
-        ui.warn(_("invalid sampling frequency '%s' - ignoring\n") % freq)
+        ui.warn(_(b"invalid sampling frequency '%s' - ignoring\n") % freq)
 
     track = ui.config(
-        'profiling', 'time-track', pycompat.iswindows and 'cpu' or 'real'
+        b'profiling', b'time-track', pycompat.iswindows and b'cpu' or b'real'
     )
-    statprof.start(mechanism='thread', track=track)
+    statprof.start(mechanism=b'thread', track=track)
 
     try:
         yield
     finally:
         data = statprof.stop()
 
-        profformat = ui.config('profiling', 'statformat')
+        profformat = ui.config(b'profiling', b'statformat')
 
         formats = {
-            'byline': statprof.DisplayFormats.ByLine,
-            'bymethod': statprof.DisplayFormats.ByMethod,
-            'hotpath': statprof.DisplayFormats.Hotpath,
-            'json': statprof.DisplayFormats.Json,
-            'chrome': statprof.DisplayFormats.Chrome,
+            b'byline': statprof.DisplayFormats.ByLine,
+            b'bymethod': statprof.DisplayFormats.ByMethod,
+            b'hotpath': statprof.DisplayFormats.Hotpath,
+            b'json': statprof.DisplayFormats.Json,
+            b'chrome': statprof.DisplayFormats.Chrome,
         }
 
         if profformat in formats:
             displayformat = formats[profformat]
         else:
-            ui.warn(_('unknown profiler output format: %s\n') % profformat)
+            ui.warn(_(b'unknown profiler output format: %s\n') % profformat)
             displayformat = statprof.DisplayFormats.Hotpath
 
         kwargs = {}
@@ -148,7 +150,7 @@
         def fraction(s):
             if isinstance(s, (float, int)):
                 return float(s)
-            if s.endswith('%'):
+            if s.endswith(b'%'):
                 v = float(s[:-1]) / 100
             else:
                 v = float(s)
@@ -156,15 +158,15 @@
                 return v
             raise ValueError(s)
 
-        if profformat == 'chrome':
-            showmin = ui.configwith(fraction, 'profiling', 'showmin', 0.005)
-            showmax = ui.configwith(fraction, 'profiling', 'showmax')
+        if profformat == b'chrome':
+            showmin = ui.configwith(fraction, b'profiling', b'showmin', 0.005)
+            showmax = ui.configwith(fraction, b'profiling', b'showmax')
             kwargs.update(minthreshold=showmin, maxthreshold=showmax)
-        elif profformat == 'hotpath':
+        elif profformat == b'hotpath':
             # inconsistent config: profiling.showmin
-            limit = ui.configwith(fraction, 'profiling', 'showmin', 0.05)
+            limit = ui.configwith(fraction, b'profiling', b'showmin', 0.05)
             kwargs[r'limit'] = limit
-            showtime = ui.configbool('profiling', 'showtime')
+            showtime = ui.configbool(b'profiling', b'showtime')
             kwargs[r'showtime'] = showtime
 
         statprof.display(fp, data=data, format=displayformat, **kwargs)
@@ -204,27 +206,27 @@
         if self._started:
             return
         self._started = True
-        profiler = encoding.environ.get('HGPROF')
+        profiler = encoding.environ.get(b'HGPROF')
         proffn = None
         if profiler is None:
-            profiler = self._ui.config('profiling', 'type')
-        if profiler not in ('ls', 'stat', 'flame'):
+            profiler = self._ui.config(b'profiling', b'type')
+        if profiler not in (b'ls', b'stat', b'flame'):
             # try load profiler from extension with the same name
             proffn = _loadprofiler(self._ui, profiler)
             if proffn is None:
                 self._ui.warn(
-                    _("unrecognized profiler '%s' - ignored\n") % profiler
+                    _(b"unrecognized profiler '%s' - ignored\n") % profiler
                 )
-                profiler = 'stat'
+                profiler = b'stat'
 
-        self._output = self._ui.config('profiling', 'output')
+        self._output = self._ui.config(b'profiling', b'output')
 
         try:
-            if self._output == 'blackbox':
+            if self._output == b'blackbox':
                 self._fp = util.stringio()
             elif self._output:
                 path = self._ui.expandpath(self._output)
-                self._fp = open(path, 'wb')
+                self._fp = open(path, b'wb')
             elif pycompat.iswindows:
                 # parse escape sequence by win32print()
                 class uifp(object):
@@ -245,9 +247,9 @@
 
             if proffn is not None:
                 pass
-            elif profiler == 'ls':
+            elif profiler == b'ls':
                 proffn = lsprofile
-            elif profiler == 'flame':
+            elif profiler == b'flame':
                 proffn = flameprofile
             else:
                 proffn = statprofile
@@ -264,12 +266,12 @@
             propagate = self._profiler.__exit__(
                 exception_type, exception_value, traceback
             )
-            if self._output == 'blackbox':
-                val = 'Profile:\n%s' % self._fp.getvalue()
+            if self._output == b'blackbox':
+                val = b'Profile:\n%s' % self._fp.getvalue()
                 # ui.log treats the input as a format string,
                 # so we need to escape any % signs.
-                val = val.replace('%', '%%')
-                self._ui.log('profile', val)
+                val = val.replace(b'%', b'%%')
+                self._ui.log(b'profile', val)
         self._closefp()
         return propagate