Los analizadores y nodos de proceso de mensajes escritos en la API de lenguaje de programación C pueden escribir entradas en el rastreo.
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.