Compartilhar via


Rastreamento de fluxo de trabalho

O rastreamento de fluxo de trabalho oferece uma maneira de capturar informações de diagnóstico usando ouvintes de rastreamento do .NET Framework. O rastreamento poderá ser habilitado se um problema for detectado com o aplicativo e desabilitado novamente quando o problema for resolvido. Há duas maneiras que você pode ativar o rastreamento de depuração para fluxos de trabalho. Você pode configurá-lo usando o visualizador de Rastreamento de Eventos ou pode usar System.Diagnostics para enviar eventos de rastreamento para um arquivo.

Ativar o rastreamento de depuração em ETW

Para ativar o rastreamento usando ETW, ative o canal de depuração no visualizador de eventos:

  1. Navegue para o nó analítico e de depuração dos logs no visualizador de eventos.

  2. Na exibição em árvore no Visualizador de eventos, navegue até Visualizador de eventos->Aplicativos e logs de serviços->Microsoft->Windows->Servidor de aplicativo-Aplicativos. Clique com o botão direito do mouse em Servidor de aplicativo-Aplicativos e selecione Visualização->Mostrar logs analíticos e de depuração. Clique com o botão direito do mouse em Depurar e selecione Habilitar Log.

  3. Quando um fluxo de trabalho executa a depuração e os rastreamentos são emitidos para o canal de depuração ETW, eles podem ser exibidos no Visualizador de Eventos. Navegue até Visualizador de Eventos>Logs de Aplicativos e Serviços->Microsoft>Windows->Servidor de aplicativos-Aplicativos. Clique com o botão direito do mouse em Depurar e selecione Atualizar.

  4. O tamanho padrão do buffer de rastreamento analítico é de apenas 4 quilobytes (KB); É recomendável aumentar o tamanho para 32 KB. Para fazer isso, execute as seguintes etapas.

    1. Execute o seguinte comando no diretório da estrutura atual (por exemplo, C:\Windows\Microsoft.NET\Framework\v4.0.21203): wevtutil um Microsoft.Windows.ApplicationServer.Applications.man

    2. Altere o valor de <bufferSize> no arquivo Windows.ApplicationServer.Applications.man para 32.

      <channel name="Microsoft-Windows-Application Server-Applications/Analytic" chid="ANALYTIC_CHANNEL" symbol="ANALYTIC_CHANNEL" type="Analytic" enabled="false" isolation="Application" message="$(string.MICROSOFT_WINDOWS_APPLICATIONSERVER_APPLICATIONS.channel.ANALYTIC_CHANNEL.message)" >
                  <publishing>
                    <bufferSize>32</bufferSize>
                  </publishing>
                </channel>
      
    3. Execute o seguinte comando no diretório da estrutura atual (por exemplo, C:\Windows\Microsoft.NET\Framework\v4.0.21203): wevtutil im Microsoft.Windows.ApplicationServer.Applications.man

Observação

Se você estiver usando o Perfil de Cliente do .NET Framework 4, primeiro registre o manifesto ETW executando o seguinte comando no diretório do .NET Framework 4: ServiceModelReg.exe -i -c:etw

Ativar o rastreamento de depuração usando System.Diagnostics

Esses ouvintes podem ser configurados no arquivo App.config do aplicativo de fluxo de trabalho ou no Web.config para um serviço de fluxo de trabalho. Neste exemplo, um TextWriterTraceListener é configurado para salvar informações de rastreamento no arquivo MyTraceLog.txt no diretório atual.

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.Activities" switchValue="Information">
        <listeners>
          <add name="textListener" />
          <remove name="Default" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="textListener"
           type="System.Diagnostics.TextWriterTraceListener"
           initializeData="MyTraceLog.txt"
           traceOutputOptions="ProcessId, DateTime" />
    </sharedListeners>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="textListener" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

Consulte também