Πώς να καταγράψετε τοπικά ένα ίχνος συστήματος στο Android Pie

click fraud protection

Το systrace είναι ένα ισχυρό εργαλείο που συλλέγει πληροφορίες χρονισμού από διαδικασίες που εκτελούνται στο Android. Δείτε πώς μπορείτε να καταγράψετε ένα ίχνος συστήματος στο Android Pie.

Το Tracing είναι ένα ανεκτίμητο εργαλείο που επιτρέπει στους προγραμματιστές να κατανοήσουν τον αντίκτυπο που έχουν διάφορες αλλαγές σε ένα σύστημα και μπορεί να παρέχει ενδείξεις για τον εντοπισμό της βασικής αιτίας των προβλημάτων.

systrace είναι ένα τέτοιο ισχυρό εργαλείο ανίχνευσης που συλλέγει πληροφορίες χρονισμού από διαδικασίες τρέχει σε συσκευή Android. systrace χρησιμοποιήθηκε εκτενώς από την Ομάδα απόδοσης Android στην Google για βελτιστοποίηση της απόδοσης στα τηλέφωνα Google Pixel. έχω χρησιμοποιήσει systrace για να επιθεωρήσετε τον αντίκτυπο των αλλαγών του χρονοπρογραμματιστή πυρήνα στις τοποθετήσεις εργασιών σε CPU, για παράδειγμα, και να εντοπίσετε πιθανές αιτίες τζανκ. systrace μπορεί να καταγράψει μια μεγάλη ποικιλία δεδομένων, συμπεριλαμβανομένου του προγραμματισμού CPU, της συχνότητας CPU, του δίσκου I/O, των γραφικών, της δραστηριότητας Binder και πολλά άλλα. Οι πληροφορίες συνδυάζονται σε μια αναφορά που μπορεί να αναλυθεί στο Google Chrome.

Πριν από το Android Pie, ο μόνος τρόπος για να καταγράψετε ίχνη με systrace ήταν να συνδέσετε μια συσκευή Android σε έναν υπολογιστή και να εκτελέσετε το systrace από εκεί — συνήθως από ένα τερματικό. Ωστόσο, δεν έχουν όλοι συνεχή πρόσβαση σε έναν υπολογιστή ή τη γνώση και την αυτοπεποίθηση για την εκτέλεση του systrace.

Με την κυκλοφορία του Android Pie, αυτή η ταλαιπωρία αντιμετωπίστηκε με την εισαγωγή του Το πακέτο Traceur, το οποίο είναι ένα εργαλείο που συλλαμβάνει ακατέργαστα δεδομένα ίχνους απευθείας σε ένα τηλέφωνο Android. Το Traceur είναι διαθέσιμο ως η επιλογή "System Tracing" στις Επιλογές προγραμματιστή της εφαρμογής "Ρυθμίσεις" και τα ακατέργαστα δεδομένα ίχνους που καταγράφονται στη συσκευή από την Traceur μπορούν αργότερα να μετατραπούν από systrace σε μια αναφορά HTML για ανάλυση.

Η νέα επιλογή "System Tracing" επιτρέπει στους χρήστες να καταγράφουν εύκολα και να μοιράζονται ίχνη με προγραμματιστές, χωρίς να χρειάζεται να γνωρίζουν πραγματικά πώς να εκτελούν systrace σε υπολογιστή. Οι προγραμματιστές επωφελούνται από τη δυνατότητα να καταγράφουν ίχνη χωρίς υπολογιστή και να αναλύουν αργότερα όποτε τους βολεύει. Τα πλήρη δεδομένα πρωτογενούς ανίχνευσης που συλλέγονται από το "System Tracing" είναι επίσης σημαντικά μικρότερα σε μέγεθος από την αναφορά HTML που δημιουργείται από systrace, γεγονός που καθιστά τα ακατέργαστα δεδομένα ίχνους πιο κατάλληλα για αποθήκευση και κοινή χρήση με άλλους.

Οδηγός: Συλλογή συστήματος και ανάλυση ιχνών συστήματος

