~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/weave.py

  • Committer: Martin Pool
  • Date: 2005-08-18 05:44:39 UTC
  • Revision ID: mbp@sourcefrog.net-20050818054439-ba0873b87a8c1671
- add code to run weave utility under profiler

Show diffs side-by-side

added added

removed removed

Lines of Context:
870
870
        raise ValueError('unknown command %r' % cmd)
871
871
    
872
872
 
 
873
 
 
874
def profile_main(argv): 
 
875
    import tempfile, hotshot, hotshot.stats
 
876
 
 
877
    prof_f = tempfile.NamedTemporaryFile()
 
878
 
 
879
    prof = hotshot.Profile(prof_f.name)
 
880
 
 
881
    ret = prof.runcall(main, argv)
 
882
    prof.close()
 
883
 
 
884
    stats = hotshot.stats.load(prof_f.name)
 
885
    #stats.strip_dirs()
 
886
    stats.sort_stats('time')
 
887
    ## XXX: Might like to write to stderr or the trace file instead but
 
888
    ## print_stats seems hardcoded to stdout
 
889
    stats.print_stats(20)
 
890
            
 
891
    return ret
 
892
 
 
893
 
873
894
if __name__ == '__main__':
874
895
    import sys
875
896
    sys.exit(main(sys.argv))
 
897