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:

  • Converter 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).

Não é possível 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 para o 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, 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 apenas no arquivo de log. Eles não são mais enviados diretamente ao 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. Essa é uma liberação forçada que não é coordenada com o temporizador de liberação. 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.