我正在使用LineProfiler来分析装饰的功能。我的代码如下所示:
@decorate
def decorated_function():
...
def function():
decorated_function()
lp = LineProfiler()
wrapped = lp(function)
lp.add_function(decorated_function)
wrapped()
lp.print_stats()
不幸的是,LineProfiler会分析装饰器中定义的代码,而不是装饰函数本身。
我知道我可以使用@profile装饰器对函数进行概要分析,但是我试图动态地在我们的API中构建概要分析,而不必在所有地方添加@profile装饰器。在进行行性能分析时,有没有办法引用原始函数而不是修饰函数?