Есть ли Python профилировщик, который сохраняет аргументы функции? - PullRequest
0 голосов
/ 11 марта 2020

Я профилирую Python функцию foo(), которая принимает один аргумент, но этот аргумент имеет огромное значение в том, что на самом деле делает функция.

В настоящее время я использую cProfile, который записывает каждый вызов foo(), как если бы он был одним и тем же, не давая мне понять, что происходит.

Есть ли способ получить cProfile или любой другой профилировщик Python, чтобы сохранить аргументы вызова функции, поэтому, когда я смотрю на стек вызовов позже (особенно с использованием визуализатора, такого как SnakeViz), я могу различить guish между foo('bar') и foo('qux')?

PS возможно, это проблема разработки кода: поскольку foo('bar') и foo('qux') делают очень разные вещи, они должны быть четко названными отдельными функциями, такими как foo_bar() и foo_qux(). Однако вопрос в том, могу ли я профилировать их как есть, без рефакторинга.

...