2012-08-14 7 views
2

.net 4.5에서 ETW로 작업하려고했습니다. EventSource를 사용하여 메시지를 작성하는 작은 샘플 응용 프로그램이 있지만 자체 ETW 컨트롤러 및 소비자 응용 프로그램을 만드는 방법을 이해하는 데 어려움을 겪고 있습니다.ETW 사용자 지정 컨트롤러 및 소비자 (.net 4.5 EventSource를 사용하는 공급자)

필자는 PerfView를 사용하여 eventsource가 작동하고 있는지 확인하고 동일한 어셈블리 내에 EventListener를 추가했습니다. 이제는 라이브 추적을 관리하고 볼 수있는 자체 "PerfView"사용자 지정 기능이 필요합니다. EventSources에 묶는 방법을 알아낼 수 없습니다.

+0

OpenTrace/ProcessTrace/StopTrace가 필요할 수도 있습니다. http://stackoverflow.com/questions/8256690/which-api-does-windows-resource-monitor-use/8311368#8311368 – Peter

+0

전체 소스 코드 샘플을 사용하는 최종 해결책이 있습니까? – Kiquenet

답변

1

PerfMonitor와 PerfMonitor가 빌드 된 TraceEvent 클래스를 확인하십시오.

PerfMonitor는 소스를 제어 할뿐만 아니라 출력을 소비 할 수 있도록 래퍼 (wrapper) 애플리케이션이며, TraceEvent는 대부분의 과중한 작업을 수행하므로 프로젝트에 포함 할 수 있습니다.

PerfMonitor 및 TraceEvent는 완전한 소스 코드와 함께 제공되며 Ms-PL로 라이센스됩니다. PerfMonitor의

개요 : TraceEvent의 http://bcl.codeplex.com/wikipage?title=PerfMonitor

개요 : http://bcl.codeplex.com/wikipage?title=TraceEvent

1

나는 Tx (LINQ to logs and traces) library를 사용하는 것이 좋습니다.

LINQpad driver도 사용할 수 있으므로 실제 ETW 세션의 ETL 파일에 기록 또는 대기 쿼리를 작성하고 실제 코드를 작성하지 않고 LINQpad에서 바로 결과를 볼 수 있습니다.