Windows Performance Toolkit – informacje o systemie, deployment WPR, wgrywanie symboli do WPA… i jak ograniczyć wpływ kawy na to narzędzie.

Co przygotowałem tym razem? Dziś też damy odpocząć naszemu Paladynowi, nie będzie też porad co do levelowania Chowańca (Panowie, prowadzę sesje RPG, a nawet dla mnie brzmi to dziwnie, więc chyba jednak małżonki wcale nie są przesadnie złośliwe). 😉 O czym więc będzie traktować mój wpis?

Jestem zmuszony poruszyć kilka krótkich tematów, o których nie zająknąłem się przy okazji wpisów wcześniejszych, a które z pewnością się Wam przydadzą przy użytkowaniu WPT. Lubię o sobie myśleć jako o osobie zorganizowanej, jednak w twórczym uniesieniu Chaos znowu wygrał z Porządkiem… jeżeli wierzyć Sir Terry’emu Pratchetowi, jest to zasługa lepszej organizacji. 😉

Dzisiejszy wpis będzie miał postać Q&A – wyjaśnię więc parę rzeczy, o których zapomniałem wspomnieć w pierwszych trzech wpisach. Zakończymy zaś wyeliminowaniem wpływu porcji kofeiny w kubku na nagrywanie śladu diagnostycznego… 😉 Gotowi? Zaczynamy!

Czy muszę instalować cały pakiet Windows Performance Toolkit, by móc nagrać Trace’a?

Nie, nie jest to konieczne, zresztą nie ma to tak po prawdzie wiele sensu. 😉 Wystarczy ściągnąć ADK, zainstalować cały pakiet WPT na maszynie, na której zamierzamy analizować nagrane ślady diagnostyczne. Co potem?

Udajemy się do katalogu, w którym został zainstalowany pakiet, domyślnie:

C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\

Szukamy folderu „Redistributables”, gdzie znajdziemy pliki .msi za pomocą których możemy zainstalować samo WPR.

1

Jak widać pliki ważą kilka megabajtów, tak więc możemy pokusić się o masową dystrybucję programu bez wielkiego strachu o Nieprzewidziane Konsekwencje. 😉

Czy w nagraniu z WPR znajdę szczegóły dotyczące konfiguracji stacji roboczej?

Tak i to całkiem sporo, więc nie musimy pamiętać, czym się różni komputer Pani Asi od tego stojącego pod biurkiem Pani Wioli. Tudzież – jeżeli pamięć mamy dobrą, acz z powodu natłoku bodźców bufor czyścimy często – posiłkować się nieśmiertelnymi karteczkami samoprzylepnymi.

Po załadowaniu interesującego nas nagrania, z górnego menu wybieramy „Trace”, a potem klikamy na opcję „System Configuration”:

2

Oczom naszym ukaże się kolejne okno, w którym znajdziecie moc informacji o komputerze, na którym został nagrany odczytywany ślad diagnostyczny. Hardware, wersja systemu, ustawienia sieci, odpalone usługi, lista sterowników, informacje dotyczące środowiska graficznego… Zresztą, sami popatrzcie:

3

Spokojnie więc możemy oszczędzać nieśmiertelne żółte karteczki na hasła administratora\root’a pod klawiaturą. 😉

Czy przy każdym uruchomieniu WPA, muszę od nowa konfigurować widok, grupowanie kolumn w tabelach, poziom detali?

Drugi raz nie. Przy analizowaniu informacji nagranych przez WPR, krytyczne jest co i w jaki sposób oglądamy. Ukryjcie jedną kolumnę za dużo, a stwierdzicie iż żadnego problemu nie ma… nie filtrujcie informacji, a będziecie jak Tezeusz w labiryncie, tyle że bez kłębka. Znalezienie Minotaura może Wam wtedy chwilę zająć. Dłuższą chwilę. 😉

Dla własnej wygody, albo przy analizowaniu dużej ilości śladów, chociażby podczas porównywania zachowania aplikacji na różnych maszynach, czy różnych konfiguracjach systemu, możemy pokusić się o stworzenie profilu. Jest to banalnie proste – konfigurujemy widok w sposób, który uważamy za najefektywniejszy pod kątem szukania Minotaura pustoszącego diagnozowane przez nas królestwo, a potem z górnego menu wybieramy opcję „Profiles” i klikamy „Export”:

4

Nadajemy profilowi jakąś czytelną nazwę i tyle. Ilekroć będziemy chcieli skorzystać z ulubionej konfiguracji okienek, zamiast pracowicie klikać i przenosić obiekty, wybieramy po prostu opcję „Apply…”, po czym wskazujemy zapisany profil. Voila!

