Rejestrowanie śladu systemu na urządzeniu

Urządzenia z Androidem 9 (poziom interfejsu API 28) lub nowszym mają aplikację systemową o nazwie Śledzenie systemu. Jest ona podobna do narzędzia wiersza poleceń systrace, ale umożliwia nagrywanie ś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 śladów zespołowi programistów.

Urządzenia z Androidem 10 i nowszym nagrywają ślady w formacie Perfetto, a starsze urządzenia – w formacie Systrace. Zalecamy używanie przeglądarki śladów Perfetto trace viewer do otwierania obu formatów i analizowania śladów.

Pomaga to w nagrywaniu śladów podczas rozwiązywania błędów związanych z wydajnością aplikacji, takich jak powolne uruchamianie, powolne przejścia lub zacinanie się interfejsu.

Nagrywanie śladu systemu

Aplikacja Śledzenie systemu umożliwia nagrywanie śladu systemu za pomocą kafelka Szybkich ustawień lub menu w samej aplikacji. W kolejnych sekcjach opisujemy, jak zakończyć proces nagrywania za pomocą tych interfejsów.

Nagrywanie za pomocą kafelka Szybkich ustawień

Kafelek Szybkich ustawień jest zwykle wygodniejszym sposobem na przeprowadzenie procesu śledzenia systemu na urządzeniu.

Konfigurowanie kafelka

Jeśli używasz aplikacji Śledzenie systemu po raz pierwszy na urządzeniu testowym lub jeśli nie widzisz kafelka Śledzenie systemu w panelu Szybkie ustawienia urządzenia (jak pokazano na rysunku 2), wykonaj te czynności:

  1. Włącz Opcje programisty.
  2. Otwórz ekran ustawień Opcje programisty.
  3. W sekcji Debugowanie wybierz Śledzenie systemu. Otworzy się aplikacja Śledzenie systemu z menu aplikacji.
  4. W menu aplikacji włącz opcję Pokaż kafelek Szybkich ustawień, jak pokazano na rysunku 1. System doda kafelek Śledzenie systemu do panelu Szybkie ustawienia , jak pokazano na rysunku 2:

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

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

Zakończ nagrywanie śladu systemu

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

  1. Kliknij kafelek Śledzenie systemu z etykietą Nagrywaj ślad. Kafelek zostanie włączony i pojawi się trwałe powiadomienie informujące o tym, że system nagrywa ślad, jak pokazano na rysunku 3:

    Powiadomienie z komunikatem „Ślad jest nagrywany. Kliknij, aby zatrzymać śledzenie.
    Rysunek 3. Trwałe powiadomienie, które pojawia się po rozpoczęciu śledzenia systemu na urządzeniu.
  2. Wykonaj w aplikacji działania, które chcesz sprawdzić w systemie.

  3. Aby zatrzymać śledzenie, kliknij kafelek Śledzenie systemu w panelu Szybkie ustawienia lub powiadomienie Śledzenie systemu.

    System wyświetli nowe powiadomienie z komunikatem „Zapisywanie śladu”. Po zakończeniu zapisywania system odrzuci powiadomienie i wyświetli trzecie powiadomienie potwierdzające, że ślad został zapisany i że możesz udostępnić ślad systemowy, jak pokazano na rysunku 4:

    Powiadomienie z komunikatem „Ślad zapisany”. Kliknij, aby udostępnić swój ślad”.
    Rysunek 4. Trwałe powiadomienie, które pojawia się po zakończeniu zapisywania nagranego śladu przez system.

Nagrywanie za pomocą menu aplikacji

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

Aby nagrać ślad systemu za pomocą menu aplikacji Śledzenie systemu, wykonaj te czynności:

  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 kafelek Śledzenie systemu, możesz też kliknąć go i przytrzymać, aby otworzyć aplikację Śledzenie systemu.

  3. Upewnij się, że opcja Śledź aplikacje z możliwością debugowania jest zaznaczona, aby uwzględnić w śledzeniu systemu aplikacje, w których włączono debugowanie.

  4. Opcjonalnie wybierz Kategorie połączeń systemowych i czujników, które chcesz śledzić, oraz Rozmiar bufora na procesor w KB. Wybierz kategorie odpowiadające przypadkowi użycia, który testujesz, np. kategorię Dźwięk do testowania operacji Bluetooth lub kategorię Pamięć do alokacji sterty.

  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 śladu i Maksymalny czas trwania długiego śladu.

  6. Włącz przełącznik Nagrywaj ślad, który jest podświetlony na rysunku 5. Kafelek zostanie włączony i pojawi się trwałe powiadomienie informujące o tym, że system nagrywa ślad, jak pokazano na rysunku 3.

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

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

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

Udostępnianie śladu systemu

Aplikacja Śledzenie 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 śladów są zapisywane z rozszerzeniem nazwy pliku .perfetto-trace i można je otwierać w interfejsie Perfetto. Na urządzeniu ze starszą wersją Androida pliki śladów są zapisywane z rozszerzeniem .ctrace, które oznacza format Systrace.

Udostępnianie jako wiadomość

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

Po nagraniu śladu systemu kliknij powiadomienie, które pojawi się na urządzeniu, np. takie jak na rysunku 4. Pojawi się selektor intencji platformy, który umożliwi udostępnienie śladu 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 ślady są widoczne w aplikacji Pliki. Możesz udostępnić ślad z tej aplikacji.

Pobieranie raportu za pomocą ADB

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

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

Konwertowanie między formatami śladów

Możesz konwertować pliki śladów Perfetto na format Systrace. Więcej informacji znajdziesz w artykule Konwertowanie między formatami śladów.

Tworzenie raportu HTML

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

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

Interfejs internetowy

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

W przypadku pliku Perfetto kliknij Otwórz plik śledzenia. W przypadku pliku Systrace kliknij Otwórz w starszym interfejsie. Starszy interfejs ma taki sam wygląd jak raport Systrace.

Wiersz poleceń

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

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 Android Open Source Project.