我正在为Windows开发一个长期运行的multithreadingPython应用程序,我希望进程知道每个线程所占用的CPU时间。 我可以用os.times()获取整个进程的总体时间,但是我需要知道每个线程的时间。
我知道有一些外部工具,比如Sysinternals Process Explorer,但是我的程序本身需要这些信息。 如果我在Linux上,我会查看/proc
文件系统, 如下所述 。 如果我正在编写C代码,我将使用GetThreadTimes
调用, 如下所述 。
那么我怎样才能在使用Python的Windows上完成这项工作呢?
win32process.GetThreadTimes
你希望Python for Windows Extensions能够做出多毛的东西。
或者你可以简单地使用yappi。 ( https://code.google.com/p/yappi/ )如果选择CPU时钟类型进行性能分析,它将透明地使用GetThreadTimes()。
另请参阅此处的示例: https : //code.google.com/p/yappi/wiki/YThreadStats_v082