Rejestrowanie śladów za pomocą Winscope

Uruchom Winscope lokalnie lub uzyskaj do niego dostęp z serwera WWW.

Do rejestrowania śladów na potrzeby lokalnego programowania i debugowania możesz używać narzędzia Winscope. Winscope korzysta z narzędzia adb, które obsługuje połączenie z urządzeniem przez USB lub Wi-Fi.

Po uruchomieniu Winscope pojawi się ekran Zbieranie śladów.

Połączenie urządzenia

Urządzenia w Winscope możesz połączyć za pomocą serwera proxy Winscope lub serwera proxy urządzenia internetowego. Domyślnie na stronie głównej Winscope wyświetla się interfejs konfiguracji połączenia Winscope Proxy.

Aby rozpocząć rejestrowanie śladów, wybierz jeden z tych mechanizmów połączenia z urządzeniem.

Konfiguracja serwera proxy Winscope

Aby skonfigurować Winscope Proxy:

  1. W sekcji Zbieranie śladów na stronie głównej w menu Wybierz typ połączenia kliknij Winscope Proxy:

    Zbieranie śladów za pomocą serwera proxy Winscope

    Rysunek 1. Zbieraj ślady za pomocą serwera proxy Winscope.

  2. Uruchom proxy Winscope ADB Connect, aby przechwytywać ślady bezpośrednio z przeglądarki, używając tego polecenia:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. Po wykonaniu zwróć uwagę na token proxy Winscope wyświetlany w terminalu.

  4. Po uruchomieniu serwera proxy Winscope ADB Connect ekran zmieni się w sposób opisany poniżej. Aby nawiązać pierwsze połączenie z serwerem proxy, wpisz token serwera proxy Winscope z kroku 3 i kliknij Połącz.

    Nawiązywanie połączenia z Winscope Proxy

    Rysunek 2. Połącz się z Winscope Proxy.

Konfigurowanie serwera proxy urządzenia internetowego

Aby skonfigurować serwer proxy urządzenia internetowego:

  1. W sekcji Zbieranie śladów na stronie głównej w menu Wybierz typ połączenia kliknij Urządzenie internetowe Proxy:

    Przechwytywanie logów czasu za pomocą serwera proxy urządzenia internetowego

    Rysunek 3. Przechwytywanie logów czasu za pomocą serwera proxy urządzenia internetowego.

  2. Jeśli na komputerze nie masz demona Web Device Proxy, kliknij Zainstaluj lub uruchom instalator.

  3. Zatwierdź dostęp źródła do serwera proxy urządzenia internetowego w oknie.

    Autoryzowanie dostępu WDP do źródła

    Rysunek 4. Autoryzuj źródło.

  4. Zatwierdź dostęp dla każdego nowego urządzenia przy pierwszym połączeniu z nim. Jeśli okno nie pojawi się automatycznie, kliknij ikonę lock_open obok urządzenia:

    wdp_unauth_device

    Rysunek 5. Autoryzuj urządzenie.

Logi czasu

Aby zebrać ślady:

  1. Po połączeniu wybierz obiekty i skonfiguruj ustawienia, aby rozpocząć proces rejestrowania. Następnie kliknij Start trace (Rozpocznij śledzenie), aby rozpocząć rejestrowanie:

    Zbieranie śladów w Winscope

    Rysunek 6. Zbieraj ślady w Winscope.

  2. Aby zatrzymać rejestrowanie, kliknij Zakończ śledzenie:

    Zakończ śledzenie w Winscope

    Rysunek 7. Zakończ śledzenie w Winscope.

Opcje śledzenia

W tej sekcji opisujemy opcje dla każdego typu śladu.

Nagrywanie ekranu

Za pomocą Winscope możesz nagrywać ekran na wielu wyświetlaczach. Wybierz wyświetlacz z menu, aby nagrać ekran. Jeśli nie dokonasz wyboru, Winscope domyślnie nagra aktywny wyświetlacz.

SurfaceFlinger

  • Rozmiar bufora: dostosowuje rozmiar bufora pierścieniowego w pamięci na potrzeby śledzenia SurfaceFlingera. Większy bufor umożliwia zbieranie większej ilości danych, ale zwiększa wykorzystanie pamięci.

  • Dane wejściowe: jeśli powierzchnia zawiera dane wejściowe, śledzi szczegóły okna wprowadzania.

  • Kompozycja: śledzi typ kompozycji i widoczny region.

  • Metadane: śledzi dodatkowe metadane powierzchni, w tym warstwy poza ekranem.

  • HWC: śledzi dodatkowe nieustrukturyzowane metadane kompozytora sprzętu.

  • Trace buffers (Śledzenie buforów): konfiguruje SurfaceFlinger tak, aby śledził wszystkie zmiany buforów na powierzchni. Domyślnie SurfaceFlinger śledzi nowy stan tylko wtedy, gdy zmieni się geometria.

  • Wirtualne wyświetlacze: obejmuje wirtualne warstwy wyświetlania w śladzie.

WindowManager

  • Rozmiar bufora: dostosowuje rozmiar bufora pierścieniowego w pamięci dla śledzenia Menedżera okien. Większy bufor umożliwia zbieranie większej ilości danych, ale zwiększa wykorzystanie pamięci.
  • Typ śledzenia:określa opcje częstotliwości zbierania stanów:

    • frame: w tym trybie menedżer okien zrzuca pojedynczy stan na klatkę, dzięki czemu rejestrowane są tylko prawidłowe stany menedżera okien. Ten tryb ma najmniejszy narzut na wydajność.
    • transaction:ten tryb rejestruje stan WindowManager, gdy tylko zostanie zatwierdzona transakcja. W ramach jednej klatki możesz zatwierdzić wiele transakcji, co umożliwia debugowanie stanów pośrednich WindowManager w trakcie klatki. Ten tryb ma jednak większy narzut na wydajność niż tryb klatkowy.
  • Poziom śledzenia: określa szczegółowość śledzenia WindowManager:

    • verbose:zawiera wszystkie okna i informacje o konfiguracji każdego okna. Ten tryb ma największy narzut na pamięć i wydajność.
    • debug: zawiera informacje o wszystkich oknach, ale rejestruje tylko konfigurację okna, jeśli zawiera ona żądaną konfigurację zastępującą.
    • krytyczny: zawiera te same informacje co tryb debugowania, ale tylko widoczne okna. Ten tryb ma najmniejszy narzut na pamięć i wydajność.

Dumps

Aby wykonać zrzut stanu za pomocą Winscope, w sekcji Zbieranie śladów na stronie głównej wybierz kartę Zrzut, a następnie kliknij Zrzut stanu:

Zrzut stanu w Winscope

Rysunek 8. Utwórz zrzut stanu w Winscope.

Konfiguracja zrzutu

Winscope umożliwia robienie zrzutów ekranu na wielu wyświetlaczach. Wybierz wyświetlacz z menu, aby zrobić zrzut ekranu. Jeśli nie dokonasz wyboru, zrzut ekranu zostanie pobrany z aktywnego wyświetlacza.