Отслеживание рабочих процессов
Трассировка рабочего процесса позволяет получать сведения диагностики при помощи прослушивателей трассировки .NET Framework. Трассировку можно включить при обнаружении проблемы в работе приложения, а затем снова отключить после разрешения проблемы. Существует два способа включения трассировки отладки для рабочих процессов. Можно настроить отслеживание в средстве просмотра трассировки событий либо использовать System.Diagnostics для отправки событий трассировки в файл.
Включение трассировки отладки в ETW
Для включения трассировки при помощи ETW включите канал отладки в средстве просмотра событий.
Перейдите в узел аналитики и журналов отладки в средстве просмотра событий.
В представлении дерева в Просмотр событий перейдите к разделу Просмотр событий-Applications and Services Logs-Microsoft-Windows-Application>>> Server-Applications.> Щелкните правой кнопкой мыши application Server-Applications и выберите view-Show> Analytic and Debug Logs(Просмотр и отладка журналов). Щелкните правой кнопкой мыши "Отладка" и выберите "Включить журнал".
Когда рабочий процесс запускает отладку и трассы событий выдаются в канал отладки ETW, их можно просмотреть в средстве просмотра событий. Перейдите к журналам Просмотр событий-приложений> и служб Microsoft-Windows-Application>>> Server-Applications. Щелкните "Отладка" правой кнопкой мыши и выберите "Обновить".
Размер буфера аналитической трассировки по умолчанию составляет всего 4 килобайта (КБ). Рекомендуется увеличить этот размер до 32 КБ. Для этого сделайте следующее.
Выполните следующую команду в текущем каталоге платформы (например, C:\Windows\Microsoft.NET\Framework\v4.0.21203):
wevtutil um Microsoft.Windows.ApplicationServer.Applications.man
Измените <значение 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>
Выполните следующую команду в текущем каталоге платформы (например, 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>