Registro de Rastreio a partir de uma Extensão Definida pelo Usuário em C

Os nós e analisadores do processamento de mensagens gravados na API da linguagem de programação C podem gravar entradas para rastreio.

Há dois tipos de rastreio:
  • Rastreio de Serviço: as entradas geralmente descrevem o que está acontecendo dentro do código e apenas são úteis para o proprietário do código, como por exemplo o desenvolvedor de extensão definido pelo usuário.
  • Rastreio do Usuário: as entradas geralmente descrevem o que está acontecendo em um nível externo e são úteis para o usuário do código. Os usuários do código incluem designers do fluxo de mensagens e administradores de domínio do intermediário.
Para cada tipo de rastreio, existem três níveis:
  • Nenhum
  • Normal
  • Depuração
Para extensões definidas pelo usuário C, para cada tipo de rastreio, estão disponíveis as seguintes funções de utilitário:
  • cciServiceTrace e cciUserTrace: estas funções gravarão uma entrada no respectivo tipo de rastreio apenas quando o rastreio tiver sido ativado, ou seja, quando o rastreio estiver em um nível normal ou de depuração.
  • cciServiceDebugTrace e cciUserDebugTrace: estas funções gravarão uma entrada no respectivo tipo de rastreio apenas quando o rastreio estiver ativo no nível de depuração.
Para ajudar a impedir a realização de chamadas de função no caso onde nenhum rastreio é gravado, é fornecida a função de utilitário cciIsTraceActive. cciIsTraceActive relata se o rastreio está ativo e o nível no qual ele está ativo.

As funções cci*Trace podem ser utilizadas por uma extensão definida pelo usuário apesar das configurações de rastreio. As funções determinam se o rastreio está ativo e apenas gravam entradas que são apropriadas para as configurações de rastreio. Ao chamar as funções cci*Trace, algum processamento adicional pode ser necessário. A função cciIsTraceActive é fornecida para permitir à extensão definida pelo usuário consultar as configurações de rastreio e impedir esse processamento adicional, quando o rastreio está inativo.

Em muitos casos, será suficiente considerar o valor retornado da função cciIsTraceActive como um valor Booleano. Se o valor retornado for diferente de zero, o rastreio estará ativo em algum nível e será apropriado chamar qualquer uma das funções cci*Trace. O valor retornado também pode ser inspecionado rigorosamente, nos casos quando são necessários detalhes das configurações de rastreio.

As configurações de rastreio podem ser alteradas a qualquer momento, portanto, é aconselhável consultá-las regularmente. Por exemplo, utilize cciIsTraceActive para consultar as configurações de rastreio, quando é informada uma função de implementação.

As entradas de rastreio podem estar associadas a determinados objetos, que permitem refinamento adicional de controle para gravação do rastreio. Uma entrada de rastreio pode ser associada a um nó ou analisador e o rastreio será gravado de acordo com a configuração de rastreio para esse objeto. A configuração de rastreio do objeto é herdada do fluxo de mensagens, ao qual pertence o nó ou o analisador. Se nenhum objeto for especificado, o rastreio será associado ao grupo de execução.

Referências relacionadas
cciUserDebugTrace
cciServiceTrace
cciServiceDebugTrace
ccilsTraceActive
Rastreio do Usuário
Rastreio de Serviço
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as24550_