Exemplo 4: Atualizando uma sessão de rastreamento
Enquanto uma sessão de rastreamento está em execução, você pode atualizar as seguintes propriedades de uma sessão de rastreamento em tempo real ou registrada:
Converta uma sessão de rastreamento em tempo real em uma sessão de log de rastreamento (usando -f).
Crie um novo log de rastreamento para uma sessão de log de rastreamento existente (usando -f).
Adicione a entrega de mensagens de rastreamento em tempo real a uma sessão de log de rastreamento existente (usando -rt).
Altere o número máximo de buffers (usando -max), mas não o número mínimo de buffers.
Altere o intervalo de tempo de liberação (usando -ft).
Libere os buffers de rastreamento (usando -tracelog -flush).
Você não pode usar um comando tracelog -update para alterar os sinalizadores e o nível de um provedor de rastreamento. Em vez disso, use o comando tracelog -enable , conforme mostrado no Exemplo 5: Habilitando provedores de rastreamento.
Os parâmetros -rt e -f funcionam de forma diferente em um comando tracelog -update . O parâmetro -rt adiciona a entrega de mensagens em tempo real a uma sessão de log de rastreamento. Como resultado, novas mensagens de rastreamento são enviadas diretamente para o consumidor de rastreamento e para o log de rastreamento. No entanto, antes de adicionar a entrega de mensagens em tempo real a uma sessão de log de rastreamento, os buffers devem ser liberados usando o comando tracelog -flush . Quando o parâmetro -f é usado para atualizar uma sessão de rastreamento em tempo real, ele substitui a entrega de mensagens em tempo real pela entrega ao log de rastreamento. Como resultado, novas mensagens de rastreamento são enviadas apenas para o log de rastreamento; eles não são mais enviados diretamente para o consumidor de rastreamento.
O comando a seguir altera uma sessão de rastreamento em tempo real chamada "MyTrace" para uma sessão de log de rastreamento. O comando usa o parâmetro -f para especificar o local do arquivo de log, C:\tracing\MyTrace.etl. Ele também usa o parâmetro -max com um valor de 35 para aumentar o número máximo de buffers para 35.
tracelog -update MyTrace -f c:\tracing\mytrace.etl -max 35
Em resposta, o Tracelog exibe as propriedades da sessão de rastreamento, incluindo as propriedades que acabaram de ser alteradas.
Como resultado desse comando, todas as novas mensagens de rastreamento geradas pelo provedor e todas as mensagens de rastreamento armazenadas no buffer quando o comando foi enviado são gravadas somente no arquivo de log. Eles não são mais enviados diretamente para o consumidor de rastreamento, como em uma sessão de rastreamento em tempo real.
Para adicionar um log de rastreamento a uma sessão de rastreamento em tempo real, para que as mensagens de rastreamento sejam enviadas ao consumidor de rastreamento e ao log de rastreamento, inclua os parâmetros -rt e -f , conforme mostrado no comando a seguir.
tracelog -update MyTrace -rt -f c:\tracing\mytrace.etl -max 35
Você também pode liberar os buffers de rastreamento enquanto uma sessão está em execução. Esta é uma descarga forçada que não é coordenada com o temporizador de descarga. O sistema liberará os buffers novamente quando o temporizador de liberação expirar e quando a sessão de rastreamento for interrompida.
Para liberar os buffers de uma sessão de rastreamento existente, use o parâmetro -flush , conforme mostrado no exemplo a seguir. O parâmetro -flush não é um subparâmetro do comando tracelog -update .
tracelog -flush MyTrace
Em resposta, o Tracelog exibe as propriedades revisadas da sessão de rastreamento.