So erfassen Sie lokal eine Systemverfolgung auf Android Pie

systrace ist ein leistungsstarkes Tool, das Zeitinformationen von Prozessen sammelt, die auf Android ausgeführt werden. So erfassen Sie eine Systemverfolgung auf Android Pie.

Die Ablaufverfolgung ist ein unschätzbar wertvolles Tool, das es Entwicklern ermöglicht, die Auswirkungen verschiedener Änderungen auf ein System zu verstehen und Hinweise zur Identifizierung der Grundursache von Problemen zu liefern.

systrace ist ein solches leistungsstarkes Tracing-Tool, das Zeitinformationen von Prozessen sammelt läuft auf einem Android-Gerät. systrace wurde von der ausgiebig genutzt Android-Performance-Team bei Google, um die Leistung auf den Google Pixel-Telefonen zu optimieren. Ich habe benutzt systrace um beispielsweise die Auswirkungen von Kernel-Scheduler-Änderungen auf die Task-Platzierung auf CPUs zu untersuchen und mögliche Ursachen für Störungen zu identifizieren. systrace kann eine Vielzahl von Daten erfassen, darunter CPU-Planung, CPU-Frequenz, Festplatten-E/A, Grafiken, Binder-Aktivität und vieles mehr. Die Informationen werden zu einem Bericht zusammengefasst, der in Google Chrome analysiert werden kann.

Vor Android Pie war dies die einzige Möglichkeit, Spuren zu erfassen systrace bestand darin, ein Android-Gerät an einen Computer anzuschließen und Systrace von dort aus auszuführen – normalerweise von einem Terminal aus. Allerdings hat nicht jeder ständig Zugriff auf einen Computer oder das Wissen und die Sicherheit, Systrace auszuführen.

Mit der Veröffentlichung von Android Pie wurde diese Unannehmlichkeit mit der Einführung des behoben Traceur-Paket, ein Tool, das rohe Trace-Daten erfasst direkt auf einem Android-Telefon. Traceur ist als Option „Systemverfolgung“ in den Entwickleroptionen der App „Einstellungen“ verfügbar und die von Traceur auf dem Gerät erfassten Rohdaten der Ablaufverfolgung können zu einem späteren Zeitpunkt von konvertiert werden systrace zur Analyse in einen HTML-Bericht übertragen.

Mit der neuen Option „System Tracing“ können Benutzer ganz einfach Traces erfassen und mit Entwicklern teilen, ohne dass sie tatsächlich wissen müssen, wie sie ausgeführt werden systrace auf einem Computer. Entwickler profitieren von der Möglichkeit, Spuren ohne Computer zu erfassen und später nach Belieben zu analysieren. Die vollständigen, von „System Tracing“ gesammelten Rohdaten der Ablaufverfolgung sind zudem deutlich kleiner als der von „System Tracing“ generierte HTML-Bericht systrace, wodurch sich die rohen Trace-Daten besser zum Speichern und Teilen mit anderen eignen.

Leitfaden: System sammeln und Systemspuren analysieren

Stellen Sie zunächst sicher, dass Sie über ein Gerät mit Android Pie und einen Computer verfügen, auf dem Python 2 installiert ist. Die folgenden Anweisungen wurden auf einem OnePlus 6 ausgeführt, auf dem die neueste Betaversion von OxygenOS Android Pie ausgeführt wurde.

  1. Aktivieren Sie die Entwickleroptionen in der App „Einstellungen“ und greifen Sie dann auf die Option „Systemverfolgung“ zu im Abschnitt „Debugging“ der Entwickleroptionen.
  2. Beim Öffnen von „System Tracing“ wird Ihnen ein Schalter angezeigt, mit dem Sie „System Tracing“ aktivieren und die Tracing-Kategorien und die Puffergröße der Traces anpassen können. Für diese Demonstration werden die Standardkategorien verwendet, was für die meisten Fälle ausreichend ist. Mit der Schaltfläche „Kachel für Schnelleinstellungen anzeigen“ können Sie die Ablaufverfolgung über die Schnelleinstellungen starten/stoppen. Ich habe dies für diese Anleitung aktiviert.
  3. Um mit der Aufzeichnung einer Ablaufverfolgung zu beginnen, tippen Sie auf die kürzlich hinzugefügte Schnelleinstellungskachel „Ablaufverfolgung aufzeichnen“.
  4. Wenn Sie mit der Verfolgung eines Testfalls fertig sind, können Sie die Verfolgung über den Benachrichtigungsschirm stoppen.
  5. Großartig! Sie haben erfolgreich eine Rohspur erfasst. Eine Benachrichtigung fordert Sie auf, die Roh-Trace-Datei freizugeben. Sie sollten es auf Ihrem Gerät speichern, in den Online-Speicher hochladen, per E-Mail an jemanden senden usw. können. Alternativ können Sie ADB verwenden, um die Ablaufverfolgung direkt von Ihrem Gerät auf Ihren Computer zu übertragen (adb pull /data/local/traces/). Fahren Sie fort und speichern Sie die Trace-Datei auf Ihrem Computer.
  6. Die Roh-Trace-Datei ist zusammengestellt .ctrace-Format. Es kann nicht in seiner Rohform interpretiert werden. Wir können benutzen systrace um aus unserer Roh-Trace-Datei einen nützlicheren und verständlicheren interaktiven HTML-Bericht zu generieren.
  7. Wir werden die neueste Version von verwenden systrace von dem Katapult-Projekt-Repo. Klonen Sie in einer Terminalanwendung das Repo (stellen Sie sicher, dass Git installiert ist):
    git clone https://github.com/catapult-project/catapult.git
  8. Zum Generieren des HTML-Berichts aus unserer Roh-Trace-Datei mit systraceGeben Sie die folgenden Befehle ein:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Es wird eine HTML-Datei mit demselben Namen wie die Roh-Trace-Datei generiert. Hinweis: Systrace unterstützt zum Zeitpunkt des Schreibens nur Python 2.
  9. Um den HTML-Bericht anzuzeigen, starten Sie den Google Chrome-Browser und greifen Sie auf die URL „chrome://tracing“ zu. Öffnen Sie den HTML-Bericht nicht direkt in Google Chrome, da er sonst leer erscheint.
  10. Klicken Sie auf „Laden“ und öffnen Sie die HTML-Berichtsdatei aus dem Popup-Dialogfeld. Voila! Ihr Trace-Bericht steht nun zur Einsicht zur Verfügung.

Was kommt als nächstes?

Jetzt sind Sie in der Lage, eine Ablaufverfolgung zu erfassen und eine zu generieren systrace Für den Bericht ist es wichtig zu verstehen, wie die im Bericht dargestellten Daten zu lesen und zu interpretieren sind. Zunächst empfehle ich die Lektüre von „Verständnis Systrace“ und schaue „Android-Leistung: Ein Überblick (Google I/O '17)" Und "Systrace für Spiele" um zu sehen systrace in Aktion.

Dies ist ein Gastbeitrag, der ursprünglich von Josh Choo, auch bekannt als XDA Recognized Developer, verfasst wurde joschartig. Der Beitrag wurde aus Gründen der Formatierung leicht bearbeitet.