プロファイリングの作成 ヒープ プロファイリングの典型的なタスクも実装します。具体的には、どのスレッドがどのくらいのデータを割り当てたかを追跡したいと思います。JVMTI を使用して、イベントVM Object AllocationおよびObject Freeにフックするだけで十分だと思いました。悲しいことに、への呼び出しが原因で最初のイベントがトリガーされないことを読みましたnew
。
私が最後に考えたのは、イベントMethodExitの名前が<init>
であるかどうかをチェックし、この呼び出しをオブジェクト割り当てとして宣言することでした。ただし、このイベント内ではオブジェクトを取得できないため、呼び出すことができませんGetObjectSize
。
ヒープを単純に反復するだけでは、どのオブジェクトがどのスレッドによって割り当てられたかに関する情報はありません。これを実装する方法を知っている人はいますか?