##// END OF EJS Templates
hgweb: profile HTTP requests...
Gregory Szorc -
r29787:80df0426 default
parent child Browse files
Show More
@@ -28,6 +28,7 b' from .. import ('
28 error,
28 error,
29 hg,
29 hg,
30 hook,
30 hook,
31 profiling,
31 repoview,
32 repoview,
32 templatefilters,
33 templatefilters,
33 templater,
34 templater,
@@ -305,8 +306,9 b' class hgweb(object):'
305 should be using instances of this class as the WSGI application.
306 should be using instances of this class as the WSGI application.
306 """
307 """
307 with self._obtainrepo() as repo:
308 with self._obtainrepo() as repo:
308 for r in self._runwsgi(req, repo):
309 with profiling.maybeprofile(repo.ui):
309 yield r
310 for r in self._runwsgi(req, repo):
311 yield r
310
312
311 def _runwsgi(self, req, repo):
313 def _runwsgi(self, req, repo):
312 rctx = requestcontext(self, repo)
314 rctx = requestcontext(self, repo)
@@ -31,6 +31,7 b' from .. import ('
31 encoding,
31 encoding,
32 error,
32 error,
33 hg,
33 hg,
34 profiling,
34 scmutil,
35 scmutil,
35 templater,
36 templater,
36 ui as uimod,
37 ui as uimod,
@@ -217,7 +218,9 b' class hgwebdir(object):'
217 return False
218 return False
218
219
219 def run_wsgi(self, req):
220 def run_wsgi(self, req):
220 return self._runwsgi(req)
221 with profiling.maybeprofile(self.ui):
222 for r in self._runwsgi(req):
223 yield r
221
224
222 def _runwsgi(self, req):
225 def _runwsgi(self, req):
223 try:
226 try:
@@ -31,4 +31,18 b' test --profile'
31
31
32 #endif
32 #endif
33
33
34 #if lsprof serve
35
36 Profiling of HTTP requests works
37
38 $ hg --profile --config profiling.format=text --config profiling.output=../profile.log serve -d -p $HGPORT --pid-file ../hg.pid -A ../access.log
39 $ cat ../hg.pid >> $DAEMON_PIDS
40 $ hg -q clone -U http://localhost:$HGPORT ../clone
41
42 A single profile is logged because file logging doesn't append
43 $ grep CallCount ../profile.log | wc -l
44 \s*1 (re)
45
46 #endif
47
34 $ cd ..
48 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now