Rendszernyomok helyi rögzítése Android Pie-n

A systrace egy hatékony eszköz, amely időzítési információkat gyűjt az Androidon futó folyamatokból. A következőképpen rögzítheti a rendszernyomot Android Pie-n.

A nyomkövetés egy felbecsülhetetlen értékű eszköz, amely lehetővé teszi a fejlesztők számára, hogy megértsék, milyen hatást gyakorolnak a különféle változtatások a rendszerre, és támpontokat adhat a problémák kiváltó okainak azonosításához.

systrace Az egyik ilyen hatékony nyomkövető eszköz, amely időzítési információkat gyűjt a folyamatokból Android-eszközön fut. systrace széles körben használta a Android teljesítményű csapat a Google-nál a Google Pixel telefonok teljesítményének optimalizálása érdekében. használtam systrace például a kernelütemező módosításainak a CPU-kon történő feladatelhelyezésekre gyakorolt ​​hatásának vizsgálatára, valamint az elakadások lehetséges okainak azonosítására. systrace sokféle adat rögzítésére képes, beleértve a CPU ütemezését, a CPU frekvenciáját, a lemez I/O-ját, a grafikát, a Binder tevékenységet és még sok mást. Az információk egy jelentésbe kerülnek, amely a Google Chrome-ban elemezhető.

Az Android Pie előtt az egyetlen módja a nyomok rögzítésének systrace az volt, hogy egy Android-eszközt csatlakoztatott egy számítógéphez, és onnan futtatta a systrace-t – általában egy terminálról. Azonban nem mindenkinek van állandó hozzáférése a számítógéphez, illetve nem mindenkinek van tudása és magabiztossága a systrace futtatásához.

Az Android Pie megjelenésével ezt a kényelmetlenséget orvosolták a Traceur csomag, amely nyers nyomkövetési adatokat rögzítő eszköz közvetlenül egy Android telefonon. A Traceur a „Rendszerkövetés” opcióként érhető el a Beállítások alkalmazás Fejlesztői beállításaiban, és a Traceur által az eszközön rögzített nyers nyomkövetési adatok később konvertálhatók systrace HTML-jelentéshez elemzés céljából.

Az új „System Tracing” opció lehetővé teszi a felhasználók számára, hogy egyszerűen rögzítsék és megosszák a nyomokat a fejlesztőkkel anélkül, hogy ténylegesen tudniuk kellene, hogyan kell futtatni. systrace számítógépen. A fejlesztők profitálnak abból a lehetőségből, hogy számítógép nélkül rögzíthetik a nyomokat, és később, a számukra megfelelő módon elemzik. A „System Tracing” által gyűjtött teljes nyers nyomkövetési adatok mérete is lényegesen kisebb, mint az általa generált HTML jelentés. systrace, ami ezért alkalmasabbá teszi a nyers nyomkövetési adatokat tárolásra és másokkal való megosztásra.

Útmutató: Rendszergyűjtés és rendszernyomok elemzése

Először is győződjön meg arról, hogy rendelkezik Android Pie-t futtató eszközzel és számítógéppel, amelyre telepítve van a Python 2. A következő utasításokat a legújabb OxygenOS Android Pie bétaverziót futtató OnePlus 6-on hajtották végre.

  1. Engedélyezze a Fejlesztői beállításokat a Beállítások alkalmazásban, majd nyissa meg a „Rendszerkövetés” lehetőséget a Fejlesztői beállítások „Hibakeresés” szakaszában.
  2. A Rendszerkövetés megnyitásakor megjelenik egy kapcsoló, amellyel engedélyezheti a rendszerkövetést, és testreszabhatja a nyomkövetési kategóriákat és a pufferméretet. Ehhez a demonstrációhoz az alapértelmezett kategóriákat használjuk, ami a legtöbb esetben elegendő. A „Gyorsbeállítások megjelenítése” kapcsoló lehetővé teszi a nyomkövetés elindítását/leállítását a Gyorsbeállításokon keresztül. Engedélyeztem ezt az útmutatóhoz.
  3. A nyomkövetés rögzítésének megkezdéséhez érintse meg a nemrég hozzáadott „Nyomkövetés rögzítése” gyorsbeállítási csempét.
  4. Ha végzett egy teszteset nyomon követésével, leállíthatja a nyomkövetést az értesítési területen.
  5. Nagy! Sikeresen rögzített egy nyers nyomot. Egy értesítés felszólítja a nyers nyomkövetési fájl megosztására. El kell tudni menteni az eszközére, feltölteni online tárhelyre, e-mailben elküldeni valakinek stb. Alternatív megoldásként használhatja az ADB-t, hogy a nyomkövetést közvetlenül az eszközéről a számítógépére húzza (adb pull /data/local/traces/). Menjen tovább, és mentse a nyomkövetési fájlt a számítógépére.
  6. A nyers nyomkövetési fájl elkészítette .ctrace formátum. Nyers formájában nem értelmezhető. Tudjuk használni systrace hogy hasznosabb és érthetőbb interaktív HTML jelentést készítsünk nyers nyomkövetési fájlunkból.
  7. A legújabb verziót fogjuk használni systrace tól katapult projekt repo. Egy terminálalkalmazásban klónozza a repót (győződjön meg arról, hogy a git telepítve van):
    git clone https://github.com/catapult-project/catapult.git
  8. A HTML jelentés létrehozásához nyers nyomkövetési fájlunkból a következő használatával systrace, írja be a következő parancsokat:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    A nyers nyomkövetési fájllal azonos nevű HTML-fájl jön létre. Megjegyzés: a systrace csak a Python 2-t támogatja az írás idején.
  9. A HTML-jelentés megtekintéséhez indítsa el a Google Chrome böngészőt, és nyissa meg a „chrome://tracing” URL-t. Ne nyissa meg a HTML-jelentést közvetlenül a Google Chrome-ban, mert üresen jelenik meg.
  10. Kattintson a „Betöltés” ​​gombra, és nyissa meg a HTML jelentésfájlt a felugró párbeszédablakban. Voálá! A nyomkövetési jelentés most megtekinthető.

Mi a következő lépés?

Most, hogy képes rögzíteni a nyomot és létrehozni a systrace jelentésben, fontos megérteni, hogyan kell elolvasni és értelmezni a jelentésben szereplő adatokat. Kezdésnek ajánlom olvassa el a "Megértés Systrace", és nézi a "Android teljesítmény: áttekintés (Google I/O ‘17)” és „Systrace a Games számára" látni systrace akcióban.

Ez egy vendégbejegyzés, amelyet eredetileg Josh Choo, más néven XDA Recognized Developer írt. joshuus. A bejegyzést formázás céljából enyhén szerkesztették.