Cum să capturați local o urmă de sistem pe Android Pie

systrace este un instrument puternic care colectează informații de sincronizare din procesele care rulează pe Android. Iată cum să capturați o urmă de sistem pe Android Pie.

Urmărirea este un instrument neprețuit care le permite dezvoltatorilor să înțeleagă impactul pe care diferitele modificări îl au asupra unui sistem și poate oferi indicii pentru a identifica cauza principală a problemelor.

systrace este un astfel de instrument puternic de urmărire care colectează informații de sincronizare din procese rulează pe un dispozitiv Android. systrace a fost utilizat pe scară largă de către Echipa de performanță Android la Google pentru a optimiza performanța pe telefoanele Google Pixel. am folosit systrace pentru a inspecta impactul modificărilor programatorului de nucleu asupra plasării sarcinilor pe procesoare, de exemplu, și pentru a identifica posibilele cauze ale erorilor. systrace poate captura o mare varietate de date, inclusiv programarea procesorului, frecvența procesorului, I/O disc, grafică, activitatea Binder și multe altele. Informațiile sunt combinate într-un raport care poate fi analizat în Google Chrome.

Înainte de Android Pie, singura modalitate de a captura urme cu systrace a fost să conectați un dispozitiv Android la un computer și să rulați systrace de acolo - de obicei de la un terminal. Cu toate acestea, nu toată lumea are acces constant la un computer sau cunoștințele și încrederea necesare pentru a rula systrace.

Odată cu lansarea Android Pie, acest inconvenient a fost rezolvat cu introducerea Pachetul Traceur, care este un instrument care captează date brute de urmărire direct pe un telefon Android. Traceur este disponibil ca opțiune „Urmărire sistem” în Opțiunile pentru dezvoltatori din aplicația Setări, iar datele de urmărire brute capturate pe dispozitiv de Traceur pot fi convertite ulterior de către systrace la un raport HTML pentru analiză.

Noua opțiune „Urmărirea sistemului” permite utilizatorilor să capteze și să partajeze cu ușurință urmele cu dezvoltatorii, fără a fi nevoie să știe cum să ruleze systrace pe un computer. Dezvoltatorii beneficiază de capacitatea de a capta urme fără un computer și de a analiza mai târziu, după bunul plac. Datele complete de urmărire brute colectate de „System Tracing” sunt, de asemenea, semnificativ mai mici ca dimensiune decât raportul HTML generat de systrace, ceea ce face ca datele de urmărire brute să fie mai potrivite pentru stocarea și partajarea cu alții.

Ghid: Colectarea sistemului și analiza urmelor sistemului

În primul rând, asigurați-vă că aveți un dispozitiv care rulează Android Pie și un computer cu Python 2 instalat. Următoarele instrucțiuni au fost efectuate pe un OnePlus 6 care rulează cel mai recent OxygenOS Android Pie beta.

  1. Activați Opțiuni pentru dezvoltatori în aplicația Setări, apoi accesați opțiunea „Urmărire sistem”. în secțiunea „Depanare” din Opțiuni pentru dezvoltatori.
  2. La deschiderea Urmăririi sistemului, vi se va prezenta o comutare pentru a activa Urmărirea sistemului și abilitatea de a personaliza categoriile de urmărire și dimensiunea bufferului urmelor. Pentru această demonstrație, sunt utilizate categoriile implicite, ceea ce este suficient pentru majoritatea cazurilor. O comutare „Afișare setări rapide” permite pornirea/oprirea urmăririi prin Setări rapide. Am activat acest lucru pentru acest ghid.
  3. Pentru a începe să captați o urmă, atingeți pictograma de setări rapide „Înregistrare urme” adăugată recent.
  4. Când ați terminat de urmărit un caz de testare, puteți opri urmărirea din umbra de notificare.
  5. Grozav! Ați capturat cu succes o urmă brută. O notificare vă va solicita să partajați fișierul de urmărire brută. Ar trebui să îl puteți salva pe dispozitiv, să îl încărcați în stocarea online, să îl puteți trimite prin e-mail cuiva etc. Alternativ, puteți utiliza ADB pentru a trage direct urma de pe dispozitiv pe computer (adb pull /data/local/traces/). Continuați și salvați fișierul de urmărire pe computer.
  6. Fișierul de urme brute are inventat .ctrace format. Nu poate fi interpretat în forma sa brută. Putem folosi systrace pentru a genera un raport HTML interactiv mai util și mai ușor de înțeles din fișierul nostru de urmărire brută.
  7. Vom folosi cea mai recentă versiune a systrace de la catapult project repo. Într-o aplicație de terminal, clonează repo (asigură-te că git este instalat):
    git clone https://github.com/catapult-project/catapult.git
  8. Pentru a genera raportul HTML din fișierul nostru de urmărire brută folosind systrace, introduceți următoarele comenzi:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Va fi generat un fișier HTML cu același nume ca fișierul de urmărire brută. Notă: systrace acceptă doar Python 2 în momentul scrierii.
  9. Pentru a vedea raportul HTML, lansați browserul Google Chrome și accesați adresa URL „chrome://tracing”. Nu deschideți raportul HTML direct în Google Chrome, deoarece va apărea necompletat.
  10. Faceți clic pe „Încărcare” și deschideți fișierul raport HTML din dialogul pop-up. Voila! Raportul dvs. de urmărire este acum disponibil pentru inspecție.

Ce urmeaza?

Acum că sunteți capabil să captați o urmă și să generați un systrace raport, este important să înțelegeți cum să citiți și să interpretați datele prezentate în raport. Pentru început, recomand să citești „Înţelegere Systrace”, și vizionarea „Performanța Android: o prezentare generală (Google I/O ‘17)" și "Systrace pentru Jocuri" pentru a vedea systrace in actiune.

Aceasta este o postare pentru invitați care a fost scrisă inițial de Josh Choo, cunoscut și sub numele de XDA Recognized Developer joshuous. Postarea a fost ușor editată pentru formatare.