2012-08-14 17 views
2

我一直試圖在.net 4.5中使用ETW。我有一個使用EventSource編寫消息的小型示例應用程序,但是,我正在努力瞭解如何創建自己的ETW控制器和消費者應用程序。ETW自定義控制器和使用者(使用.net 4.5 EventSource的提供程序)

我已經使用PerfView來啓用並查看eventsources正在工作,以及在同一個程序集中添加EventListners。現在我想能夠擁有自己的自定義「PerfView」來管理和查看實時跟蹤。我無法弄清楚如何綁定到EventSources。

+0

OpenTrace/ProcessTrace/StopTrace可能是您需要的。 http://stackoverflow.com/questions/8256690/which-api-does-windows-resource-monitor-use/8311368#8311368 – Peter 2012-08-16 03:51:28

+0

任何最終解決方案與完整的源代碼示例工作呢? – Kiquenet 2013-06-24 11:20:14

回答

1

查看PerfMonitor及其構建的TraceEvent類。

PerfMonitor是一個包裝應用程序,它可以控制源以及消耗它們的輸出,因此您可以看到事情是如何工作的,TraceEvent完成大部分繁重的工作,因此您可以將其包含在項目中。

PerfMonitor和TraceEvent附帶完整的源代碼,它們在Ms-PL下許可。

PerfMonitor概述: http://bcl.codeplex.com/wikipage?title=PerfMonitor

TraceEvent概述: http://bcl.codeplex.com/wikipage?title=TraceEvent

1

我會建議使用Tx (LINQ to logs and traces) library

此外,還有專用的LINQpad driver可供使用,因此您可以編寫真實ETW會話的ETL文件的歷史或常規查詢,並立即在LINQpad中查看結果,而無需編寫真實代碼。

相關問題