Как да заснемете локално системна следа на Android Pie

systrace е мощен инструмент, който събира информация за времето от процеси, изпълнявани на Android. Ето как да заснемете системна следа на Android Pie.

Проследяването е безценен инструмент, който позволява на разработчиците да разберат въздействието, което различните промени имат върху системата и може да предостави улики за идентифициране на основната причина за проблемите.

systrace е един такъв мощен инструмент за проследяване, който събира информация за времето от процеси работи на устройство с Android. systrace е използван широко от Екип за ефективност на Android в Google за оптимизиране на производителността на телефоните Google Pixel. използвал съм systrace за да провери влиянието на промените в планировчика на ядрото върху разположението на задачите в процесорите, например, и да идентифицира възможните причини за джанкове. systrace може да улавя голямо разнообразие от данни, включително планиране на процесора, честота на процесора, I/O на диска, графики, активност на Binder и много други. Информацията се комбинира в отчет, който може да се анализира в Google Chrome.

Преди Android Pie, единственият начин за заснемане на следи с systrace беше да свържете устройство с Android към компютър и да стартирате systrace от там - обикновено от терминал. Въпреки това, не всеки има постоянен достъп до компютър или знанията и увереността да стартира systrace.

С пускането на Android Pie това неудобство беше адресирано с въвеждането на Пакет Traceur, който е инструмент, който улавя необработени данни за проследяване директно на телефон с Android. Traceur е достъпен като опцията „Проследяване на системата“ в Опции за разработчици на приложението Настройки, а необработените данни за проследяване, заснети на устройството от Traceur, могат по-късно да бъдат конвертирани от systrace към HTML отчет за анализ.

Новата опция „Проследяване на системата“ позволява на потребителите лесно да улавят и споделят следи с разработчиците, без да е необходимо всъщност да знаят как да стартират systrace на компютър. Разработчиците се възползват от възможността да улавят следи без компютър и да анализират по-късно, когато им е удобно. Пълните необработени данни за проследяване, събрани от „Проследяване на системата“, също са значително по-малки по размер от HTML отчета, генериран от systrace, което следователно прави необработените данни за проследяване по-подходящи за съхранение и споделяне с други.

Ръководство: Събиране на системни и анализиращи системни следи

Първо се уверете, че имате устройство с Android Pie и компютър с инсталиран Python 2. Следните инструкции бяха изпълнени на OnePlus 6, работещ с най-новата бета версия на OxygenOS Android Pie.

  1. Активирайте опциите за разработчици в приложението Настройки и след това отворете опцията „Проследяване на системата“. в раздела „Отстраняване на грешки“ на Опции за разработчици.
  2. При отваряне на System Tracing ще ви бъде представен превключвател за активиране на System Tracing и възможността да персонализирате категориите за проследяване и размера на буфера на проследяванията. За тази демонстрация се използват категориите по подразбиране, което е достатъчно за повечето случаи. Превключвател „Показване на плочка за бързи настройки“ позволява стартиране/спиране на проследяване чрез Бързи настройки. Активирах това за това ръководство.
  3. За да започнете да заснемате следа, докоснете наскоро добавената плочка за бързи настройки „Запис следа“.
  4. Когато приключите с проследяването на тестов случай, можете да спрете проследяването от панела за уведомяване.
  5. Страхотен! Успешно сте заснели необработена следа. Известие ще ви подкани да споделите необработения файл за проследяване. Трябва да можете да го запазите на вашето устройство, да го качите в онлайн хранилище, да го изпратите по имейл до някого и т.н. Като алтернатива можете да използвате ADB, за да изтеглите директно проследяването от вашето устройство към вашия компютър (adb pull /data/local/traces/). Продължете и запазете файла за проследяване на вашия компютър.
  6. Необработеният файл за проследяване има измисленото .ctrace формат. Не може да се тълкува в суров вид. Можем да използваме systrace за генериране на по-полезен и разбираем интерактивен HTML отчет от нашия необработен файл за проследяване.
  7. Ще използваме най-новата версия на systrace от catapult project repo. В терминално приложение клонирайте репото (уверете се, че git е инсталиран):
    git clone https://github.com/catapult-project/catapult.git
  8. За да генерирате HTML отчета от нашия необработен файл за проследяване, използвайки systrace, въведете следните команди:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Ще бъде генериран HTML файл със същото име като необработения файл за проследяване. Забележка: systrace поддържа само Python 2 към момента на писане.
  9. За да видите HTML отчета, стартирайте браузъра Google Chrome и отворете URL адреса „chrome://tracing“. Не отваряйте HTML отчета директно в Google Chrome, защото ще изглежда празен.
  10. Кликнете върху „Зареждане“ и отворете HTML файла с отчета от изскачащия диалогов прозорец. Ето! Вашият доклад за проследяване вече е достъпен за проверка.

Какво следва?

Сега, когато можете да заснемете следа и да генерирате a systrace доклад, важно е да разберете как да четете и тълкувате данните, представени в доклада. За начало препоръчвам да прочетете "разбиране Systrace“, и гледам „Производителност на Android: Общ преглед (Google I/O ‘17)" и "Systrace за игри" да видиш systrace в действие.

Това е публикация за гости, която първоначално е написана от Josh Choo, известен също като XDA Recognized Developer joshuous. Публикацията беше леко редактирана за форматиране.