Co więcej, jeżeli WPT wykorzystujemy głównie do diagnozowania problemów jednego typu, na przykład długich rozruchów systemu operacyjnego, to możemy pokusić się o modyfikację profilu początkowego. Wtedy każdy otwarty przez nas trace, będzie starał się pokazać nam już na starcie, najbardziej przydatny według nas zestaw informacji. Wystarczy skonfigurować widok według naszego widzimisię, a potem kliknąć „Save Startup Profile”. Godzimy się na nadpisanie istniejącego profilu początkowego i… to tyle. Co start WPA, powinien nas witać identyczny zestaw wykresów.

Jak zatrzymać nagrywanie trace’a skrótem klawiszowym?

Wyobraźcie sobie taką sytuację – użytkownik zgłosił rzadko pojawiający się, acz bardzo uciążliwy problem z jakaś aplikacją, w której wykonuje swoją pracę. Na pytanie o to, kiedy ów problem się pojawia, słyszymy zazwyczaj coś w stylu: „No, pracuje sobie normalnie, robię to co zwykle, a tu nagle… nie działa”. Co człowiek, to inna definicja normalności, więc może to oznaczać tak naprawdę cokolwiek następującego kiedykolwiek. 😉

Owszem, zdarzają się użytkownicy, którzy sprawiają iż spędzenie kilku godzin przy ich boku i czyhanie na wystąpienie problemu, zdaje się całkiem kuszącą perspektywą, jednak… cóż, zazwyczaj mamy do zrobienia aż nadto, prawda? Jesteśmy nielicznymi przedstawicielami gatunku, którym tak wielu zawdzięcza tak wiele, by sparafrazować słowa Churchilla. 😉

Próby sprowokowania problemu spełzły na niczym, pozostaje nam więc odpalić nagrywanie trace’a do pamięci operacyjnej i pokazać użytkownikowi, jak go zapisać natychmiast po tym kiedy problem ustąpi. Owszem, możemy również poprosić o natychmiastowy telefon, ale niewielu z nas dorównuje Usainowi Boltowi. Zresztą, rączy bieg jakoś nie pasuje do kanonicznego wizerunku Człowieka z IT i może skończyć się zbiorową paniką, zakończoną ewakuacją zakładu pracy – jeżeli IT biega, zapewne właśnie rozpoczęła się apokalipsa zombie. 😉

Wracamy jednak do swoich innych zadań i zostawiamy użytkownika samego. Mija godzina, dwie, trzy, masa maili, masa telefonów, szef się kręci w pobliżu i nagle… dzieje się. Co mówił Człowiek z IT? Gdzie jest to cholerne okienko? Chyba to… Okienko pojawia się:

5

Zapewne domyślacie się, jakie ryzyko niesie za sobą umieszczenie obok siebie przycisków „Save” i „Cancel”. 😉 Niestety, WPR po kliknięciu ikony „Cancel” nie pyta grzecznie czy jesteśmy pewni swojej decyzji.

Zamiast więc ryzykować utratę trace’a, na którego tyle czekaliśmy, zostawmy użytkownikowi żółtą karteczkę z nabazgranym skrótem:

CTRL + Windows + C

Niech go naciśnie, po tym jak problem ustąpi i da znać, że możemy podejść. Nam pozostanie wyciągnięcie okienka WPR na wierzch i wpisanie komentarza do właśnie nagranego trace’a.

WPT nie wspiera użycia Plików Symboli?

Wręcz przeciwnie – wspiera, w tym także tych pochodzących spoza Microsoftu. Jest to istotne w momencie wykorzystania techniki „stack-walkingu” (polski odpowiednik to prawdopodobnie „śledzenie stosu wywołań”) do analizy problemu – postaram się ją zaprezentować w przyszłych wpisach o wykorzystaniu WPT. Wyobraźcie sobie, jak na Typowe Pytanie Kobiety Twojego Życia, czyli: „Co roooobisz?”, odpowiadacie: „A nic… analizuje stos wywołań dla takiego procesu…”. A niech zda sobie sprawę, że jesteśmy jedyni w swoim rodzaju.

Chociaż jeżeli potraktowaliście ją kiedyś „levelowaniem Chowańca”, to może już coś podejrzewać. 😉

W każdym razie, część z Was zapyta pewnie: „Co z tego, iż WPT wspiera owe „Pliki Symboli”?

Jako, że dochodzę już do 1000 wyrazów, posłużę się prostą, obrazkową ilustracją. Stos bez symboli:

6

A teraz to samo po ich wgraniu:

7

