背景: さまざまな機能 (トランザクション、共有メモリ ベースのオブジェクトの永続性、インデックス作成とクエリ、クラスター ベースの高可用性とレプリケーション) を注釈とカスタム クラス ローダーを介して Java に追加する製品を構築します。これらの機能の実装の大部分は、クラス ローダーによって挿入されたネイティブ呼び出しを介してアクセスされる C++ ライブラリにあります。私たちのネイティブは、CPU の使用、mutex または condvar の取得によるブロック、ネットワーク I/O でのブロック、または 3 つすべての組み合わせとして特徴付けることができます。ネイティブ エントリ ポイント自体は、ブロックするかどうかを知りません。
質問: JProfiler は、ネイティブで費やされた時間を CPU 時間として報告し、ネイティブ内のすべてのスレッドを実行中として表示します。JProfiler に実行中とブロック中の実際の組み合わせを認識させる方法はありますか?