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.
- Активирайте опциите за разработчици в приложението Настройки и след това отворете опцията „Проследяване на системата“. в раздела „Отстраняване на грешки“ на Опции за разработчици.
- При отваряне на System Tracing ще ви бъде представен превключвател за активиране на System Tracing и възможността да персонализирате категориите за проследяване и размера на буфера на проследяванията. За тази демонстрация се използват категориите по подразбиране, което е достатъчно за повечето случаи. Превключвател „Показване на плочка за бързи настройки“ позволява стартиране/спиране на проследяване чрез Бързи настройки. Активирах това за това ръководство.
- За да започнете да заснемате следа, докоснете наскоро добавената плочка за бързи настройки „Запис следа“.
- Когато приключите с проследяването на тестов случай, можете да спрете проследяването от панела за уведомяване.
- Страхотен! Успешно сте заснели необработена следа. Известие ще ви подкани да споделите необработения файл за проследяване. Трябва да можете да го запазите на вашето устройство, да го качите в онлайн хранилище, да го изпратите по имейл до някого и т.н. Като алтернатива можете да използвате ADB, за да изтеглите директно проследяването от вашето устройство към вашия компютър (
adb pull /data/local/traces/
). Продължете и запазете файла за проследяване на вашия компютър. - Необработеният файл за проследяване има измисленото .ctrace формат. Не може да се тълкува в суров вид. Можем да използваме systrace за генериране на по-полезен и разбираем интерактивен HTML отчет от нашия необработен файл за проследяване.
- Ще използваме най-новата версия на systrace от catapult project repo. В терминално приложение клонирайте репото (уверете се, че git е инсталиран):
git clone https://github.com/catapult-project/catapult.git
- За да генерирате HTML отчета от нашия необработен файл за проследяване, използвайки systrace, въведете следните команди:
Ще бъде генериран HTML файл със същото име като необработения файл за проследяване. Забележка: systrace поддържа само Python 2 към момента на писане.python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
- За да видите HTML отчета, стартирайте браузъра Google Chrome и отворете URL адреса „chrome://tracing“. Не отваряйте HTML отчета директно в Google Chrome, защото ще изглежда празен.
- Кликнете върху „Зареждане“ и отворете HTML файла с отчета от изскачащия диалогов прозорец. Ето! Вашият доклад за проследяване вече е достъпен за проверка.
Какво следва?
Сега, когато можете да заснемете следа и да генерирате a systrace доклад, важно е да разберете как да четете и тълкувате данните, представени в доклада. За начало препоръчвам да прочетете "разбиране Systrace“, и гледам „Производителност на Android: Общ преглед (Google I/O ‘17)" и "Systrace за игри" да видиш systrace в действие.
Това е публикация за гости, която първоначално е написана от Josh Choo, известен също като XDA Recognized Developer joshuous. Публикацията беше леко редактирана за форматиране.