Opciones de rastreo de jVerbs (solo Linux)

Puede rastrear las llamadas de tiempo de ejecución de jVerbs en el nivel nativo mediante las opciones de rastreo estándar, incluido el envío de la salida de rastreo a un archivo.

Nota: Inicio de cambios para la actualización del servicio 8 fixpack 30La implementación RDMA, que anteriormente estaba obsoleta se elimina de IBM® SDK, Java™ Technology Edition, Version 8.Fin de los cambios para el Service Refresh 8 Fix Pack 30

Se suministra una implementación nativa de la interfaz de jVerbs. Cada llamada Java de la aplicación realiza una llamada nativa a las bibliotecas rdmacm o ibverbs , para realizar operaciones de acceso directo a memoria remota (RDMA) utilizando la interfaz nativa Java (JNI). Las llamadas Java se direccionan a la capa nativa mediante clases de asignador nativas internas.

Puede rastrear llamadas de método Java y llamadas de método nativo.

Rastreo de llamadas de método Java

La interfaz jVerbs contiene los siguientes paquetes Java:
com.ibm.net.rdma.jverbs.cm
Clases de gestión de conexiones que acceden a la biblioteca de rdmacm.
com.ibm.net.rdma.jverbs.verbs
Clases Verbs que acceden a la biblioteca de ibverbs.
com.ibm.net.rdma.jverbs.endpoints
Clase de abstracción de punto final que utiliza clases de los paquetes cm y verbs.
Puede rastrear las clases de estos paquetes utilizando la opción -Xtrace estándar en la línea de mandatos Java. Por ejemplo, para rastrear todos los métodos Java jVerbs , utilice la siguiente opción de línea de mandatos:
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt
Utilice un patrón más específico para rastrear clases en el nivel necesario. Por ejemplo, para rastrear métodos desde todas las clases nativas de gestión de conexión, utilice la siguiente opción de línea de mandatos:
-Xtrace:methods={com.ibm.net.rdma.jverbs.cm.Native*},print=mt

Rastreo de llamadas de método nativo

Utilice el componente de puntos de rastreo JVERBS para rastrear las llamadas de método nativo en el entorno de ejecución. Puede rastrear la entrada de métodos nativos, parámetros, salidas normales y salidas anormales con números de error. Por ejemplo:
-Xtrace:print=JVERBS
Esta opción de línea de mandatos genera una salida parecida al siguiente texto:
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
Puede combinar el rastreo de método nativo y Java tal como se muestra en el ejemplo siguiente:
-Xtrace:methods={com.ibm.net.rdma.jverbs.*},print=mt,print=JVERBS
Para obtener más información sobre el rastreo, los componentes de rastreo y los puntos de rastreo, consulte los siguientes temas: