Как проанализировать файл, созданный с помощью pstats.статистика дампа (имя файла) отключена?
Я по существу сделал следующее:
import cProfile, pstats, StringIO
pr = cProfile.Profile()
pr.enable()
# ... my code did something ...
pr.disable()
s = StringIO.StringIO()
sortby = 'cumulative'
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.dump_stats('stats.dmp') # dump the stats to a file named stats.dmp
Итак, теперь у меня есть файл с именем 'stats.хранить ДМП' в автономном режиме.
Как я могу использовать pstats для анализа этого файла для потребления человеком?
спасибо заранее.
1 ответов
вот что я узнал и программа Python, которую я создал. Я проверил это с помощью .файл dmp, сделанный на linux и проанализированный на windows xp. Сработало отлично. Файл Python называется "analyze_dmp.py".
#!/usr/local/bin/python2.7
# -*- coding: UTF-8 -*-
"""analyze_dmp.py takes the file INFILEPATH [a pstats dump file] Producing OUTFILEPATH [a human readable python profile]
Usage: analyze_dmp.py INFILEPATH OUTFILEPATH
Example: analyze_dmp.py stats.dmp stats.log
"""
import sys, os
import cProfile, pstats, StringIO
def analyze_dmp(myinfilepath='stats.dmp', myoutfilepath='stats.log'):
out_stream = open(myoutfilepath, 'w')
ps = pstats.Stats(myinfilepath, stream=out_stream)
sortby = 'cumulative'
ps.strip_dirs().sort_stats(sortby).print_stats(.3) # plink around with this to get the results you need
NUM_ARGS = 2
def main():
args = sys.argv[1:]
if len(args) != NUM_ARGS or "-h" in args or "--help" in args:
print __doc__
s = raw_input('hit return to quit')
sys.exit(2)
analyze_dmp(myinfilepath=args[0], myoutfilepath=args[1])
if __name__ == '__main__':
main()