2017-02-19 25 views
0

Трассировка событий для Windows (ETW) имеет возможность для захвата трассировки стека с потоком событий. Я предполагаю, что они извлекаются/кодируются с использованием заголовка EVENT_HEADER_EXT_TYPE_STACK_TRACE32 (или 64). Однако заголовок события не контролируется из POV источника события.Как написать пользовательскую трассировку стека с использованием ETW

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363760%28v=vs.85%29.aspx

В моей .net приложении, у меня есть определенное условие я диагностирование в другом потоке (интерфейс поток), наблюдая его. Я могу собрать трассировки стека, подвергая условие, части данных на месте, но я хотел бы использовать ETW и его инструментальную цепочку для дальнейшего анализа.

[В стороне, да, я ищу блокаторы, но в то время как существующая инфраструктура отлично подходит для диагностики известных отдельных блокаторов, мне необходимо получить обзор, и корреляция событий в этом случае недостаточна. Кроме того, собранные данные легко перегружают устройство, которое мне нужно собирать. Мой детектор гораздо умнее, для моего случая, по крайней мере.]

Так что я ищу (в порядке предпочтения)

  1. образом, чтобы заменить стек я собранную заголовка мероприятия
  2. использовать другой атрибут для StackTrace, и способ сКАЖИТЕ инструментов (perfview или Xperf), чтобы использовать это вместо того, чтобы
  3. способ записи ETW .etl совместимые файлы без ETW (но в .net), с полным контроль над заголовком (мне не нужен l ive)

Указатели у кого?

ответ

0

Я пошел с вариантом 4: Используйте совершенно другой формат, по крайней мере, один инструмент может глотать и анализировать. В этом случае файл .perfView.xml написал и выполнил эту работу, хотя возможности анализа не так хороши, как хотелось бы.

 Смежные вопросы

  • Нет связанных вопросов^_^