add osc_hotshot.py, a wrapper script for profiling osc.py
[opensuse:osc.git] / osc_hotshot.py
1 #!/usr/bin/env python
2
3 import hotshot, hotshot.stats
4 import tempfile
5 import os, sys
6 import osc
7
8
9 if __name__ == '__main__':
10
11     (o, filename) = tempfile.mkstemp(prefix = 'osc_profiledata_', dir = '/dev/shm')
12     del o
13
14     try:
15
16         prof = hotshot.Profile(filename)
17         
18         osc.init_basicauth()
19         prof.runcall(osc.main)
20         print 'run complete. analyzing.'
21         prof.close()
22
23         stats = hotshot.stats.load(filename)
24         stats.strip_dirs()
25         stats.sort_stats('time', 'calls')
26         stats.print_stats(20)
27
28         del stats
29
30     finally:
31         os.unlink(filename)