Widzicie różnicę? To drugie mówi już nam cokolwiek więcej, prawda?

Tak więc, po wgraniu naszego trace’a, należałoby z górnego menu wybrać „Trace”, a potem opcję „Load Symbols”:

8

Niestety, teraz musicie uzbroić się w cierpliwość. Przykładowo, dla 30 sekundowego nagrania, operacja potrafiła zająć 2 minuty. Dla pełnego śladu rozruchu systemu operacyjnego, rośnie to już niestety do około kwadransa. Czas ten będzie ulegał stopniowemu skróceniu, wraz z rosnącym zbiorem Symboli, które zostały już przez Windows ściągnięte, jednak nadal jest to jedna z tych czynności, które zmuszają nas do stosowania wypitych napoi jako miary czasu. Microsoft podobno pracuje nad poprawieniem wydajności tej operacji, pozostaje więc czekać. W sieci krąży kilka sposobów, dzięki którym można ten czas skrócić, jednak mi udało się tylko doprowadzić aplikację do odmowy posłuszeństwa przy ich pomocy.

Zanim zakończymy ten wątek, kliknijmy jeszcze w „Configure Symbol Paths”. Mamy tam możliwość zmiany miejsca, z których WPA spróbuje ściągnąć potrzebne do analizy zestawy symboli:

9

Widzimy więc, skąd domyślnie aplikacja próbuje ściągać dane, jak też gdzie je zapisuje (po kilkudziesięciu trace’ach, folder waży u mnie około 150 MB). Możliwe, że do analizy niektórych aplikacji, będziecie musieli ściągać Pliki Symboli z innych lokacji – swój własny serwer ma na przykład przeglądarka Chrome.

Jak sprawdzić, ile czasu zajęło użytkownikowi zalogowanie się do systemu operacyjnego?

Na początek wyjaśnijmy, po co nam ta wiedza. Wyobraźcie sobie, że diagnozujecie długi czas rozruchu systemu operacyjnego, restartu, tudzież wychodzenia z trybu uśpienia. Uruchamiacie trace’a i w tym momencie dzwoni Wasz telefon służbowy. Trzeba natychmiast biec do serwerowni, bo właśnie zdarzyło się Coś Niepokojącego. Albo dzwoni do Was sekretarka Pana Prezesa i prosi o natychmiastowe udanie się do lokalnego Gabinetu Owalnego, bo iPhone niedomaga… trudno, musimy zostawić użytkownika samego na informatyczne 5 minut (czyli okres czasu, który może rozciągać się stąd do wieczności). 😉

Wracamy po ciężkich bojach, użytkownik pracuje sobie normalnie, popijając ciepłą kawę. Ściągamy więc nagrany przez WPR ślad i zaczynamy analizę:

10

Hm, no dobra, nietrudno będzie znaleźć winowajcę. Czyżby znowu szwankowała implementacja polityk? Przeciągamy na główny ekran wykres „Windows Logon”:

11

A jednak, to nie polityki nam brużdżą. Mamy dobre 7 minut pustki. Co to może być? Zwróciliście uwagę na to, że użytkownik popijał ciepłą kawę? Sprawdźmy ile czasu system czekał na uwierzytelnienie użytkownika. Klikamy dwukrotnie na wykresie „Generic Events”, sortujemy listę po Providerach i wyszukujemy Microsoft-Windows-Shell-AuthUI. Następnie cierpliwie śledzimy postęp tego procesu, aż:

12

Mamy dowód, że dłuuuugi czerwony pasek, to nic innego jak parzenie kubka kawy. Albo wyjście do łazienki. Bądź socjalizowanie się z sąsiadem. Lub też telefon do męża/żony/kochanki.

Żeby uniknąć takich przypadków, polecam jednorazowe zastosowanie na czas trwania testu aplikacji Autologon z pakietu SysInternals. Odpalamy aplikację z katalogu do którego rozpakowaliśmy pakiet, godzimy się na warunki użytkowania, po czym wypełniamy pola z loginem i hasłem:

13

Klikamy następnie „Enable” i rozpoczynamy procedurę nagrywania trace’a przez WPR. Po jej zakończeniu, odpalamy jeszcze raz „Autologon” i klikamy „Disable”.

Warto pamiętać, iż „Autologon” wymaga uprawnień administratora dla sprawnego działania.

Na tym zakończę dzisiejszy wpis. Mam nadzieję, że ułatwiłem Wam dzięki niemu pracę przy pomocy WPT i babranie się w ciepłych, jeszcze parujących, Windowsowych trzewiach. 😉

Przeczytaj także...

Dodaj komentarz