Opzioni di traccia jVerbs (soloLinux )
È possibile tracciare le chiamate di runtime jVerbs fino al livello nativo utilizzando le opzioni di traccia standard, incluso l'invio dell'output di traccia a un file.
Nota:
L'implementazione RDMA precedentemente deprecata è stata rimossa da IBM® SDK, Java™ Technology Edition, Version 8.


Viene fornita un'implementazione nativa dell'interfaccia jVerbs . Ogni chiamata Java dall'applicazione effettua una chiamata nativa alle librerie rdmacm o ibverbs , per eseguire operazioni RDMA (remote direct memory access) utilizzando JNI (Java Native Interface). Le chiamate Java vengono instradate al livello nativo dalle classi interne del dispatcher nativo.
È possibile tracciare le chiamate del metodo Java e le chiamate del metodo nativo.
Traccia delle chiamate al metodo Java
L'interfaccia jVerbs contiene i seguenti package Java:
- com.ibm.net.rdma.jverbs.cm
- Classi di gestione della connessione che accedono alla libreria rdmacm .
- com.ibm.net.rdma.jverbs.verbs
- Classi di verbi che accedono alla libreria ibverbs .
- com.ibm.net.rdma.jverbs.endpoints
- Una classe di astrazione dell'endpoint che utilizza le classi dai pacchetti cm e verbs .
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt
Utilizzare un modello più specifico per tracciare le classi al livello richiesto. Ad esempio, per tracciare i metodi da tutte le classi native di gestione della connessione, utilizzare la seguente opzione della riga comandi:-Xtrace:methods={com.ibm.net.rdma.jverbs.cm.Native*},print=mt
Traccia delle chiamate al metodo nativo
Utilizzare il componente del punto di traccia JVERBS per tracciare le chiamate del metodo nativo nell'ambiente di runtime. È possibile tracciare l'entrata del metodo nativo, i parametri, l'uscita normale e l'uscita anomala con numeri di errore. Ad esempio:
-Xtrace:print=JVERBS
Questa opzione di riga comandi produce un output simile al seguente testo: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
È possibile combinare la traccia di metodi Java e nativi come mostrato nel seguente esempio:
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt,print=JVERBS
Per ulteriori informazioni sulla traccia, sui componenti di traccia e sui punti di traccia, consultare i seguenti argomenti:
- -Xtrace nella documentazione utente diOpenJ9
- Determinazione dell'ID punto di traccia di un punto traccia nel riferimento VM J9