diff options
author | Sean Finney <seanius@debian.org> | 2009-08-18 08:33:47 +0200 |
---|---|---|
committer | Sean Finney <seanius@debian.org> | 2009-08-31 22:35:00 +0200 |
commit | 997beb5ffd2117fc7ed20035fca0b31d5063f612 (patch) | |
tree | f72b4719fce5c3f47c0db01bb3fb937f0a6a322c | |
parent | b477603728315facb683dda99636a2139aa31c1d (diff) | |
download | patch-tracker-997beb5ffd2117fc7ed20035fca0b31d5063f612.tar.gz |
initial support for profiling
-rwxr-xr-x | pagehandler.py | 16 |
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 |