Opções de rastreio do JSOR (somente Linux)

É possível rastrear chamadas de tempo de execução Java™ Sockets over Remote Direct Memory Access (JSOR) até o nível nativo usando as opções de rastreio padrão, incluindo o envio da saída de rastreio para um arquivo. Início das mudanças para o service refresh 2 fix pack 10O suporte para aplicativos do canal NIO foi incluído nesta atualizaçãoTérmino das mudanças para o service refresh 2 fix pack 10

Observação: Início das mudanças para atualização de serviço 8 fix pack 30A implementação do RDMA, que estava obsoleta anteriormente, foi removida do IBM® SDK, Java Technology Edition, versão 8.Fim das alterações para o service refresh 8 fix pack 30

O componente JSOR tem mais de 200 identificadores de ponto de rastreio no nível nativo sozinho. Para rastrear a pilha RDMA inteira, use o rastreio do componente JSOR com o rastreamento do método Java e o rastreio do componente NET ou NIO

O rastreio da camada RDMA JNI inclui aproximadamente 85 pontos de rastreio que são cobertos pelos componentes de rastreio NET e NIO. O rastreio da camada RDMA nativa inclui aproximadamente 158 pontos de rastreio e é coberto pelo componente de rastreio do JSOR.

Procure os métodos nativos a seguir na saída de rastreio para entender o fluxo de chamada no nível de biblioteca:
  • RDMA_Accept
  • RDMA_Available
  • RDMA_Bind
  • RDMA_Close
  • RDMA_Connect
  • RDMA_Destroy
  • RDMA_GetSockOpt
  • RDMA_Init
  • RDMA_Listen
  • RDMA_Read
  • RDMA_ReadDirect
  • RDMA_Send
  • RDMA_SendDirect
  • RDMA_SetSockOpt
  • RDMA_Shutdown
  • RDMA_Socket
  • RDMA_Timeout
  • Início das mudanças para o service refresh 2 fix pack 10RDMA_PollTérmino das mudanças para o service refresh 2 fix pack 10
  • Início das mudanças para o service refresh 2 fix pack 10RDMA_FcntlTérmino das mudanças para o service refresh 2 fix pack 10
  • Início das mudanças para o service refresh 2 fix pack 10RDMA_FinishConnectTérmino das mudanças para o service refresh 2 fix pack 10
Para obter mais informações sobre rastreio, componentes de rastreio e pontos de rastreio, consulte os tópicos a seguir:

Exemplos

Para rastrear apenas chamadas de método Java RDMA, use a seguinte opção da linha de comandos:
-Xtrace:methods={java/net/RDMA.*},iprint=mt
Para rastrear chamadas de método Java RDMA e chamadas de método JNI, use a seguinte opção da linha de comandos:
-Xtrace:methods={java/net/RDMA.*},iprint=mt,iprint=NET
Para rastrear chamadas de método Java RDMA, chamadas de método JNI e chamadas de método nativo, use a seguinte opção da linha de comandos:
-Xtrace:methods={java/net/RDMA.*},iprint=mt,iprint=NET,iprint=JSOR
Aqui está alguma saída de rastreio de amostra a partir de um servidor simples, que aceita uma conexão RDMA e recebe uma mensagem do cliente:
01:49:07.061*0x20d2c100            JSOR.0        > RDMA_Init()
01:49:07.061 0x20d2c100            JSOR.39       > initverbs()
01:49:07.062 0x20d2c100            JSOR.43       < initverbs(rc=0)
01:49:07.062 0x20d2c100            JSOR.46       > initjsor()
01:49:07.064 0x20d2c100            JSOR.47       < initjsor(rc=0)
01:49:07.064 0x20d2c100            JSOR.3        < RDMA_Init(rc=0)
01:49:07.077 0x20d2c100            JSOR.25       > RDMA_Socket(fd=60)
01:49:07.077 0x20d2c100            JSOR.27       < RDMA_Socket(rsockp=00007FB690355150, fd=60, state=0x0)
01:49:07.078 0x20d2c100            JSOR.28       > RDMA_Bind(rsockp=00007FB690355150, fd=60, my_addr=00007FB6957DE620, state=0x0)
01:49:07.078 0x20d2c100            JSOR.50       > create_event_channel(rsockp=00007FB690355150, fd=60, state=0x0)
01:49:07.078 0x20d2c100            JSOR.52       < create_event_channel(state=0x0, rc=0)
01:49:07.078 0x20d2c100            JSOR.53       > create_id(rsockp=00007FB690355150, fd=60, state=0x0)
01:49:07.078 0x20d2c100            JSOR.55       < create_id(state=0x0, rc=0)
01:49:07.078 0x20d2c100            JSOR.220      > get_addrinfo_from_sockaddr(address=00007FB6957DE620, len=28)