diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-05-16 21:28:07 +1200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-05-16 21:28:07 +1200 |
commit | 7dd72021c06803bac66b73f0c8687df0d459fd4a (patch) | |
tree | fd0a660552fad67282f8382b503df49c0fa6c48e /obnam | |
parent | af7babe2d8272fae414c4dccbd710ba5ca52a9d2 (diff) | |
download | obnam-7dd72021c06803bac66b73f0c8687df0d459fd4a.tar.gz |
Add way to run obnam under profiling.
Add script to view profile data.
Diffstat (limited to 'obnam')
-rwxr-xr-x | obnam | 35 |
1 files changed, 23 insertions, 12 deletions
@@ -16,20 +16,31 @@ import logging +import os import sys import traceback import obnamlib -try: - obnamlib.App().run() -except obnamlib.AppException, e: - logging.critical(str(e)) - sys.stderr.write('Error: %s\n' % str(e)) - sys.exit(1) -except SystemExit, e: - sys.exit(e.code) -except BaseException, e: - logging.critical(traceback.format_exc()) - sys.stderr.write(traceback.format_exc()) - sys.exit(1) + +def main(): + try: + obnamlib.App().run() + except obnamlib.AppException, e: + logging.critical(str(e)) + sys.stderr.write('Error: %s\n' % str(e)) + sys.exit(1) + except SystemExit, e: + sys.exit(e.code) + except BaseException, e: + logging.critical(traceback.format_exc()) + sys.stderr.write(traceback.format_exc()) + sys.exit(1) + + +if __name__ == '__main__': + if os.environ.get('OBNAM_PROFILE') == 'yes': + import cProfile + cProfile.run('main()', 'obnam.prof') + else: + main() |