System-Trace auf einem Gerät erfassen

Auf Geräten mit Android 9 (API-Level 28) oder höher ist eine App auf Systemebene namens System Tracing enthalten. Diese App ähnelt dem systrace Befehlszeilenprogramm. Mit der App können Sie Traces jedoch direkt auf einem Testgerät aufzeichnen, ohne das Gerät anschließen und über adb eine Verbindung herstellen zu müssen. Anschließend können Sie die App verwenden, um die Ergebnisse dieser Traces mit Ihrem Entwicklungsteam zu teilen.

Auf Geräten mit Android 10 und höher werden Traces im Perfetto-Format aufgezeichnet, auf älteren Geräten im Systrace-Format. Wir empfehlen, den Perfetto Trace-Viewer zu verwenden, um beide Formate zu öffnen und Traces zu analysieren.

Es ist hilfreich, Traces aufzuzeichnen, wenn Sie leistungsbezogene Programmfehler in Ihrer App beheben, z. B. langsame Starts bzw. Übergänge oder Verzögerungen in der Benutzeroberfläche.

System-Trace aufzeichnen

Mit der System Tracing App können Sie einen System-Trace über die Schnelleinstellungen-Kachel oder ein Menü in der App selbst aufzeichnen. In den folgenden Abschnitten wird beschrieben, wie Sie die Aufzeichnung mit diesen Oberflächen abschließen.

Aufzeichnung über die Schnelleinstellungen-Kachel

Die Schnelleinstellungen-Kachel ist in der Regel die bequemere Methode, um den System-Trace-Prozess auf dem Gerät abzuschließen.

Kachel einrichten

Wenn Sie System Tracing zum ersten Mal auf Ihrem Testgerät verwenden oder die Kachel System Tracing nicht im Bereich Schnelleinstellungen Ihres Geräts sehen (siehe Abbildung 2), führen Sie die folgenden Einrichtungsschritte aus:

  1. Aktivieren Sie die Entwickleroptionen.
  2. Öffnen Sie die Einstellungen für die Entwickleroptionen.
  3. Wählen Sie im Bereich Debugging die Option System Tracing aus. Die System Tracing App wird geöffnet und das App-Menü angezeigt.
  4. Aktivieren Sie im App-Menü die Option Schnelleinstellungen-Kachel anzeigen (siehe Abbildung 1). Das System fügt die Kachel System Tracing dem Bereich Schnelleinstellungen hinzu (siehe Abbildung 2):

    Abbildung 1. Der Schalter Schnelleinstellungen-Kachel anzeigen in der System Tracing App.
    Abbildung 2 : Die Kachel System Tracing im Bereich Schnelleinstellungen.

    Hinweis:Standardmäßig fügt das System die Kachel System Tracing als erste Kachel im Bereich Schnelleinstellungen hinzu. Wenn die Kachel an einer anderen Position angezeigt werden soll, verschieben Sie sie im Bearbeitungsmodus des Bereichs.

System-Trace-Aufzeichnung abschließen

So zeichnen Sie einen System-Trace über den Bereich Schnelleinstellungen auf:

  1. Tippen Sie auf die Kachel System Tracing mit der Beschriftung Trace aufzeichnen. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung informiert Sie darüber, dass das System einen Trace aufzeichnet (siehe Abbildung 3):

    Benachrichtigung mit der Meldung „Trace wird aufgezeichnet. Tippen Sie, um das Tracing zu beenden.'
    Abbildung 3. Dauerhafte Benachrichtigung, die nach dem Start eines System-Traces auf dem Gerät angezeigt wird.
  2. Führen Sie in Ihrer App die Aktionen aus, die das System untersuchen soll.

  3. Beenden Sie die Aufzeichnung, indem Sie entweder auf die Kachel System Tracing im Bereich Schnelleinstellungen oder auf die System Tracing-Benachrichtigung tippen.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Nach Abschluss des Speicherns wird die Benachrichtigung geschlossen und eine dritte Benachrichtigung angezeigt, die bestätigt, dass der Trace gespeichert wurde und dass Sie bereit sind, den System-Trace zu teilen (siehe Abbildung 4):

    Benachrichtigung mit der Meldung „Trace gespeichert“. Zum Teilen Ihres Trace tippen.
    Abbildung 4. Dauerhafte Benachrichtigung, die angezeigt wird, nachdem das System einen aufgezeichneten Trace gespeichert hat.

Aufzeichnung über das App-Menü

Im App-Menü können Sie verschiedene erweiterte Einstellungen für das System-Tracing konfigurieren und einen Schalter zum Starten und Beenden eines System-Traces verwenden.