Αρχικά, βεβαιωθείτε ότι έχετε εγκατεστημένη μια συσκευή με Android Pie και έναν υπολογιστή με Python 2. Οι παρακάτω οδηγίες εκτελέστηκαν σε ένα OnePlus 6 που εκτελούσε την πιο πρόσφατη έκδοση beta του OxygenOS Android Pie.

  1. Ενεργοποιήστε τις Επιλογές προγραμματιστή στην εφαρμογή Ρυθμίσεις και, στη συνέχεια, αποκτήστε πρόσβαση στην επιλογή «Ιχνηλασία συστήματος». στην ενότητα "Εντοπισμός σφαλμάτων" των Επιλογών προγραμματιστή.
  2. Με το άνοιγμα του System Tracing, θα εμφανιστεί μια εναλλαγή για να ενεργοποιήσετε την ανίχνευση συστήματος και τη δυνατότητα προσαρμογής των κατηγοριών ανίχνευσης και του μεγέθους buffer των ιχνών. Για αυτήν την επίδειξη, χρησιμοποιούνται οι προεπιλεγμένες κατηγορίες, οι οποίες επαρκούν για τις περισσότερες περιπτώσεις. Η εναλλαγή "Εμφάνιση πλακιδίου γρήγορων ρυθμίσεων" επιτρέπει την έναρξη/διακοπή της ανίχνευσης μέσω των Γρήγορων ρυθμίσεων. Το έχω ενεργοποιήσει για αυτόν τον οδηγό.
  3. Για να ξεκινήσετε τη λήψη ενός ίχνους, πατήστε στο πλακίδιο γρήγορων ρυθμίσεων «Εγγραφή ίχνους» που προστέθηκε πρόσφατα.
  4. Όταν ολοκληρώσετε την ανίχνευση μιας δοκιμαστικής περίπτωσης, μπορείτε να διακόψετε την ανίχνευση από τη σκίαση ειδοποιήσεων.
  5. Εξαιρετική! Καταγράψατε με επιτυχία ένα ακατέργαστο ίχνος. Μια ειδοποίηση θα σας ζητήσει να μοιραστείτε το μη επεξεργασμένο αρχείο ίχνους. Θα πρέπει να μπορείτε να το αποθηκεύσετε στη συσκευή σας, να το ανεβάσετε στον ηλεκτρονικό χώρο αποθήκευσης, να το στείλετε μέσω email σε κάποιον κ.λπ. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το ADB για να τραβήξετε απευθείας το ίχνος από τη συσκευή σας στον υπολογιστή σας (adb pull /data/local/traces/). Προχωρήστε και αποθηκεύστε το αρχείο παρακολούθησης στον υπολογιστή σας.
  6. Το ακατέργαστο αρχείο ίχνους έχει τη σύνθεση Μορφή .ctrace. Δεν μπορεί να ερμηνευθεί στην ακατέργαστη μορφή του. Μπορούμε να χρησιμοποιήσουμε systrace για να δημιουργήσετε μια πιο χρήσιμη και κατανοητή διαδραστική αναφορά HTML από το ακατέργαστο αρχείο μας.
  7. Θα χρησιμοποιήσουμε την πιο πρόσφατη έκδοση του systrace από το αποθήκη έργου καταπέλτη. Σε μια εφαρμογή τερματικού, κλωνοποιήστε το 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 από τον αναδυόμενο διάλογο. Voila! Η αναφορά ιχνών σας είναι τώρα διαθέσιμη για επιθεώρηση.

Τι έπεται?

Τώρα που μπορείτε να καταγράψετε ένα ίχνος και να δημιουργήσετε ένα systrace αναφορά, είναι σημαντικό να κατανοήσετε πώς να διαβάζετε και να ερμηνεύετε τα δεδομένα που παρουσιάζονται στην αναφορά. Για αρχή, προτείνω να διαβάσετε το "Κατανόηση Systrace" και βλέποντας "Απόδοση Android: Μια επισκόπηση (Google I/O ‘17)" και "Systrace για Παιχνίδια" για να δω systrace εν ΔΡΑΣΕΙ.

Αυτή είναι μια επισκέπτης που γράφτηκε αρχικά από τον Josh Choo, επίσης γνωστό ως XDA Recognized Developer joshuous. Η ανάρτηση υποβλήθηκε σε ελαφριά επεξεργασία για μορφοποίηση.