jVerbs トレース・オプション (Linux のみ)
ファイルへのトレース出力の送信を含め、標準のトレース・オプションを使用して、jVerbs ランタイム呼び出しをネイティブ・レベルまでトレースできます。
注:
以前非推奨であった RDMA 実装は、 IBM® SDK, Java™ Technology Edition, Version 8 から削除されました。
以前非推奨であった RDMA 実装は、 IBM® SDK, Java™ Technology Edition, Version 8 から削除されました。
ネイティブの jVerbs インターフェース実装環境が提供されます。 アプリケーションからの各 Java 呼び出しは、Java Native Interface (JNI) を使用してリモート直接メモリー・アクセス (RDMA) 操作を行うために、 rdmacm または ibverbs ライブラリーへのネイティブ呼び出しを行います。 Java 呼び出しは、内部のネイティブ・ディスパッチャー・クラスによってネイティブ層にルーティングされます。
Java メソッド呼び出しおよびネイティブ・メソッド呼び出しをトレースできます。
Java メソッド呼び出しのトレース
jVerbs インターフェースには、以下の Java パッケージが含まれています。
- com.ibm.net.rdma.jverbs.cm
- rdmacmライブラリーにアクセス接続管理クラス。
- com.ibm.net.rdma.jverbs.verbs
- ibverbsライブラリーにアクセスする動詞クラス。
- com.ibm.net.rdma.jverbs.endpoints
- cm パッケージと verbs パッケージからクラスを使用するエンドポイント抽象化クラス。
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt必要とするレベルでクラスをトレースするには、より具体的なパターンを使用します。 例えば、すべての接続管理ネイティブ・クラスからのメソッドをトレースするには、以下のコマンド行オプションを使用します。-Xtrace:methods={com.ibm.net.rdma.jverbs.cm.Native*},print=mtネイティブ・メソッド呼び出しのトレース
JVERBS トレース・ポイント・コンポーネントを使用して、ランタイム環境内のネイティブ・メソッド呼び出しをトレースします。 ネイティブ・メソッドの入り口、パラメーター、および通常の出口と、エラー番号付きの異常出口をトレースできます。 例:
-Xtrace:print=JVERBSこのコマンド行オプションは、次のテキストのような出力を生成します。06:22:48.672 0x21b21100 JVERBS.4 > NativeRdmaCM_createEventChannel()
06:22:48.674 0x21b21100 JVERBS.5 < NativeRdmaCM_createEventChannel(channel->fd=41,
channel=00007F9A643427A0) event channel created
06:22:48.675 0x21b21100 JVERBS.7 > NativeRdmaCM_createId(channel->fd=41, rdma_ps=262)
06:22:48.675 0x21b21100 JVERBS.8 - NativeRdmaCM_createId(channel=00007F9A643427A0, rdma_ps=262) Calling
rdma_create_id
06:22:48.675 0x21b21100 JVERBS.9 < NativeRdmaCM_createId(listen_id=00007F9A6433CB20) listen id created
06:22:48.685 0x21b21100 JVERBS.18 > NativeRdmaCM_bindAddr(id=00007F9A6433CB20, address=00007F9A643415E0)
06:22:48.685 0x21b21100 JVERBS.19 - NativeRdmaCM_bindAddr(cm_listen_id=00007F9A6433CB20) Calling
rdma_bind_addr
06:22:48.685 0x21b21100 JVERBS.20 < NativeRdmaCM_bindAddr() Passed
06:22:48.685 0x21b21100 JVERBS.23 > NativeRdmaCM_listen(id=1681115936, backlog=10)
06:22:48.685 0x21b21100 JVERBS.24 - NativeRdmaCM_listen(cm_listen_id=00007F9A6433CB20) Calling rdma_listen
06:22:48.685 0x21b21100 JVERBS.25 < NativeRdmaCM_listen() Passed
06:22:48.685 0x21b21100 JVERBS.38 > NativeRdmaCM_getCmEvent(channel=41, event=00007F9A643414D0,
listen_id=00007F9A643414D4, client_id=00007F9A643414DC)
06:22:48.685 0x21b21100 JVERBS.39 - NativeRdmaCM_getCmEvent(cm_channel=00007F9A643427A0) Calling
rdma_get_cm_event
06:23:32.329 0x21b21100 JVERBS.40 < NativeRdmaCM_getCmEvent(_event=4, _client_id=00007F9A64342930,
_listen_id=00007F9A6433CB20, cm_event->id->verbs->cmd_fd=39, cm_event->id->verbs=00007F9A6433D090,
cm_event=00007F9A643427C0) Passed
06:23:32.330 0x21b21100 JVERBS.92 > NativeRdmaCM_getContext(id=00007F9A6433CB20)
06:23:32.330 0x21b21100 JVERBS.93 - NativeRdmaCM_getContext(cm_listen_id=00007F9A6433CB20)
06:23:32.330 0x21b21100 JVERBS.94 < NativeRdmaCM_getContext(context=00007F9A6433D090, context->cmd_fd=39)
Passed以下の例に示すように、Java メソッド・トレースとネイティブ・メソッド・トレースを組み合わせることができます。
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt,print=JVERBSトレース、トレース・コンポーネント、およびトレース・ポイントについて詳しくは、次のトピックを参照してください。
- OpenJ9 ユーザー資料 の -Xtrace
- 「 J9 VM リファレンス 」の「 トレース・ポイントのトレース・ポイント ID の判別 」