systrace je výkonný nástroj, který shromažďuje informace o načasování z procesů běžících na Androidu. Zde je návod, jak zachytit trasování systému na Android Pie.
Sledování je neocenitelný nástroj, který vývojářům umožňuje pochopit dopad různých změn na systém a může poskytnout vodítka k identifikaci hlavní příčiny problémů.
systrace je jeden takový výkonný nástroj pro sledování, který shromažďuje informace o načasování z procesů běžící na zařízení Android. systrace byl široce používán Tým pro výkon Androidu ve společnosti Google k optimalizaci výkonu na telefonech Google Pixel. použil jsem systrace například ke kontrole dopadu změn plánovače jádra na umístění úloh na CPU a k identifikaci možných příčin janků. systrace dokáže zachytit širokou škálu dat, včetně plánování CPU, frekvence CPU, diskových I/O, grafiky, aktivity Binderu a mnoha dalších. Informace jsou sloučeny do zprávy, kterou lze analyzovat v prohlížeči Google Chrome.
Před Android Pie, jediný způsob, jak zachytit stopy pomocí systrace
bylo připojit zařízení Android k počítači a spustit systrace odtud – obvykle z terminálu. Ne každý však má neustálý přístup k počítači nebo znalosti a důvěru ke spuštění systrace.S vydáním Android Pie byla tato nepříjemnost vyřešena zavedením Balíček Traceur, což je nástroj, který zachycuje nezpracovaná trasovací data přímo v telefonu Android. Traceur je k dispozici jako možnost „Sledování systému“ v možnostech vývojáře v aplikaci Nastavení a nezpracovaná trasovací data zachycená na zařízení Traceur lze později převést pomocí systrace do zprávy HTML pro analýzu.
Nová možnost „Sledování systému“ umožňuje uživatelům snadno zachytit a sdílet stopy s vývojáři, aniž by museli skutečně vědět, jak spouštět systrace na počítači. Vývojáři těží ze schopnosti zachytit stopy bez počítače a analyzovat je později, jak jim to vyhovuje. Úplná nezpracovaná trasovací data shromážděná pomocí „Trasování systému“ jsou také výrazně menší než velikost sestavy HTML generované pomocí systrace, díky čemuž jsou nezpracovaná trasovací data vhodnější pro ukládání a sdílení s ostatními.
Průvodce: Sběr systému a analýza tras systému
Nejprve se ujistěte, že máte zařízení se systémem Android Pie a počítač s nainstalovaným Pythonem 2. Následující pokyny byly provedeny na OnePlus 6 s nejnovější beta OxygenOS Android Pie.
- Povolte možnosti vývojáře v aplikaci Nastavení a poté otevřete možnost „Sledování systému“. v části „Ladění“ v Možnostech vývojáře.
- Po otevření trasování systému se vám zobrazí přepínač pro povolení trasování systému a možnost přizpůsobit kategorie trasování a velikost vyrovnávací paměti trasování. Pro tuto ukázku jsou použity výchozí kategorie, což je pro většinu případů dostačující. Přepínač „Zobrazit dlaždici rychlého nastavení“ umožňuje spuštění/zastavení trasování prostřednictvím Rychlého nastavení. U tohoto návodu jsem to povolil.
- Chcete-li začít zachycovat trasu, klepněte na nedávno přidanou dlaždici rychlého nastavení „Zaznamenat trasu“.
- Po dokončení trasování testovacího případu můžete trasování zastavit z panelu oznámení.
- Skvělý! Úspěšně jste zachytili nezpracovanou stopu. Oznámení vás vyzve ke sdílení nezpracovaného trasovacího souboru. Měli byste být schopni uložit jej do svého zařízení, nahrát jej do online úložiště, poslat někomu e-mail atd. Alternativně můžete použít ADB k přímému stažení trasování ze zařízení do počítače (
adb pull /data/local/traces/
). Pokračujte a uložte trasovací soubor do počítače. - Nezpracovaný trasovací soubor má vytvořené formátu .ctrace. Nelze jej interpretovat v jeho syrové podobě. Můžeme použít systrace vygenerovat užitečnější a srozumitelnější interaktivní HTML zprávu z našeho nezpracovaného trasovacího souboru.
- Budeme používat nejnovější verzi systrace z repo projektu katapultu. V terminálové aplikaci naklonujte repo (ujistěte se, že je nainstalován git):
git clone https://github.com/catapult-project/catapult.git
- Chcete-li vygenerovat zprávu HTML z našeho nezpracovaného trasovacího souboru pomocí systrace, zadejte následující příkazy:
Bude vygenerován soubor HTML se stejným názvem jako nezpracovaný trasovací soubor. Poznámka: systrace v době psaní podporuje pouze Python 2.python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
- Chcete-li zobrazit zprávu HTML, spusťte prohlížeč Google Chrome a přejděte na adresu URL „chrome://tracing“. Neotevírejte zprávu HTML přímo v prohlížeči Google Chrome, protože se zobrazí prázdná.
- Klikněte na „Načíst“ a ve vyskakovacím dialogu otevřete soubor zprávy HTML. Voila! Vaše zpráva o sledování je nyní k dispozici ke kontrole.
Co bude dál?
Nyní, když jste schopni zachytit trasování a vygenerovat a systrace zprávy, je důležité porozumět tomu, jak číst a interpretovat data uvedená ve zprávě. Pro začátek doporučuji přečíst „Porozumění Systrace“ a sledování „Výkon Android: Přehled (Google I/O ‘17)" a "Systrace pro hry" vidět systrace v akci.
Toto je příspěvek hosta, který původně napsal Josh Choo, známý také jako XDA Recognized Developer joshuous. Příspěvek byl lehce upraven pro formátování.