Rejestrowanie śladu systemu na urządzeniu

Urządzenia z Androidem 9 (poziom interfejsu API 28) lub nowszym zawierają aplikację na poziomie systemu o nazwie śledzenie systemowe. Ta aplikacja jest podobna do narzędzia wiersza poleceń systrace, ale umożliwia rejestrowanie śladów bezpośrednio na urządzeniu testowym bez konieczności podłączania go i łączenia się z nim przez adb. Następnie możesz użyć aplikacji, aby udostępnić wyniki tych śledzeń swojemu zespołowi programistów.

Urządzenia z Androidem 10 lub nowszym zapisują ścieżki w formacie Peretto, a starsze urządzenia – w formacie Systrace. Zalecamy korzystanie z przeglądarki śladów Peretto do otwierania obu formatów, a następnie analizowania śladów.

Pomaga to rejestrować ścieżki podczas rozwiązywania problemów z wydajnością w aplikacji, takich jak długie uruchamianie, wolne przejścia lub problemy z interfejsem.

Rejestrowanie śladu systemu

Aplikacja śledzenia systemu umożliwia rejestrowanie śladów systemu za pomocą płytki Szybkie ustawienia lub menu w samej aplikacji. W poniższych sekcjach opisaliśmy, jak dokończyć proces nagrywania za pomocą tych interfejsów.

Rejestrowanie za pomocą kafelka Szybkich ustawień

Płytka Szybkie ustawienia to zwykle wygodniejszy sposób na przeprowadzenie procesu śledzenia na urządzeniu.

Konfigurowanie płytki

Jeśli po raz pierwszy korzystasz z śledzenia systemu na urządzeniu testowym lub nie widzisz kafelka Śledzenie systemu w panelu Szybkie ustawienia urządzenia, jak pokazano na rysunku 2, wykonaj te czynności konfiguracyjne:

  1. Włącz opcje programisty.
  2. Otwórz ekran ustawień Opcje programisty.
  3. W sekcji Debugowanie kliknij Śledzenie systemu. Otworzy się aplikacja śledzenia systemu, która wyświetli menu aplikacji.
  4. W menu aplikacji włącz Pokaż kafelek Szybkie ustawienia, jak pokazano na rysunku 1. System dodaje kafelek Śledzenie systemu do panelu Szybkie ustawienia, jak pokazano na rysunku 2.

    Rysunek 1. Przełącznik Pokaż kafelek Szybkich ustawień w aplikacji śledzenia systemu.
    Rysunek 2. Kafelek Śledzenie systemu w panelu Szybkie ustawienia.

    Uwaga: system domyślnie dodaje kafelek Śledzenie systemowe jako pierwszy kafelek w panelu Szybkie ustawienia. Jeśli chcesz, aby kafelek pojawił się w innej pozycji, użyj trybu edycji panelu, aby go przenieść.

Przeprowadzanie nagrywania śledzenia systemu

Aby nagrać ślad systemu za pomocą panelu Szybkie ustawienia, wykonaj te czynności:

  1. Kliknij kartę Śledzenie systemu z etykietą Nagrywaj ślad. Kafelek staje się aktywny, a na ekranie pojawia się stałe powiadomienie informujące, że system rejestruje ślad.

    Powiadomienie z wiadomością „Śledzenie jest nagrywane”. Kliknij, aby zatrzymać śledzenie.
    Rysunek 3. Powiadomienie, które nie znika, wyświetlane po rozpoczęciu śledzenia systemu na urządzeniu.
  2. Wykonaj w aplikacji działania, które chcesz sprawdzić.

  3. Aby zatrzymać śledzenie, kliknij kafelek Śledzenie systemowe w panelu Szybkie ustawienia lub w powiadomieniu o śledzeniu systemowym.

    System wyświetli nowe powiadomienie z komunikatem „Zapisywanie ścieżki”. Po zakończeniu zapisywania system zamknie powiadomienie i wyświetli trzecie powiadomienie z potwierdzeniem, że ślad został zapisany i możesz udostępnić ślad systemu, jak pokazano na rysunku 4:

    Powiadomienie z wiadomością „Ślad został zapisany. Kliknij, aby udostępnić ślad.
    Rysunek 4. Trwałe powiadomienie, które pojawia się po zapisaniu śladu przez system.

Nagrywanie za pomocą menu aplikacji

Menu aplikacji umożliwia konfigurowanie kilku zaawansowanych ustawień związanych z śledzeniem systemu oraz zawiera przełącznik do uruchamiania i zatrzymywania śledzenia systemu.

