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: Inizio delle modifiche per il service refresh 8 fix pack 30L'implementazione RDMA precedentemente deprecata è stata rimossa da IBM® SDK, Java™ Technology Edition, Version 8.Fine delle modifiche per il service refresh 8 fix pack 30

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 .
È possibile tracciare le classi in questi pacchetti utilizzando l'opzione standard -Xtrace sulla riga comandi Java. Ad esempio, per tracciare tutti i metodi Java jVerbs , utilizzare la seguente opzione della riga comandi:
-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: