Registrazione tracce da un'estensione definita dall'utente in C

I programmi di analisi e i nodi di elaborazione dei messaggi scritti nell'API del linguaggio di programmazione C possono scrivere voci sulla traccia.

Esistono due tipi di traccia:
  • Traccia del servizio: le voci di solito descrivono cosa sta accadendo all'interno del codice e sono utili solo al proprietario del codice, come lo sviluppatore dell'estensione definita dall'utente.
  • Traccia utente: le voci di solito descrivono cosa sta accadendo ad un livello esterno e sono utili all'utente del codice. Gli utenti del codice includono i progettisti del flusso di messaggi e gli amministratori del dominio broker.
Per ciascun tipo di traccia, esistono tre livelli:
  • Nessuno
  • Normale
  • Debug
Relativamente alle estensioni definite dall'utente in C, per ciascun tipo di traccia sono disponibili le funzioni di utilità riportate di seguito:
  • cciServiceTrace e cciUserTrace: queste funzioni scrivono una voce sul rispettivo tipo di traccia solo quando questa è stata attivata; ovvero, la traccia è a livello normale o di debug.
  • cciServiceDebugTrace e cciUserDebugTrace: queste funzioni scrivono una voce sul rispettivo tipo di traccia solo quando questa è attiva a livello di debug.
Per evitare di effettuare chiamate a funzioni nel caso in cui non è scritta alcuna traccia, viene fornita la funzione di utilità cciIsTraceActive. cciIsTraceActive indica se la traccia è attiva e il relativo livello di attivazione.

Le funzioni cci*Trace possono essere utilizzate da un'estensione definita dall'utente a prescindere dalle impostazioni di traccia. Le funzioni determinano se la traccia è attiva e scrivono solo voci che sono appropriate per le impostazioni di traccia. Quando si richiamano le funzioni cci*Trace, possono essere richieste ulteriori elaborazioni. La funzione cciIsTraceActive viene fornita per consentire all'estensione definita dall'utente di eseguire query nelle impostazioni di traccia ed evitare questa ulteriore elaborazione quando la traccia non è attiva.

In molti casi, è sufficiente gestire il valore restituito dalla funzione cciIsTraceActive come un valore booleano. Se il valore restituito è diverso da zero, la traccia è attiva a qualche livello ed è appropriato richiamare una qualsiasi funzione cci*Trace. Il valore restituito può essere inoltre esaminato attentamente nel caso in cui siano richiesti i dettagli delle impostazioni di traccia.

E' possibile modificare in qualsiasi momento le impostazioni di traccia è quindi consigliabile effettuare regolarmente delle query. Ad esempio, utilizzare cciIsTraceActive per eseguire delle query sulle impostazioni di traccia quando viene immessa una funzione di implementazione.

Le voci di traccia possono essere associate a determinati oggetti; ciò consente ulteriore accuratezza nella scrittura della traccia. Una voce di traccia può essere associata ad un nodo o a un programma di analisi e la traccia è scritta in base all'impostazione di traccia per tale oggetto. L'impostazione di traccia dell'oggetto è ereditata dal flusso di messaggi a cui appartiene il nodo o il programma di analisi. Se non è specificato alcun oggetto, la traccia è associata al gruppo di esecuzione.

Riferimenti correlati
cciUserDebugTrace
cciServiceTrace
cciServiceDebugTrace
ccilsTraceActive
Traccia utente
Traccia del servizio
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as24550_