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