Зачем использовать ETW поверх EventLog и наоборот? - PullRequest
13 голосов
/ 08 марта 2012

Почему я должен использовать Event Tracing для Windows (ETW) вместо стандартного .NET EventLog класса и наоборот?Влияет ли знание, что мы будем использовать довольно много счетчиков производительности, на решение?

Что я знаю до сих пор:

  1. ETW должен работать намного лучше .
  2. ETW - намного больше работы для интеграции (например, .NET Event Tracing для Windows )
  3. Выбор одного из стандартных каналов в ETW (например, Приложение, Система)та же информация доступна в журнале событий.

Ответы [ 2 ]

13 голосов
/ 08 марта 2012

ETW имеет много преимуществ.

Во-первых, в .NET 4.5 его будет гораздо проще использовать.Класс EventSource в 4.5 значительно упрощает создание событий в вашем коде.

Однако даже без этого ETW имеет некоторые огромные преимущества, хотя обычно работает по-другому, и, как таковая,служит для другой цели, чем EventLog.

EventLog действительно предназначен для ведения журнала.ETW, с другой стороны, позволяет отслеживать прогресс вашего приложения в контексте системы в целом .Когда вы начинаете собирать события ETW, вы собираете их на системной основе, что позволяет вам не только отслеживать свое приложение, но и видеть, что происходит с системой во время ее работы.Используя такой инструмент, как PerfView , вы можете увидеть, как работают определенные части вашего приложения, одновременно наблюдая за тем, что происходит с платформой и Windows в целом.

4 голосов
/ 20 февраля 2013

Эта статья MSDN хорошо описывает преимущества ETW.

Несмотря на то, что EventSource предоставляет разработчикам .NET отличный идиоматический способ для создания событий ETW, он не подходитс любым из знакомых мест для ведения журнала (переходящий файл, база данных и т. д.).ETW использует свои собственные пункты назначения, такие как файлы .etl, и использует различные инструменты для анализа и анализа данных журнала.

Новый прикладной блок семантической регистрации упрощает включение функциональности EventSource и управление поведением журналирования вашей системы.Это позволяет унаследовать большую часть структуры от конвейера ETW, включая метаданные событий и полезную нагрузку, записывать сообщения журнала в несколько мест назначения, таких как базы данных, обновляемые файлы или хранилище таблиц Windows Azure, и управлять тем, что регистрирует ваша система, задавфильтры и подробный журнал.

...