我正在写一个探查器,我想知道线程创建以来的总时间以及该线程在特定计算中使用的总CPU时间。如何在LLVM传递中检测线程入口/重生点?
通过总时间我的意思是:因为像thread my_thread(function)
一个带有螺纹花费被封锁无论什么原因,时间的时间,所以总的时间过去了。
getrusage
给了我调用线程的CPU时间,这很好,但是,我想知道线程创建以来的总时间。我根本找不到任何C++库。
我可以通过仪表程序创建/产生线程并插入一个简单的时间戳方法,如chrono
函数,然后计算其他时间戳时产生一个时间戳,它们的区别是我想要的时间。但是,即使经过一些搜索,我也无法弄清楚如何使用LLVM传递检测线程入口/产生点。
关于如何检测线程入口/重生点在LLVM通过任何建议?
此致敬礼!
感谢您的回答!是的,我也这么想过。但是有没有其他的方法来产生一个线程?当我检查pthread_create的调用时,这些方法会被捕获吗?我不这么认为。 –
@DanishAlsayed我已经更新了我的答案。 – arrowd