So zeichnen Sie einen System-Trace über das Menü der System Tracing App auf:

  1. Aktivieren Sie die Entwickleroptionen.
  2. Öffnen Sie die Einstellungen für die Entwickleroptionen. Wählen Sie im Bereich Debugging die Option System Tracing aus. Die System Tracing App wird geöffnet.

    Alternativ können Sie die Kachel System Tracing gedrückt halten, um die System Tracing App zu öffnen, wenn Sie sie eingerichtet haben, .

  3. Achten Sie darauf, dass Debugfähige Anwendungen tracen ausgewählt ist, um Apps einzubeziehen, bei denen das Debugging im System-Trace aktiviert ist.

  4. Optional können Sie die Kategorien der System- und Sensoraufrufe auswählen, die getracet werden sollen, und eine Puffergröße pro CPU in KB auswählen. Wählen Sie Kategorien aus, die dem Testfall entsprechen, z. B. die Kategorie Audio zum Testen von Bluetooth-Vorgängen oder die Kategorie Arbeitsspeicher für Heap-Zuweisungen.

  5. Optional können Sie Lange Traces auswählen, um Traces zu aktivieren, die kontinuierlich im Gerätespeicher gespeichert werden. Legen Sie für diese Option Grenzwerte für die Maximale Größe des langen Traces und die Maximale Dauer des langen Traces fest.

  6. Aktivieren Sie den Schalter Trace aufzeichnen (siehe Abbildung 5). Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung informiert Sie darüber, dass das System einen Trace aufzeichnet (siehe Abbildung 3).

    Abbildung 5. Der Schalter Trace aufzeichnen in den System Tracing-Einstellungen.
  7. Führen Sie in Ihrer App die Aktionen aus, die das System untersuchen soll.

  8. Beenden Sie die Aufzeichnung, indem Sie den Schalter Trace aufzeichnen deaktivieren.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Nach Abschluss des Speicherns wird die Benachrichtigung geschlossen und eine dritte Benachrichtigung angezeigt, die bestätigt, dass der Trace gespeichert wurde und dass Sie bereit sind, den System-Trace freizugeben (siehe Abbildung 4).

System-Trace freigeben

Mit der System Tracing App können Sie System-Trace-Ergebnisse im Rahmen verschiedener Workflows freigeben. Auf Geräten mit Android 10 (API-Level 29) oder höher werden Trace Dateien mit der .perfetto-trace Dateinamenerweiterung gespeichert und können in der Perfetto-UI geöffnet werden. Auf Geräten mit einer älteren Android-Version werden Trace-Dateien mit der Dateinamenerweiterung .ctrace gespeichert, die das Systrace-Format angibt.

Als Nachricht freigeben

Mit System Tracing können Sie den erfassten Trace für andere Apps auf Ihrem Gerät freigeben. Sie können den Trace per E-Mail oder über eine App zur Fehlerverfolgung an Ihr Entwicklungsteam senden, ohne ein Gerät an Ihre Entwicklungsmaschine anschließen zu müssen.

Nachdem Sie einen System-Trace aufgezeichnet haben, tippen Sie auf die Benachrichtigung, die auf dem Gerät angezeigt wird, z. B. die in Abbildung 4. Die Intent-Auswahl der Plattform wird angezeigt, mit der Sie Ihren Trace über die Messaging-App Ihrer Wahl freigeben können.

Über die Dateien-App freigeben

Auf Geräten mit Android 10 (API-Level 29) oder höher werden Traces in der Dateien-App angezeigt. Sie können einen Trace über diese App freigeben.

Bericht mit ADB herunterladen

Sie können einen System-Trace auch mit adb von einem Gerät extrahieren. Verbinden Sie das Gerät, mit dem Sie den Trace aufgezeichnet haben, mit Ihrer Entwicklungsmaschine und führen Sie dann die folgenden Befehle in einem Terminalfenster aus:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

Zwischen Trace-Formaten konvertieren

Sie können Perfetto-Trace-Dateien in das Systrace-Format konvertieren. Weitere Informationen

HTML-Bericht erstellen

Wenn Sie Ihren Trace freigeben, befindet sich der Bericht selbst in einer .perfetto-trace-Datei auf Geräten mit Android 10 oder höher oder in einer .ctrace-Datei für alle anderen Versionen.

Erstellen Sie einen HTML-Bericht aus der Trace-Datei über eine webbasierte UI oder über die Befehlszeile.

Webbasierte UI

Öffnen Sie die Perfetto-UI in der Perfetto-UI die Trace-Datei und generieren Sie den Bericht.

Klicken Sie bei einer Perfetto-Datei auf Trace-Datei öffnen. Klicken Sie bei einer Systrace-Datei auf Mit der Legacy-UI öffnen. Die Legacy-UI sieht genauso aus wie der Systrace-Bericht.

Befehlszeile

Führen Sie die folgenden Befehle in einem Terminalfenster aus, um einen HTML-Bericht aus der Trace-Datei zu generieren:

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

Wenn Sie das systrace Befehlszeilenprogramm noch nicht haben, können Sie es aus dem Catapult Projekt auf GitHub oder direkt aus dem Android Open Source Project herunterladen.