Как просмотреть общие сведения о событии с помощью wpa?
Я записываю события ETW для провайдера CLR:
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4 -f clr.etl
...
xperf -stop clr
затем откройте clr.etl в wpa.exe и увидите множество "общих событий". Но похоже wpa не отображает некоторые данные, которые описаны в MSDN
Все, что я вижу, похоже на это:
Process Unknown
Id 1
Opcode Name
Task Name
Provider Name e13c0d23-ccbc-4e12-931b-d9cc2eee27e4
Time 0,071731589s
Selection Duration 0,416407863s
Start Time 0,002151869s
End Time 0,418559732s
Data Points 1
Table Data Point Selection
Cpu 0
ThreadId 50 440
Sum of Count 1 23
Time (s) 0,071846769
Вот так GCStart_V1
событие, но я не могу найти, например, поле Reason
Можно ли увидеть общие данные о событиях в wpa?
Версия WPA - 10.0.10586.212
2 ответа
На "нормальных" машинах происходит довольно часто, когда регистрация провайдера CLR ETW портится из-за.NET-исправлений и тому подобного. В этом случае вам нужно перерегистрировать его (64 бит)
wevtutil um %windir%\Microsoft.NET\Framework64\v4.0.30319\CLR-ETW.man
wevtutil im %windir%\Microsoft.NET\Framework64\v4.0.30319\CLR-ETW.man
Если ваша проблема заключалась в том, что ваше представление не было настроено на просмотр пользовательских событий Field1 .. N, тогда ответ от lowleveldesign - правильный.
Примечание: я обычно записываю трассировку, по крайней мере, с этими двумя флагами ядра:
xperf -on PROC_THREAD+LOADER -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4
xperf -stop -stop clr -d clr.etl
В противном случае имена процессов могут быть не разрешены в WPA.
Возвращаясь к вашему вопросу, немного странно, как настраиваются пользовательские поля в WPA, но после того, как вы преодолеете начальную боль, вы найдете его редактор довольно полезным. Упомянутое вами поле является одним из пользовательских полей, относящихся к данному событию. По умолчанию эти поля не отображаются, и вам необходимо добавить их в окне расширенного просмотра:
Я притащил Field1
перед Thread Name
колонка. Затем вам нужно выбрать событие (не его родитель, а строку с событием), и вы заметите, что имена столбцов для полей изменяются соответственно:
Так же Message
Поле обычно содержит все поля (их имена и значения), например, в этом случае: Reason=1; Count=2; ClrInstanceID=36