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