profile: drop maybeprofile

It seems sufficiently simple to use "profile(enabled=X)" to not justify having
a dedicated context manager just to read the config.

(I do not have a too strong opinion about this).
This commit is contained in:
Pierre-Yves David 2017-06-09 12:29:29 +01:00
parent 81c8d3b7b6
commit 2fdfd87513
4 changed files with 6 additions and 17 deletions

View File

@ -764,7 +764,8 @@ def _dispatch(req):
for ui_ in uis:
ui_.setconfig('profiling', 'enabled', 'true', '--profile')
with profiling.maybeprofile(lui) as profiler:
profile = lui.configbool('profiling', 'enabled')
with profiling.profile(lui, enabled=profile) as profiler:
# Configure extensions in phases: uisetup, extsetup, cmdtable, and
# reposetup. Programs like TortoiseHg will call _dispatch several
# times so we keep track of configured extensions in _loaded.

View File

@ -311,7 +311,8 @@ class hgweb(object):
should be using instances of this class as the WSGI application.
"""
with self._obtainrepo() as repo:
with profiling.maybeprofile(repo.ui):
profile = repo.ui.configbool('profiling', 'enabled')
with profiling.profile(repo.ui, enabled=profile):
for r in self._runwsgi(req, repo):
yield r

View File

@ -220,7 +220,8 @@ class hgwebdir(object):
return False
def run_wsgi(self, req):
with profiling.maybeprofile(self.ui):
profile = self.ui.configbool('profiling', 'enabled')
with profiling.profile(self.ui, enabled=profile):
for r in self._runwsgi(req):
yield r

View File

@ -219,17 +219,3 @@ class profile(object):
val = val.replace('%', '%%')
self._ui.log('profile', val)
self._fp.close()
@contextlib.contextmanager
def maybeprofile(ui):
"""Profile if enabled, else do nothing.
This context manager can be used to optionally profile if profiling
is enabled. Otherwise, it does nothing.
The purpose of this context manager is to make calling code simpler:
just use a single code path for calling into code you may want to profile
and this function determines whether to start profiling.
"""
with profile(ui, enabled=ui.configbool('profiling', 'enabled')) as p:
yield p