Jak lokalnie przechwycić ślad systemu na Androidzie Pie

systrace to potężne narzędzie, które zbiera informacje o taktowaniu procesów działających na Androidzie. Oto jak przechwycić ślad systemu na Androidzie Pie.

Śledzenie to nieocenione narzędzie, które umożliwia programistom zrozumienie wpływu różnych zmian na system i może dostarczyć wskazówek pozwalających zidentyfikować pierwotną przyczynę problemów.

systrace to jedno z takich potężnych narzędzi do śledzenia, które zbiera informacje o czasie z procesów działa na urządzeniu z Androidem. systrace był szeroko używany przez Zespół ds. wydajności Androida w Google, aby zoptymalizować działanie telefonów Google Pixel. używałem systrace aby na przykład sprawdzić wpływ zmian w harmonogramie jądra na rozmieszczenie zadań w procesorach i zidentyfikować możliwe przyczyny janków. systrace może przechwytywać szeroką gamę danych, w tym harmonogram procesora, częstotliwość procesora, operacje we/wy dysku, grafikę, aktywność Bindera i wiele innych. Informacje są łączone w raport, który można analizować w przeglądarce Google Chrome.

Przed Androidem Pie jedynym sposobem na przechwytywanie śladów systrace polegało na podłączeniu urządzenia z Androidem do komputera i stamtąd uruchomieniu systrace — zwykle z terminala. Jednak nie każdy ma stały dostęp do komputera lub wiedzę i pewność, aby uruchomić systrace.

Wraz z wydaniem systemu Android Pie usunięto tę niedogodność, wprowadzając funkcję Pakiet Traceur, który jest narzędziem przechwytującym surowe dane śledzenia bezpośrednio na telefonie z Androidem. Traceur jest dostępny jako opcja „Śledzenie systemu” w Opcjach programistycznych aplikacji Ustawienia, a surowe dane śledzenia przechwycone na urządzeniu przez Traceur można później przekonwertować za pomocą systrace do raportu HTML w celu analizy.

Nowa opcja „Śledzenie systemu” umożliwia użytkownikom łatwe przechwytywanie i udostępnianie śladów programistom, bez konieczności posiadania wiedzy, jak uruchomić systrace na komputerze. Programiści korzystają z możliwości przechwytywania śladów bez użycia komputera i późniejszej analizy w dogodnym dla siebie czasie. Kompletne, surowe dane śledzenia zebrane przez „System Tracing” są również znacznie mniejsze niż raport HTML wygenerowany przez systrace, co sprawia, że ​​surowe dane śledzenia lepiej nadają się do przechowywania i udostępniania innym osobom.

Poradnik: Zbieranie systemu i analizowanie śladów systemu

Po pierwsze, upewnij się, że masz urządzenie z systemem Android Pie i komputer z zainstalowanym językiem Python 2. Poniższe instrukcje zostały wykonane na OnePlus 6 z najnowszą wersją beta OxygenOS Android Pie.

  1. Włącz Opcje programistyczne w aplikacji Ustawienia, a następnie uzyskaj dostęp do opcji „Śledzenie systemu”. w sekcji „Debugowanie” w Opcjach programisty.
  2. Po otwarciu Śledzenia systemu zostanie wyświetlony przełącznik umożliwiający włączenie śledzenia systemu oraz możliwość dostosowania kategorii śledzenia i rozmiaru bufora śladów. W tej demonstracji używane są kategorie domyślne, które w większości przypadków są wystarczające. Przełącznik „Pokaż kafelek szybkich ustawień” umożliwia rozpoczęcie/zatrzymanie śledzenia za pomocą Szybkich ustawień. Włączyłem tę opcję dla tego przewodnika.
  3. Aby rozpocząć przechwytywanie śladu, dotknij niedawno dodanego kafelka szybkich ustawień „Zapisz ślad”.
  4. Po zakończeniu śledzenia przypadku testowego możesz zatrzymać śledzenie w obszarze powiadomień.
  5. Świetnie! Pomyślnie przechwyciłeś surowy ślad. Powiadomienie poprosi Cię o udostępnienie nieprzetworzonego pliku śledzenia. Powinieneś móc zapisać go na swoim urządzeniu, przesłać do pamięci online, wysłać komuś e-mailem itp. Alternatywnie możesz użyć ADB, aby bezpośrednio pobrać ślad z urządzenia na komputer (adb pull /data/local/traces/). Śmiało, zapisz plik śledzenia na swoim komputerze.
  6. Surowy plik śledzenia zawiera gotowe pliki formacie .ctrace. Nie można go interpretować w jego surowej formie. Możemy użyć systrace aby wygenerować bardziej użyteczny i zrozumiały interaktywny raport HTML z naszego surowego pliku śledzenia.
  7. Będziemy używać najnowszej wersji systrace z repozytorium projektu katapulty. W aplikacji terminalowej sklonuj repozytorium (upewnij się, że git jest zainstalowany):
    git clone https://github.com/catapult-project/catapult.git
  8. Aby wygenerować raport HTML z naszego surowego pliku śledzenia za pomocą systrace, wprowadź następujące polecenia:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Zostanie wygenerowany plik HTML o tej samej nazwie, co surowy plik śledzenia. Uwaga: w chwili pisania tego tekstu systrace obsługuje tylko Python 2.
  9. Aby wyświetlić raport HTML, uruchom przeglądarkę Google Chrome i wejdź pod adres URL „chrome://tracing”. Nie otwieraj raportu HTML bezpośrednio w przeglądarce Google Chrome, ponieważ będzie on pusty.
  10. Kliknij „Załaduj” i otwórz plik raportu HTML z wyskakującego okna dialogowego. Voila! Twój raport śledzenia jest teraz dostępny do wglądu.

Co dalej?

Teraz, gdy jesteś w stanie przechwycić ślad i wygenerować plik systrace ważne jest, aby zrozumieć, jak czytać i interpretować dane zawarte w raporcie. Na początek polecam lekturę „Zrozumienie Systrace” i oglądanie „Wydajność Androida: przegląd (Google I/O '17)" I "Systrace dla gier" zobaczyć systrace w akcji.

To jest post gościnny, który pierwotnie został napisany przez Josha Choo, znanego również jako uznany programista XDA wesoły. Post został lekko zmodyfikowany w celu sformatowania.