Aby zarejestrować śledzenie systemu za pomocą menu aplikacji Śledzenie systemu:

  1. Włącz opcje programisty.
  2. Otwórz ekran ustawień Opcje programisty. W sekcji Debugowanie wybierz Śledzenie systemu. Otworzy się aplikacja Śledzenie systemu.

    Jeśli skonfigurujesz kartę Śledzenie systemu, możesz nacisnąć i przytrzymać kartę, aby otworzyć aplikację Śledzenie systemu.

  3. Upewnij się, że wybrana jest opcja Śledź aplikacje z możliwością debugowania, aby uwzględnić w sygnałach systemowych aplikacje z włączonym debugowaniem.

  4. Opcjonalnie wybierz kategorie wywołań systemu i czujników, które mają być śledzone, a także rozmiar bufora na procesor w KB. Wybierz kategorie odpowiadające testowanym przypadkom użycia, np. kategorię Dźwięk do testowania operacji Bluetooth lub kategorię Pamięć do przydzielania pamięci.

  5. Opcjonalnie wybierz Długie ślady, aby włączyć ślady, które są stale zapisywane w pamięci urządzenia. W przypadku tej opcji ustaw limity Maksymalny rozmiar długiego śladuMaksymalny czas trwania długiego śladu.

  6. Włącz przełącznik Rejestruj ślad, zaznaczony na rysunku 5. Kafelek staje się włączony, a na ekranie pojawia się stałe powiadomienie z informacją, że system rejestruje ślad, jak pokazano na rysunku 3.

    Rysunek 5. Przełącznik Rejestruj ślad w ustawieniach śledzenia systemu.
  7. Wykonaj w aplikacji działania, które chcesz sprawdzić.

  8. Aby zatrzymać śledzenie, wyłącz przełącznik Nagrywaj śledzenie.

    System wyświetli nowe powiadomienie z komunikatem „Zapisywanie ścieżki”. Po zakończeniu zapisywania system zamknie powiadomienie i wyświetli trzecie powiadomienie z potwierdzeniem, że ślad został zapisany i możesz udostępnić ślad systemu, jak pokazano na rysunku 4.

Udostępnianie śladu systemu

Aplikacja śledzenia systemu pomaga udostępniać wyniki śledzenia systemu w ramach kilku różnych procesów. Na urządzeniu z Androidem 10 (poziom interfejsu API 29) lub nowszym pliki śledzone są zapisywane z rozszerzeniem .perfetto-trace i można je otwierać w interfejsie Perfectto. Na urządzeniu z starszą wersją Androida pliki śledzone są zapisywane z rozszerzeniem .ctrace, które oznacza format Systrace.

Udostępnianie jako wiadomość

Śledzenie systemu umożliwia udostępnianie zebranych danych innym aplikacjom na urządzeniu. Możesz wysłać ślad do zespołu programistów za pomocą poczty e-mail lub aplikacji do śledzenia błędów bez konieczności podłączania urządzenia do komputera.

Po zarejestrowaniu ścieżki systemu kliknij powiadomienie, które pojawi się na urządzeniu, jak na rysunku 4. Pojawi się selektor intencji platformy, który umożliwia udostępnienie ścieżki za pomocą wybranej aplikacji do obsługi wiadomości.

Udostępnianie z aplikacji Pliki

Na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym ścieżki są wyświetlane w aplikacji Pliki. Możesz udostępnić ścieżkę z tej aplikacji.

Pobieranie raportu za pomocą ADB

Możesz też wyodrębnić ślad systemowy z urządzenia za pomocą adb. Podłącz urządzenie, na którym nagrano ślad, do komputera programisty, a potem uruchom w oknie terminala te polecenia:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

Przekształcanie formatów śledzenia

Pliki śledzone za pomocą narzędzia Perfetto możesz konwertować do formatu Systrace. Więcej informacji znajdziesz w artykule Konwertowanie między formatami ścieżek.

Tworzenie raportu HTML

Podczas udostępniania ścieżki raport jest zapisywany w pliku .perfetto-trace na urządzeniach z Androidem 10 lub nowszym albo w pliku .ctrace we wszystkich innych wersjach.

Utwórz raport HTML z pliku śledzonego za pomocą interfejsu internetowego lub z poziomu wiersza poleceń.

Interfejs internetowy

Aby otworzyć plik śledzenia i wygenerować raport, użyj interfejsu Peretto.

W przypadku pliku Perfectto kliknij Otwórz plik z wykresami. W przypadku pliku Systrace kliknij Otwórz za pomocą starszego interfejsu użytkownika. Stary interfejs użytkownika wygląda tak samo jak raport Systrace.

Wiersz poleceń

Aby wygenerować raport HTML z pliku śledzonego, uruchom w oknie terminala te polecenia:

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

Jeśli nie masz jeszcze programu wiersza poleceń systrace, możesz go pobrać z projektu Catapult na GitHubie lub bezpośrednio z projektu Android Open Source.