Anotaciones de rastreo desde una extensión en C definida por el usuario

Los analizadores y nodos de proceso de mensajes escritos en la API de lenguaje de programación C pueden escribir entradas en el rastreo.

Hay dos tipos de rastreos:
  • Rastreo de servicio: normalmente, las entradas describen lo que sucede dentro del código y sólo son útiles para el propietario del código como, por ejemplo, el desarrollador de extensiones definidas por el usuario.
  • Rastreo de usuario: normalmente, las entradas describen lo que sucede a nivel externo y son de utilidad para el usuario del código. En los usuarios del código se incluyen los diseñadores de flujos de mensajes y los administradores de dominios de intermediario.
Para cada tipo de rastreo, hay tres niveles:
  • Ninguno
  • Normal
  • Depuración
Para las extensiones definidas por el usuario en C, están disponibles las siguientes funciones de utilidad para cada tipo de rastreo:
  • cciServiceTrace y cciUserTrace: estas funciones escriben una entrada en el tipo de rastreo respectivo sólo cuando se ha activado el rastreo, es decir, el rastreo se encuentra al nivel normal o de depuración.
  • cciServiceDebugTrace y cciUserDebugTrace: estas funciones escriben una entrada en el tipo de rastreo respectivo sólo cuando el rastreo está activo a nivel de depuración.
Para ayudar a evitar las llamadas a función en las que no se escribe en ningún rastreo, se proporciona la función de utilidad cciIsTraceActive. cciIsTraceActive informa de si el rastreo está activo y el nivel al cual está activo.

Una extensión definida por el usuario puede utilizar las funciones cci*Trace independientemente de los valores de rastreo. Las funciones determinan si el rastreo está activo y sólo escriben las entradas adecuadas a los valores de rastreo. Al llamar a las funciones cci*Trace, pueden ser necesarias tareas adicionales de proceso. La función cciIsTraceActive se proporciona para permitir que la extensión definida por el usuario consulte los valores de rastreo y evitar estas tareas adicionales de proceso cuando el rastreo está inactivo.

En muchos casos, es suficiente tratar el valor devuelto por la función cciIsTraceActive como un valor Booleano. Si el valor devuelto es distinto de cero, el rastreo está activo a algún nivel y es adecuado llamar a alguna de las funciones cci*Trace. Además, el valor devuelto puede inspeccionarse detenidamente en los casos en que sea necesario obtener los detalles de los valores de rastreo.

Los valores de rastreo pueden cambiarse en cualquier momento, por lo que es aconsejable consultarlos regularmente. Por ejemplo, utilice cciIsTraceActive para consultar los valores de rastreo cuando se entra una función de implementación.

Las entradas de rastreo pueden asociarse a ciertos objetos, lo cual permite un mayor control de la escritura de rastreo. Puede asociarse una entrada de rastreo a un nodo o analizador, y el rastreo se escribe de acuerdo al valor de rastreo para ese objeto. El valor de rastreo de un objeto se hereda del flujo de mensajes al que pertenece el nodo o analizador. Si no se especifica ningún objeto, el rastreo se asocia al grupo de ejecución.

Referencia relacionada
cciUserDebugTrace
cciServiceTrace
cciServiceDebugTrace
ccilsTraceActive
Rastreo de usuario
Rastreo de servicio
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as24550_