2012-03-08 19 views
13

Dlaczego powinienem używać Event Tracing for Windows (ETW) przez standard .NET EventLog class i na odwrót? Czy świadomość, że będziemy używać wielu liczników wydajności, wpływa na decyzję?Dlaczego warto korzystać z ETW przez EventLog i na odwrót?

co wiem do tej pory:

  1. ETW powinien perform much better.
  2. ETW jest znacznie więcej pracy, aby zintegrować z (np .NET Event Tracing for Windows)
  3. Wybierając jeden ze standardowych kanałów w ETW (np Application System), ta sama informacja jest dostępna w dzienniku zdarzeń.

Odpowiedz

13

ETW ma wiele zalet.

Po pierwsze, w .NET 4.5 będzie znacznie łatwiejszy w użyciu. Klasa EventSource w wersji 4.5 znacznie upraszcza tworzenie zdarzeń z poziomu kodu.

Jednak nawet bez tego, ETW ma kilka ogromnych zalet, chociaż zwykle działa inaczej, i jako takie służą innemu celowi niż EventLog.

EventLog jest naprawdę zaprojektowany do logowania. Z kolei ETW pozwala prześledzić postępy aplikacji w kontekście całego systemu . Gdy zaczniesz zbierać zdarzenia ETW, zbierasz je na podstawie systemu, co pozwala ci nie tylko śledzić twoją aplikację, ale także śledzić, co dzieje się w związku z działającym systemem. Korzystając z narzędzia takiego jak PerfView, można zobaczyć, jak działają określone części aplikacji, jednocześnie obserwując, co dzieje się z ramą i systemem Windows jako całością.

4

Ta robota MSDN article dobrze opisuje zalety ETW.

Podczas gdy EventSource zapewnia świetny idiomatyczny sposób dla programistów .NET do tworzenia zdarzeń ETW, nie ma on żadnych znanych miejsc do rejestrowania (plik toczenia, baza danych itp.). ETW używa własnych miejsc docelowych, takich jak pliki .etl, i używa różnych narzędzi do analizowania i analizowania danych dziennika.

Nowa funkcja Semantic Logging Application Block ułatwia włączenie funkcji EventSource i zarządzanie zachowaniem rejestrowania w systemie. Umożliwia dziedziczenie większości struktury z potoku ETW, w tym metadane zdarzeń i ładunek, w celu zapisywania komunikatów dziennika do wielu miejsc docelowych, takich jak bazy danych, pliki toczenia lub magazynowanie tabel systemu Windows Azure, a także do kontrolowania dzienników systemu przez ustawienie filtry i rejestrowanie gadatliwości.

Powiązane problemy