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

は、スレッドレベルで費やされた時間を提供します。スレッド内のメソッドレベルでCPU時間を費やす方法を探しています。メソッドレベルの取得は、MBeansで費やされるCPU時間の合計です。

Oracle/OpenJDK Javaはそれに対応していますか?

私は、リモートJVM上でThreadMXBean APIをMBeanServerConnection経由で呼び出しており、リモートJVM上で実行されているコード内から呼び出すことはできません。

答えて

1

スレッドのCPU時間は累積的なので、メソッドの前にサンプリングすることができます。その後、2つのサンプルのデルタは、メソッドで消費されたCPU時間です。

+0

実際、ターゲットJVM上のJavaコードを変更することはできません。私はそれがリモートJVMへのJMX接続であることを忘れていました。 – RRM

+0

ああ、色違いの馬です.JVisualVMやJava Mission Control(JMC)を見てみましょう。どちらもリモートでコードを計測でき、CPU使用率をキャプチャできると思います。 – Nicholas

+0

この情報へのプログラム/ APIアクセスが必要です。 – RRM

関連する問題