2017-07-19 35 views
0
ThreadMXBean.getThreadCpuTime() 

提供僅在線程級別花費的時間。我正在尋找一種方法來在線程內的方法級別上花費CPU時間。通過MBeans獲取方法級CPU時間

Oracle/OpenJDK Java是否支持類似的東西?

我通過MBeanServerConnection在遠程JVM上調用ThreadMXBean API,我無法從在遠程JVM上運行的代碼中調用。

回答

1

線程cpu時間是累積的,所以您可以在方法之前對其進行採樣,然後再次採樣,並且兩個採樣的增量是該方法中消耗的cpu時間。

+0

實際上,我無法修改目標JVM上的Java代碼。我忘了提及它是到遠程JVM的JMX連接。 – RRM

+0

啊,那是一種不同顏色的馬......看看JVisualVM或Java Mission Control(JMC)。兩者都可以遠程監控您的代碼,我認爲它們可以捕獲CPU利用率。 – Nicholas

+0

我需要編程/ api訪問此信息。 – RRM