2013-01-19 4 views
14

Chciałbym wystrzelić zdarzenia ETW przy użyciu EventSource i wyświetlić je za pomocą Windows Performance Analyzer.Jak wyświetlić zdarzenia ETW utworzone przez EventSource za pomocą narzędzia Windows Performance Analyzer?

Mam podstawowy EventSource:

[EventSource(Name = "BasicEventSource")] 
public class ETWLogger : EventSource 
{ 
#if DEBUG 
    private const bool ThrowOnError = true; 
#else 
    private const bool ThrowOnError = false; 
#endif 

    private ETWLogger(bool throwOnError) : base(throwOnError) { } 

    private static ETWLogger _log; 
    public static ETWLogger Log 
    { get { return _log ?? (_log = new ETWLogger(ThrowOnError)); } } 

    private static class Keywords 
    { 
     public const EventKeywords Perf = (EventKeywords) 1; 
    } 

    [Event(1, Keywords = Keywords.Perf, Level = EventLevel.Informational)] 
    public void Startup() { WriteEvent(1, "StartUp"); } 
} 

Kiedy mogę nagrywać z Windows wydajności rejestrator (WPR), nie widzę mojego usługodawcy lub zdarzeń na wykresie Generic Events Windows pracę analizatora (WPA).

Dzięki za poświęcony czas :)

+0

Jak rozpocząć sesję? Jest to jedna z metod, z których korzystaliśmy - http://svcperf.codeplex.com/wikipage?title=Realtime%2bWCF%2bSession&referringTitle=FAQs – Sajay

Odpowiedz

1

WPR nie wie nic o swoim niestandardowym EventSource, więc musisz utworzyć profil nagrania, abyś mógł go włączyć. WPT jest dostarczany z kilkoma przykładowymi profilami, które powinny pomóc Ci zacząć.

Wersja 8.1 WPR obsługuje tę samą konwencję nazewnictwa co PerfView, co oznacza, że ​​można użyć *YourEventSource zamiast identyfikatora GUID w profilu.

Z mojego doświadczenia wynika, że ​​niektóre funkcje EventSource nie są dobrze obsługiwane w wersji WPA 8.1. Na przykład. jeśli użyjesz zadań, nie pokażą się poprawnie. Jednak podstawowe użycie EventSource działa dobrze z wersją WPA/WPR w wersji 8.1, gdy tworzysz profil nagrywania dla swojego EventSource.

Inną opcją jest zebranie śladu za pomocą PerfView i przeanalizowanie go za pomocą WPA (jeśli wolisz to nad PerfView).

+0

Utworzyłem profil i nagrywam wydarzenia za pomocą WPR. Rzeczy wyglądają tak, jak oczekuję po otwarciu pliku .etl w PerfView. Jednak gdy otwieram plik .etl w WPA, widzę nazwę guidinstead mojej nazwy źródła zdarzeń i numery zamiast nazw moich zdarzeń. Czy to jest oczekiwane? – JonDrnek

1

WPR i WPA nie obsługiwały EventSource, ale robią to z nowym 8.1 ADK. Zobacz here.

+0

Vance opublikował niestandardową wersję PerfView (http://sdrv.ms/QnHpd4) tutaj które mogłyby zbierać zdarzenia EventSource, a następnie można je wyświetlać w WPA. Podejrzewam, że ostatnio opublikowana wersja 1.5 PerfView również to obsługuje. http://blogs.msdn.com/b/vancem/archive/2013/12/09/perfview-version-1-5-has-been-released.aspx –

Powiązane problemy