我在一些代码上运行了 cprofile,其中包括几个线程来完成大部分工作。当我查看分析的输出时,我没有看到线程内调用的所有函数的日志记录。我确信他们被称为,因为他们做的事情很容易看到,比如写入数据库等。
cProfile 不分析线程吗?我错过了什么吗?
我在一些代码上运行了 cprofile,其中包括几个线程来完成大部分工作。当我查看分析的输出时,我没有看到线程内调用的所有函数的日志记录。我确信他们被称为,因为他们做的事情很容易看到,比如写入数据库等。
cProfile 不分析线程吗?我错过了什么吗?
在这里找到答案:链接
值得指出的是,使用探查器仅(默认情况下)在主线程上有效,如果您使用它们,您将不会从其他线程获得任何信息。这可能有点棘手,因为探查器文档中完全没有提到它。如果您还想分析线程,则需要查看文档中的 threading.setprofile() 函数。