Как просмотреть общие сведения о событии с помощью 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

Другие вопросы по тегам