2009-10-12 86 views
2

我寫了一個ETW提供程序,我的系統使用該提供程序來使用TraceEvent API函數記錄不透明的二進制數據blob。我的系統本質上是一個高吞吐量事件處理系統,我希望能夠(便宜地)捕獲某些對象在系統中通過時的序列化狀態。這將給我一個可重複使用的功能,以便在將來的任何時候我都可以重放事件追蹤並重現事件的確切順序,從而在應用程序中產生一個特定的狀態。Windows ETL Trace文件格式?

它還處於早期階段,所以此刻我唯一的控制跟蹤是通過使用諸如logman或tracelog之類的工具之一,它可以創建跟蹤控制器以將事件記錄到跟蹤文件中。 etl擴展。我知道我可以編寫一個獨立的控制器,它可以實時消耗事件並將事件寫入自己的文件,但我想在這個階段嘗試避免這種情況(稱之爲懶惰:)),但是爲什麼要重寫已經存在的東西可用?

那麼,有沒有人有任何洞察二進制格式的.etl文件?我知道像tracedmp這樣的東西可以讀取它們並生成CSV,但這對二進制部分沒有幫助。如果我可以讀取這些文件並解析出我寫的blob,那麼我基本上就具有了我以後的重放能力,但是我無法找到這種文件格式的任何內容。

感謝, 保羅

+0

我在哪裏可以找到tracedmp?它不在最新的Microsoft SDK中。 – Rhubarb 2010-10-16 02:14:57

回答

7

好,15分鐘回答我的問題。必須是某種記錄,但我發誓我花了半天的時間尋找這個...... :)

OpenTrace/ProcessTrace/CloseTrace函數允許您使用來自實時跟蹤會話或來自ETL日誌文件的事件,似乎正是我所期待的。

+0

+1關注你自己的問題。 – 2010-07-17 20:41:58