我正在寫一個探查器,我想知道線程創建以來的總時間以及該線程在特定計算中使用的總CPU時間。如何在LLVM傳遞中檢測線程入口/重生點?
通過總時間我的意思是:因爲像thread my_thread(function)
一個帶有螺紋花費被封鎖無論什麼原因,時間的時間,所以總的時間過去了。
getrusage
給了我調用線程的CPU時間,這很好,但是,我想知道線程創建以來的總時間。我根本找不到任何C++庫。
我可以通過儀表程序創建/產生線程並插入一個簡單的時間戳方法,如chrono
函數,然後計算其他時間戳時產生一個時間戳,它們的區別是我想要的時間。但是,即使經過一些搜索,我也無法弄清楚如何使用LLVM傳遞檢測線程入口/產生點。
關於如何檢測線程入口/重生點在LLVM通過任何建議?
此致敬禮!
感謝您的回答!是的,我也這麼想過。但是有沒有其他的方法來產生一個線程?當我檢查pthread_create的調用時,這些方法會被捕獲嗎?我不這麼認爲。 –
@DanishAlsayed我已經更新了我的答案。 – arrowd