[PATCH 1 of 2] profiling: add config option for enabling profiling
Durham Goode
durham at fb.com
Mon Sep 7 19:11:15 UTC 2015
# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1441650940 25200
# Mon Sep 07 11:35:40 2015 -0700
# Node ID 2cd61d6e66c1034c97b7095fdf1d7908dd437b26
# Parent 9a9e7437460958362bf2637f145184a31332e78d
profiling: add config option for enabling profiling
Previously you could only enable profiling via the --profile option. This is
awkward when trying to debug a server side operation. Let's add a config option
to enable profiling.
In the future, this could be extended to allow profiling a certain percentage of
operations (and potentially reporting that information to an external service).
diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -1001,13 +1001,17 @@ def statprofile(ui, func, fp):
statprof.display(fp)
def _runcommand(ui, options, cmd, cmdfunc):
+ """Enables the profiler if applicable.
+
+ ``profiling.enabled`` - boolean config that enables or disables profiling
+ """
def checkargs():
try:
return cmdfunc()
except error.SignatureError:
raise error.CommandError(cmd, _("invalid arguments"))
- if options['profile']:
+ if options['profile'] or ui.configbool('profiling', 'enabled'):
profiler = os.getenv('HGPROF')
if profiler is None:
profiler = ui.config('profiling', 'type', default='ls')
More information about the Mercurial-devel
mailing list