Поделиться через


Отслеживание рабочих процессов

Трассировка рабочего процесса позволяет получать сведения диагностики при помощи прослушивателей трассировки .NET Framework. Трассировку можно включить при обнаружении проблемы в работе приложения, а затем снова отключить после разрешения проблемы. Существует два способа включения трассировки отладки для рабочих процессов. Можно настроить отслеживание в средстве просмотра трассировки событий либо использовать System.Diagnostics для отправки событий трассировки в файл.

Включение трассировки отладки в ETW

Для включения трассировки при помощи ETW включите канал отладки в средстве просмотра событий.

  1. Перейдите в узел аналитики и журналов отладки в средстве просмотра событий.

  2. В представлении дерева в Просмотр событий перейдите к разделу Просмотр событий-Applications and Services Logs-Microsoft-Windows-Application>>> Server-Applications.> Щелкните правой кнопкой мыши application Server-Applications и выберите view-Show> Analytic and Debug Logs(Просмотр и отладка журналов). Щелкните правой кнопкой мыши "Отладка" и выберите "Включить журнал".

  3. Когда рабочий процесс запускает отладку и трассы событий выдаются в канал отладки ETW, их можно просмотреть в средстве просмотра событий. Перейдите к журналам Просмотр событий-приложений> и служб Microsoft-Windows-Application>>> Server-Applications. Щелкните "Отладка" правой кнопкой мыши и выберите "Обновить".

  4. Размер буфера аналитической трассировки по умолчанию составляет всего 4 килобайта (КБ). Рекомендуется увеличить этот размер до 32 КБ. Для этого сделайте следующее.

    1. Выполните следующую команду в текущем каталоге платформы (например, C:\Windows\Microsoft.NET\Framework\v4.0.21203):wevtutil um Microsoft.Windows.ApplicationServer.Applications.man

    2. Измените <значение bufferSize> в файле Windows.ApplicationServer.Applications.man на 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. Выполните следующую команду в текущем каталоге платформы (например, C:\Windows\Microsoft.NET\Framework\v4.0.21203):wevtutil im Microsoft.Windows.ApplicationServer.Applications.man

Примечание.

Если вы используете профиль клиента платформа .NET Framework 4, сначала необходимо зарегистрировать манифест ETW, выполнив следующую команду из каталога платформа .NET Framework 4:ServiceModelReg.exe –i –c:etw

Включение трассировки отладки при помощи System.Diagnostics

Эти прослушиватели можно настроить в файле App.config приложения рабочего процесса либо в файле Web.config для службы рабочего процесса. В этом примере TextWriterTraceListener настроено сохранение сведений трассировки в файл MyTraceLog.txt в текущем каталоге.

<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>  

См. также