Мой коллега упомянул, что в CLR 4.0 есть некоторые существенные улучшения, связанные с Трассировка событий для Windows, но я не мог найти подробностей о том, что именно является новым. Есть несколько сообщений в блогах, в которых упоминаются только улучшения, но не приводятся какие-либо сведения о том, что именно является новым. Кто-нибудь имеет более глубокое понимание этого?
Что такое новые функции ETW в CLR 4.0?
Ответ 1
Вот список событий ETW в CLR 4.0
- Информация о времени выполнения событий ETW
- Exception Thrown_V1 Событие ETW
- Конфликт События ETW
- Пул потоков ETW Events
- События ETW для погрузчиков
- Метод ETW Events
- Коллекция мусора ETW Events
- JIT Трассировка событий ETW
- Interop ETW Events Application
- Мониторинг ресурсов домена (ARM) События ETW
- Безопасность Мероприятия ETW
- Stack ETW Event
Подробнее об этом вы можете прочитать в msdn
И также XPERF не может декодировать управляемые стеки с ETW, поэтому команда BCL выпустила еще один инструмент в кодексе, называемый Perfmonitor, который можно использовать.
НТН
Ответ 2
- Мониторинг ресурсов домена приложения доступен через управляемые и собственные API-интерфейсы хостинга и трассировку событий для Windows (ETW).
- Теперь вы можете получить доступ к событиям ETW для целей диагностики, чтобы повысить производительность.
http://msdn.microsoft.com/en-us/library/ms171868.aspx#core_new_features_and_improvements
Ответ 3
Два улучшения, которые вы могли бы найти, если вы выкопали в некоторых из приведенных выше ссылок, - это новый класс EventProviderTraceListener и новый < класс href= "http://msdn.microsoft.com/en-us/library/system.diagnostics.eventing.eventprovider.aspx" rel= "nofollow" > EventProvider.
EventProviderTraceListener может прослушивать TraceSources (как и любой другой TraceListener) и направлять сообщения TraceSource в систему ETW.
Класс EventProvider позволяет регистрировать сообщения непосредственно в системе ETW.
Эти классы доступны только для Vista и выше (на самом деле они "доступны" в .NET framework 4.0 на любом уровне используемой ОС, но они не работают на XP и ниже).
Я не использовал ни один из этих классов (и я не использовал ETW), но мне кажется, что они упрощают использование ETW из .NET-приложений. Если вы хотите использовать ETW, у вас все еще впереди вас, чтобы настроить ETW.
Вот статья, в которой описывается, как использовать ETW. Я не уверен, есть ли более подробная информация о ETW или нет. Обратите внимание, что эта статья была написана до того, как стали доступны новые классы .NET ETW.