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, zobacz 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 lokalnie.

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

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

Gdzie:

  • <app> to nazwa aplikacji.
  • <datetime> to data i godzina wykonania śledzenia.
  • <tag> czy tag przekazywany przez użytkownika jest 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 umożliwia sprawdzenie, 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óżniono i krótko opisano główne części, które zobaczysz w śladzie:

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.