Pobieranie i analizowanie danych profilowania

Na tej stronie dowiesz się, jak pobierać ślady i wyświetlać je w interfejsie Perfetto.

Pobieranie logów czasu

Po zarejestrowaniu profilu ślady są zapisywane na urządzeniu. Zanim zaczniesz analizować te ślady, musisz je pobrać.

Lokalizacje śledzenia są dostarczane przez ProfilingResult.getResultFilePath(). Aby dowiedzieć się, jak uzyskać lokalizację śledzenia, przeczytaj artykuł Jak przechwycić profil. Gdy uzyskasz lokalizację śladu, możesz przesłać go na serwer.

Testowanie lokalne: pobieranie śladów za pomocą ADB

Używanie adb do uzyskiwania śladów jest przydatne do sprawdzania wydajności i debugowania lokalnego.

Zanonimizowane ślady są zapisywane w plikach na urządzeniu. Typowa ścieżka do zapisanego profilu to:

<code>/data/user/0/<var>\<app\></var>/files/profiling/profile_<var>\<tag\></var>_<var>\<datetime\></var>.perfetto-trace</code>

Gdzie:

  • <app> to nazwa aplikacji.
  • <datetime> to data i godzina wykonania śledzenia.
  • <tag> to tag przekazywany przez użytkownika skonfigurowany za pomocą setTag

Jeśli nieocenzurowane ślady są włączone i zapisane, użyj tego polecenia adb, aby pobrać je z urządzenia:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Wizualizacja logów czasu

Po pobraniu śladu na komputer możesz wyświetlić go w interfejsie Perfetto.

Przykład usuniętego śladu
Rysunek 1. Przykład zanonimizowanego śledzenia.

W zanonimizowanym śladzie sekcja OtherProcesses łączy całą aktywność procesora z innych procesów. Łączenie procesów zapewnia prywatność tego, co robiły inne procesy.

Jednak wyświetlanie tej łącznej aktywności procesora nadal pozwala sprawdzić, czy system był przeciążony podczas nagrywania. Sprawdzanie aktywności systemu pomaga ustalić, czy aplikacja działała wolno z powodu problemu wewnętrznego, czy też z powodu ogólnego spowolnienia systemu.

Na poniższym obrazie wyróżniliśmy i krótko opisaliśmy główne części śladu:

Sekcje zredagowanego śladu
Rysunek 2. sekcje z redakcją śladu.
  1. Lista procesorów: wyświetla wszystkie dostępne procesory na urządzeniu.
  2. Zadania procesora: pokazuje, które wątki były wykonywane przez poszczególne procesory.
  3. Widok innych procesów: wyświetla zasoby procesora wykorzystywane przez inne procesy.
  4. Widok procesu: pokazuje proces aplikacji.
  5. Widok wątków: wyświetla wątki działające w procesie i ich stany (wykonywalny (R), wykonywany (R), uśpiony (S), nieprzerwany sen (D)), które są bezpośrednio powiązane ze stanami procesów w systemie Linux.
  6. Ślady: ta sekcja zawiera adnotacje śladów dodane przez deweloperów aplikacji lub platformę. Te adnotacje obejmują obliczenia między Trace.beginSectionTrace.endSection.

Więcej informacji o interfejsie Perfetto i wizualizacji śladów znajdziesz w dokumentacji Perfetto.