Python cProfile: как отфильтровать конкретные вызовы из данных профилирования? - PullRequest
7 голосов
/ 21 сентября 2010

Я начал профилировать скрипт, который имеет много sleep(n) операторов.В целом, я получаю более 99% времени, проведенного во время сна.Тем не менее, он иногда сталкивается с проблемами производительности в то время, когда он выполняет реальную работу, но соответствующие, интересные данные профилирования становится очень трудно идентифицировать, например, при использовании kcachegrind.из профилированного?В качестве альтернативы, как я могу отфильтровать такой вызов с последующей обработкой файла данных профилирования?

Я использую декоратор profilestats (http://pypi.python.org/pypi/profilestats).

Спасибо

1 Ответ

2 голосов
/ 22 сентября 2010

Вам нужно больше, чем просто исключать сэмплы во время сна (). Вам нужны оставшиеся образцы, чтобы рассказать вам что-то полезное. Это будет выборка из стека по настенным часам, суммирование процентов на уровне строки кода. Zoom - хороший инструмент для такого рода сэмплирования, и я надеюсь, что не слишком сложно игнорировать сэмплы, содержащие определенную функцию.

...