summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Finney <seanius@debian.org>2009-08-18 08:33:47 +0200
committerSean Finney <seanius@debian.org>2009-08-31 22:35:00 +0200
commit997beb5ffd2117fc7ed20035fca0b31d5063f612 (patch)
treef72b4719fce5c3f47c0db01bb3fb937f0a6a322c
parentb477603728315facb683dda99636a2139aa31c1d (diff)
downloadpatch-tracker-997beb5ffd2117fc7ed20035fca0b31d5063f612.tar.gz
initial support for profiling
-rwxr-xr-xpagehandler.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/pagehandler.py b/pagehandler.py
index 0d772d6..3933fce 100755
--- a/pagehandler.py
+++ b/pagehandler.py
@@ -27,25 +27,35 @@ if __name__ == '__main__':
os.environ['SCRIPT_FILENAME'] = sys.argv[0]
from wsgiref import simple_server as ss
import getopt
+ import profile, pstats
def cmd_help():
print """
-usage: %s [-h]
+usage: %s [-hp]
-h: help message
+ -p: enable profiling
"""%(os.path.basename(sys.argv[0]))
- opts,args = getopt.getopt(sys.argv[1:], "h")
+ opts,args = getopt.getopt(sys.argv[1:], "hp")
+ profiling = False
for o,v in opts:
if o == "-h":
cmd_help()
sys.exit(0)
+ if o == "-p":
+ profiling = True
print "pagehandler test server running..."
server = ss.WSGIServer( ('',8080), ss.WSGIRequestHandler)
server.set_app(application)
while True:
try:
- server.handle_request()
+ if not profiling:
+ server.handle_request()
+ else:
+ profile.run("server.handle_request()", "profile.out")
+ p = pstats.Stats("profile.out")
+ p.strip_dirs().sort_stats('time').print_stats(20)
except IOError, e:
print "adsf: ",e