System-Trace in der Befehlszeile erfassen

Der Befehl systrace ruft das Systrace-Tool auf. mit der Sie Zeitinformationen über alle Prozesse hinweg sammeln und prüfen können. auf Systemebene ausgeführt werden.

In diesem Dokument wird erläutert, wie Sie Systrace-Berichte über die Befehlszeile generieren. Auf Geräten mit Android 9 (API-Level 28) oder höher können Sie auch Systrace-Berichte mit dem System Tracing-System App.

Führe die folgenden Schritte aus, um systrace auszuführen:

  1. Laden Sie in Android Studio das neueste Android SDK herunter und installieren Sie es. Tools.
  2. Installieren Sie Python und fügen Sie es in Ihrem der Umgebungsvariable PATH der Workstation.
  3. android-sdk/platform-tools/ zu Ihrem PATH. Dieses Verzeichnis enthält die Android- Debug Bridge-Binärprogramm (ADB), das vom systrace-Programm aufgerufen wird.
  4. Verbinden Sie ein Gerät mit Android 4.3 (API-Level 18) oder höher mit Ihrem mit einem USB-Debugging-Tool Verbindung.

Der Befehl systrace wird im Android SDK Tools-Paket bereitgestellt und ist in android-sdk/platform-tools/systrace/.

Syntax

Um den HTML-Bericht für die App zu erstellen, müssen Sie systrace über die Befehlszeile mit der folgenden Syntax:

python systrace.py [options] [categories]

Mit dem folgenden Befehl wird beispielsweise systrace aufgerufen, um die Geräteaktivität aufzuzeichnen und generieren einen HTML-Bericht mit dem Namen mynewtrace.html. Diese Liste von Kategorien ist ein Standardliste für die meisten Geräte.

$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
    binder_driver hal dalvik camera input res memory

Tipp:Wenn Sie die Namen der Aufgaben in die Trace-Ausgabe enthalten, müssen Sie die Kategorie sched in Ihre Befehlsparameter.

Um die Liste der Kategorien aufzurufen, die Ihr verbundenes Gerät unterstützt, führen Sie den folgenden Befehl:

$ python systrace.py --list-categories

Wenn Sie keine Kategorien oder Optionen angeben, erstellt systrace einen Bericht die alle verfügbaren Kategorien enthält und die Standardeinstellungen verwendet. Die Kategorien verfügbar sind, hängt vom verwendeten verbundenen Gerät ab.

Globale Optionen

Globale Optionen Beschreibung
-h | --help Hilfemeldung anzeigen.
-l | --list-categories Listet die Tracing-Kategorien auf, die für das verbundene Gerät verfügbar sind.

Befehle und Befehlsoptionen

Befehle und Optionen Beschreibung
-o file Schreibt den HTML-Trace-Bericht in die angegebene file. Wenn Wenn Sie diese Option nicht angeben, speichert systrace Ihren Bericht im selben das Verzeichnis systrace.py mit dem Namen trace.html.
-t N | --time=N Verfolgen Sie die Geräteaktivität für N Sekunden. Wenn Sie keine Bei dieser Option werden Sie von systrace aufgefordert, den Trace durch Drücken der Geben Sie den Schlüssel aus der Befehlszeile ein.
-b N | --buf-size=N Verwenden Sie eine Trace-Zwischenspeichergröße von N Kilobyte. Mit dieser Option können Sie die Gesamtgröße der während eines Trace erfassten Daten begrenzen.
-k functions
| --ktrace=functions
Verfolgen der Aktivität bestimmter Kernel-Funktionen, die in einem kommagetrennte Liste.
-a app-name
| --app=app-name
Tracing für Apps aktivieren (angegeben als durch Kommas getrennte Liste von Prozessnamen. Die Apps müssen Tracing-Instrumentierungsaufrufe aus dem Klasse Trace. Sie sollten diese Option immer angeben, für Ihre Anwendung erstellen. Viele Bibliotheken, z. B. RecyclerView, Tracing einschließen Instrumentierungsaufrufe, die nützliche Informationen liefern, wenn Sie Tracing auf App-Ebene. Weitere Informationen finden Sie unter Benutzerdefinierte Ereignisse definieren.

Wenn Sie alle Apps auf einem Gerät mit Android 9 (API-Level 28) oder höher verfolgen möchten, Platzhalterzeichen "*" einschließlich Anführungszeichen übergeben Markierungen.

--from-file=file-path Erstellen Sie einen interaktiven HTML-Bericht aus einer Datei, z. B. TXT-Dateien, die Trace-Rohdaten enthalten, anstatt einen Live-Trace auszuführen.
-e device-serial
| --serial=device-serial
Führen Sie den Trace auf einem bestimmten verbundenen Gerät durch, Seriennummer des Geräts.
categories Fügen Sie Tracing-Informationen zu den von Ihnen angegebenen Systemprozessen hinzu, z. B. als gfx für Systemprozesse, die Grafiken rendern. Ich systrace mit dem Befehl -l ausführen, um eine Liste der Dienste, die für Ihr verbundenes Gerät verfügbar sind.