Używanie zdarzeń "śledzenie zdarzeń Dla Windows"
Odpowiedź na to pytanie skłoniło mnie do przyjrzenia się użyciu "śledzenia zdarzeń Dla Windows"dla naszych potrzeb śledzenia. Natknąłem się na NTrace , który wydaje się być dobrym sposobem na tworzenie zdarzeń ETW z kodu C# (przy użyciu kompatybilnego z XP modelu "Classic provider").
Nie jestem jednak w stanie znaleźć łatwego sposobu, aby wykorzystać te zdarzenia - zobaczyć je w czasie rzeczywistym i/lub zalogować do pliku. Jedyny sposób jaki znalazłem to opisany w dokumentacji NTrace: za pomocą narzędzie, które jest dostępne tylko jako część DDK systemu Windows.
W przypadku złożonego problemu w polu, może być konieczne poproszenie Użytkownika o utworzenie pliku zawierającego ślad. Nie możemy prosić użytkowników o pobranie DDK ani przeprowadzić w tym celu wielu złożonych operacji.
Czy istnieje prosty, przyjazny dla użytkownika sposób logowania zdarzeń ETW do pliku?
Ponadto, czy jest możliwe, aby ktoś korzystał z eventów ETW na Windows Vista / 7, jeśli nie są one uruchomione jako administrator?
5 answers
TraceView to najprostsze gotowe rozwiązanie, ale możliwe jest napisanie własnej przeglądarki ETW, która jest specyficzna dla Twojego dostawcy. Dałoby to pełną kontrolę nad prezentacją i znacznie ułatwiłoby użytkownikowi końcowemu, ponieważ TraceView jest naprawdę bardziej narzędziem do debugowania niż czymś, o co możesz poprosić użytkowników końcowych.
Jeśli chodzi o śledzenie w czasie rzeczywistym, zgodnie z dokumentacją :
Tylko użytkownicy z uprawnieniami administracyjnymi, użytkownicy w Grupa użytkowników dziennika wydajności i usługi działające jako LocalSystem, LocalService, NetworkService mogą wykorzystywać zdarzenia w czasie rzeczywistym. Aby przyznać ograniczonemu użytkownikowi możliwość korzystania ze zdarzeń w czasie rzeczywistym, dodaj je do grupy użytkowników dziennika wydajności.
Windows XP i Windows 2000: każdy może korzystać z zdarzeń w czasie rzeczywistym.
Jeśli jesteś zainteresowany napisaniem własnej przeglądarki ETW (w czasie rzeczywistym lub pliku dziennika), tutaj znajduje się Odpowiednia dokumentacja.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-07 21:30:43
Windows Event Log odczytuje ETW. W rzeczywistości powiedziałbym, że jest to prawidłowy sposób dla konsumenta (Nie programu), aby wyświetlić i wyeksportować ślady ETW.
Zobacz tutaj dla przykładu. http://blogs.microsoft.co.il/blogs/applisec/archive/2009/10/12/reading-etw-tracing-using-event-viewer.aspx
To pytanie na msdn omawia, co zrobić, gdy dzienniki nie pojawiają się. Czy coś tu pomaga?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-05 06:34:34
ETW tracing został zaprojektowany do działania tylko przez administratorów, ponieważ trace może zawierać dane osobowe. I stanowiłoby zagrożenie dla bezpieczeństwa, jeśli nie-administrator może przechwycić ślad.
Oto przykład ostrzeżenia z xperf
Ślad, który właśnie uchwyciłeś "C:\Windows\system32\kernel.etl " może zawierać dane osobowe, w tym między innymi ścieżki dostępu do plików, ścieżki dostępu do rejestru i nazwy procesów. Dokładne informacje zależą od zdarzeń, które zostały zarejestrowane. Proszę o tym pamiętać, dzieląc się tym śladem z innymi ludźmi.
Mam nadzieję, że to odpowie na twoje pytanie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-19 02:02:56
Oto jak można uzyskać niestandardowe ślady ETW od własnego dostawcy i jak można używać ETW w ramach zarządzanego kodu
Mam nadzieję, że to pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-02 04:18:40
IMO Perfview jest jednym z najlepszych dostępnych narzędzi do kontrolowania i przeglądania śladów ETW. Może również zapewniać zarządzane stosy połączeń. Najlepsze jest to, że możesz kopiować na dowolnym serwerze i zbierać ślady.
Perfview używa biblioteki TraceEvent i tutaj sample Jak można go używać używając API i C #
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-19 12:07:24