Compartilhar via


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.