2009-10-12 2 views
2

내 시스템에서 TraceEvent API 함수를 사용하여 불투명 한 이진 데이터 블롭을 기록하는 데 사용되는 ETW 제공자가 있습니다. 내 시스템은 본질적으로 하이 스루풋 이벤트 처리 시스템이며, 특정 객체가 시스템을 통과 할 때 직렬화 된 상태를 (값 싸게) 포착 할 수 있기를 원합니다. 이렇게하면 나중에 언제든지 이벤트 추적을 재생하고 응용 프로그램의 특정 상태를 가져온 정확한 이벤트 시퀀스를 재생할 수있는 재연성 기능이 제공됩니다.Windows ETL 추적 파일 형식?

아직 초기 단계에 있으므로 트레이스를 제어 할 수있는 유일한 방법은 logman 또는 tracelog와 같은 도구 중 하나를 사용하는 것입니다.이 도구는 추적 컨트롤러를 만들어 이벤트를 추적 파일에 기록 할 수 있습니다. etl 확장자. 나는 실시간으로 이벤트를 소비하고 이벤트를 파일에 쓸 수있는 독립형 컨트롤러를 작성할 수 있다는 것을 알고 있지만이 단계에서이를 피하려고 노력합니다. (게으름이라고 부릅니다 :)). 그러나 진지하게 왜 유효한?

그럼 누구나 .etl 파일의 이진 형식에 대한 통찰력을 갖고 있습니까? 나는 tracedmp가 그것들을 읽을 수 있고 CSV를 생성 할 수 있다는 것을 알고 있지만 그것은 바이너리 부분에 도움이되지 않는다. 이 파일을 읽고 내가 작성한 얼룩을 파싱 할 수 있다면 본질적으로 내가 재생할 수있는 재연성을 갖게되지만이 파일 형식에서는 아무 것도 찾을 수 없습니다.

덕분에, 폴

+0

어디에서 tracedmp를 찾을 수 있습니까? 최신 Microsoft SDK에는 포함되어 있지 않습니다. – Rhubarb

답변

7

음, 15 분 내 자신의 질문에 대답합니다. 일종의 기록이어야하지만 나는 이것을 위해 반나절을 보냈다는 것을 맹세한다 ... :)

OpenTrace/ProcessTrace/CloseTrace 기능을 사용하면 실시간 추적 세션이나 ETL 로그 파일에서 이벤트를 소비하고 내가 찾고 있었던 바로 그 것이다.

+0

+1 고객님의 질문에 대한 후속 조치. –