Dot-Net

為什麼在 EventLog 上使用 ETW,反之亦然?

  • October 25, 2017

為什麼我應該在標準的 .NET EventLog 類上使用Windows 事件跟踪 (ETW),反之亦然?知道我們將使用相當多的性能計數器會影響決策嗎?

到目前為止我所知道的:

  1. ETW 應該表現得更好
  2. ETW 需要集成更多的工作(例如.NET Event Tracing for Windows
  3. 通過選擇 ETW 中的標准通道之一(例如應用程序、系統),事件日誌中會提供相同的資訊。

ETW 有很多優點。

首先,在 .NET 4.5 中,它的使用會簡單得多。4.5 中的EventSource類極大地簡化了從程式碼中創建事件的過程。

然而,即使沒有這個,ETW 也有一些巨大的優勢,儘管它的工作方式通常不同,因此與 EventLog 的用途不同。

EventLog真的是為記錄而設計的。另一方面,ETW 允許您在整個系統的上下文中跟踪應用程序的進度。當您開始收集 ETW 事件時,您會在系統基礎上收集它們,這不僅可以讓您跟踪您的應用程序,還可以在系統執行時查看與系統相關的情況。通過使用PerfView之類的工具,您可以查看應用程序的特定部分如何執行,同時查看框架和整個 Windows 發生的情況。

引用自:https://stackoverflow.com/questions/9611122