author | Todd Larsen <tlarsen@google.com> |
Tue, 20 Jan 2009 21:26:34 +0000 | |
changeset 849 | c193ac0ef593 |
parent 323 | ff1a9aa48cfd |
permissions | -rw-r--r-- |
#!/usr/bin/env python """ gather_profile_stats.py /path/to/dir/of/profiles Note that the aggregated profiles must be read with pstats.Stats, not hotshot.stats (the formats are incompatible) """ from hotshot import stats import pstats import sys, os def gather_stats(p): profiles = {} for f in os.listdir(p): if f.endswith('.agg.prof'): path = f[:-9] prof = pstats.Stats(os.path.join(p, f)) elif f.endswith('.prof'): bits = f.split('.') path = ".".join(bits[:-3]) prof = stats.load(os.path.join(p, f)) else: continue print "Processing %s" % f if path in profiles: profiles[path].add(prof) else: profiles[path] = prof os.unlink(os.path.join(p, f)) for (path, prof) in profiles.items(): prof.dump_stats(os.path.join(p, "%s.agg.prof" % path)) if __name__ == '__main__': gather_stats(sys.argv[1])