mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
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:
parent
81c8d3b7b6
commit
2fdfd87513
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user