Esempio 4: Aggiornamento di una sessione di traccia

Durante l'esecuzione di una sessione di traccia, è possibile aggiornare le proprietà seguenti di una sessione di traccia in tempo reale o registrata:

  • Convertire una sessione di traccia in tempo reale in una sessione del log di traccia (usando -f).

  • Creare un nuovo log di traccia per una sessione del log di traccia esistente (usando -f).

  • Aggiungere il recapito dei messaggi di traccia in tempo reale a una sessione del log di traccia esistente (usando -rt).

  • Modificare il numero massimo di buffer (usando -max), ma non il numero minimo di buffer.

  • Modificare l'intervallo di tempo di scaricamento (usando -ft).

  • Scaricare i buffer di traccia usando -tracelog -flush.

Non è possibile usare un comando tracelog -update per modificare i flag e il livello di un provider di traccia. Usare invece il comando tracelog -enable , come illustrato nell'esempio 5: Abilitazione dei provider di traccia.

I parametri -rt e -f funzionano in modo diverso in un comando tracelog -update . Il parametro -rt aggiunge il recapito dei messaggi in tempo reale a una sessione del log di traccia. Di conseguenza, i nuovi messaggi di traccia vengono inviati direttamente al consumer di traccia e al log di traccia. Tuttavia, prima di aggiungere il recapito dei messaggi in tempo reale a una sessione del log di traccia, i buffer devono essere scaricati usando il comando tracelog -flush . Quando il parametro -f viene usato per aggiornare una sessione di traccia in tempo reale, sostituisce il recapito dei messaggi in tempo reale con il recapito al log di traccia. Di conseguenza, i nuovi messaggi di traccia vengono inviati solo al log di traccia; non vengono più inviati direttamente al consumer di traccia.

Il comando seguente modifica una sessione di traccia in tempo reale denominata "MyTrace" in una sessione del log di traccia. Il comando usa il parametro -f per specificare il percorso del file di log, C:\tracing\MyTrace.etl. Usa anche il parametro -max con un valore pari a 35 per aumentare il numero massimo di buffer a 35.

tracelog -update MyTrace -f c:\tracing\mytrace.etl -max 35

In risposta, Tracelog visualizza le proprietà della sessione di traccia, incluse le proprietà appena modificate.

In seguito a questo comando, tutti i nuovi messaggi di traccia generati dal provider e tutti i messaggi di traccia archiviati nel buffer al momento dell'invio del comando vengono scritti solo nel file di log. Non vengono più inviati direttamente al consumer di traccia, come in una sessione di traccia in tempo reale.

Per aggiungere un log di traccia a una sessione di traccia in tempo reale, in modo che i messaggi di traccia vengano inviati al consumer di traccia e al log di traccia, includere i parametri -rt e -f , come illustrato nel comando seguente.

tracelog -update MyTrace -rt -f c:\tracing\mytrace.etl -max 35

È anche possibile scaricare i buffer di traccia durante l'esecuzione di una sessione. Si tratta di uno scaricamento forzato non coordinato con il timer di scaricamento. Il sistema scarica nuovamente i buffer alla scadenza del timer di scaricamento e all'arresto della sessione di traccia.

Per scaricare i buffer di una sessione di traccia esistente, usare il parametro -flush , come illustrato nell'esempio seguente. Il parametro -flush non è un sottoparametro del comando tracelog -update .

tracelog -flush MyTrace

In risposta, Tracelog visualizza le proprietà modificate della sessione di traccia.