Der Befehl systrace
ruft das Systrace-Tool auf, mit dem Sie Zeitinformationen für alle Prozesse, die auf Ihrem Gerät auf Systemebene ausgeführt werden, erfassen und prüfen können.
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 Systrace-Berichte auch mit der System-App für das System-Tracing generieren.
Führen Sie die folgenden Schritte aus, um systrace
auszuführen:
- Laden Sie aus Android Studio die neuesten Android SDK-Tools herunter und installieren Sie sie.
- Installieren Sie Python und fügen Sie es in die
PATH
-Umgebungsvariable Ihrer Workstation ein. - Fügen Sie der Umgebungsvariablen
PATH
android-sdk/platform-tools/
hinzu. Dieses Verzeichnis enthält die Android Debug Bridge-Binärdatei (adb), die vom Programmsystrace
aufgerufen wird. - Verbinde ein Gerät mit Android 4.3 (API-Level 18) oder höher über eine USB-Debugging-Verbindung mit deinem Entwicklungssystem.
Der Befehl systrace
ist im Android SDK Tools-Paket enthalten und befindet sich in android-sdk/platform-tools/systrace/
.
Syntax
Zum Generieren des HTML-Berichts für die App müssen Sie systrace
über die Befehlszeile ausführen. Verwenden Sie dazu die folgende Syntax:
python systrace.py [options] [categories]
Mit dem folgenden Befehl wird beispielsweise systrace
aufgerufen, um die Geräteaktivität aufzuzeichnen und einen HTML-Bericht mit dem Namen mynewtrace.html
zu generieren. Diese Liste der Kategorien ist eine gute
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 von Aufgaben in der Trace-Ausgabe sehen möchten, müssen Sie die Kategorie sched
in die Befehlsparameter aufnehmen.
Führen Sie den folgenden Befehl aus, um die Liste der Kategorien aufzurufen, die Ihr verbundenes Gerät unterstützt:
$ python systrace.py --list-categories
Wenn Sie keine Kategorien oder Optionen angeben, erstellt systrace
einen Bericht, der alle verfügbaren Kategorien enthält und Standardeinstellungen verwendet. Die verfügbaren Kategorien hängen vom verbundenen Gerät ab, das Sie verwenden.
Globale Optionen
Globale Optionen | Beschreibung |
---|---|
-h | --help |
Zeigen Sie die Hilfemeldung an. |
-l | --list-categories |
Listet die Tracing-Kategorien auf, die für Ihr verbundenes Gerät verfügbar sind. |
Befehle und Befehlsoptionen
Befehle und Optionen | Beschreibung |
---|---|
-o file |
Schreibt den HTML-Trace-Bericht im angegebenen file. Wenn Sie diese Option nicht angeben, speichert systrace den Bericht im selben Verzeichnis wie systrace.py und gibt ihm den Namen trace.html .
|
-t N | --time=N |
Verfolgen Sie die Geräteaktivität N Sekunden lang. Wenn Sie diese Option nicht angeben, werden Sie von systrace aufgefordert, den Trace durch Drücken der Eingabetaste in der Befehlszeile zu beenden.
|
-b N | --buf-size=N |
Tracepuffer-Größe von N Kilobyte verwenden Mit dieser Option können Sie die Gesamtgröße der während eines Trace erfassten Daten begrenzen. |
-k functions |
Verfolgen Sie die Aktivität bestimmter Kernelfunktionen, die in einer durch Kommas getrennten Liste angegeben sind. |
-a app-name |
Aktiviert das Tracing für Anwendungen, angegeben als durch Kommas getrennte Liste von Prozessnamen.
Die Anwendungen müssen Aufrufe von Tracing-Instrumentierungen aus der Klasse Trace enthalten. Sie sollten diese Option immer dann angeben, wenn Sie ein Profil für Ihre Anwendung erstellen. Viele Bibliotheken wie RecyclerView enthalten Tracing-Instrumentierungsaufrufe, die nützliche Informationen liefern, wenn Sie Tracing auf Anwendungsebene aktivieren. 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, übergeben Sie das Platzhalterzeichen |
--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 |
Führen Sie das Trace auf einem bestimmten verbundenen Gerät durch, das anhand seiner Geräte-Seriennummer identifiziert wird. |
categories |
Fügen Sie Tracing-Informationen für die von Ihnen angegebenen Systemprozesse hinzu, z. B. gfx für Systemprozesse, die Grafiken rendern. Sie können systrace mit dem Befehl -l ausführen, um eine Liste der Dienste aufzurufen, die für Ihr verbundenes Gerät verfügbar sind.
|
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- System-Trace auf einem Gerät erfassen