System-Trace auf einem Gerät erfassen

Geräte mit Android 9 (API-Level 28) oder höher enthalten eine App auf Systemebene namens „System Tracing“. Diese Anwendung ähnelt dem systrace-Befehlszeilendienstprogramm, aber Sie können damit Traces direkt von einem Testgerät selbst aufzeichnen, ohne das Gerät anschließen und über adb verbinden zu müssen. Anschließend können Sie die Ergebnisse dieser Traces über die App mit Ihrem Entwicklungsteam teilen.

Geräte mit Android 10 und höher zeichnen Traces im Perfetto-Format auf, während sie auf früheren Geräten im Systrace-Format aufgezeichnet werden. Wir empfehlen, beide Formate mit dem Perfetto Trace Viewer zu öffnen und dann Traces zu analysieren.

Es ist hilfreich, Traces aufzuzeichnen, wenn leistungsbezogene Fehler in Ihrer Anwendung behoben werden, z. B. ein langsamer Start, langsame Ü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 Kachel Schnelleinstellungen oder ein Menü in der App selbst aufzeichnen. In den folgenden Abschnitten wird beschrieben, wie Sie die Aufzeichnung über diese Schnittstellen abschließen.

Mit der Kachel „Schnelleinstellungen“ aufnehmen

Die Kachel für die Schnelleinstellungen ist in der Regel die bequemere Möglichkeit, die Systemverfolgung 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 in den Schnelleinstellungen Ihres Geräts nicht angezeigt wird (siehe Abbildung 2), führen Sie die folgenden Einrichtungsschritte aus:

  1. Entwickleroptionen aktivieren
  2. Öffnen Sie den Bildschirm mit den Einstellungen für Entwickleroptionen.
  3. Wählen Sie im Abschnitt Debugging die Option System-Tracing aus. Die System Tracing App wird mit dem App-Menü geöffnet.
  4. Aktivieren Sie im App-Menü die Option Schnelleinstellungen-Kachel anzeigen, wie in Abbildung 1 gezeigt. Das System fügt dem Bereich Schnelleinstellungen die Kachel System-Tracing hinzu, wie in Abbildung 2 dargestellt:

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

    Hinweis:Standardmäßig wird die Kachel System-Tracing im Bereich Schnelleinstellungen als erste Kachel hinzugefügt. Wenn die Kachel an einer anderen Position angezeigt werden soll, verwenden Sie den Bearbeitungsmodus des Felds, um sie zu verschieben.

System-Trace-Aufzeichnung abschließen

So zeichnen Sie ein System-Trace über die Schnelleinstellungen auf:

  1. Tippen Sie auf die Kachel System-Tracing mit dem Label Trace aufzeichnen. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung weist Sie darauf hin, dass das System einen Trace aufzeichnet (siehe Abbildung 3):

    Benachrichtigung mit der Nachricht "Die Spur wird aufgezeichnet. Zum Beenden des Tracings tippen.“
    Abbildung 3: Dauerhafte Benachrichtigung, die nach dem Starten eines System-Trace auf dem Gerät angezeigt wird.
  2. Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.

  3. Wenn Sie das Tracing beenden möchten, tippen Sie entweder im Bereich Schnelleinstellungen auf die Kachel System-Tracing oder in der Benachrichtigung zur System-Tracing-Benachrichtigung.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Wenn der Speichervorgang abgeschlossen ist, schließt das System die Benachrichtigung und zeigt eine dritte Benachrichtigung an, mit der bestätigt wird, dass Ihr Trace gespeichert wurde und Sie bereit zum Teilen des System-Trace sind (siehe Abbildung 4):

    Benachrichtigung mit der Nachricht „Trace gespeichert. Tippen Sie, um den Trace zu teilen.“
    Abbildung 4: Dauerhafte Benachrichtigung, die angezeigt wird, nachdem das System einen aufgezeichneten Trace gespeichert hat.

Über das App-Menü aufnehmen

Im App-Menü können Sie mehrere erweiterte Einstellungen im Zusammenhang mit der Systemverfolgung konfigurieren und einen Schalter zum Starten und Beenden eines System-Trace bereitstellen.

Führen Sie die folgenden Schritte aus, um ein System-Trace über das App-Menü „System Tracing“ aufzuzeichnen:

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

    Wenn Sie die Kachel System-Tracing eingerichtet haben, können Sie sie auch antippen und halten, um die System-Tracing-App aufzurufen.

  3. Achten Sie darauf, dass Debug-fähige Anwendungen verfolgen ausgewählt ist. Dazu gehören auch Anwendungen, für die das Debugging im System-Trace aktiviert ist.

  4. Wählen Sie optional die Kategorien der zu verfolgenden System- und Sensoraufrufe sowie eine Puffergröße pro CPU in KB aus. Wählen Sie Kategorien aus, die dem Anwendungsfall entsprechen, den Sie testen möchten, z. B. die Kategorie Audio für den Test von Bluetooth-Vorgängen oder die Kategorie Speicher für Heap-Zuweisungen.

  5. Wählen Sie optional Lange Traces aus, um Traces zu aktivieren, die kontinuierlich im Gerätespeicher gespeichert werden. Legen Sie für diese Option Limits für die Maximale Größe langer Traces und Maximale lange Trace-Dauer 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. In den Einstellungen für die System-Tracing-Funktion ist der Schalter Trace aufzeichnen möglich.
  7. Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.

  8. Beenden Sie das Tracing, indem Sie den Schalter Trace aufzeichnen deaktivieren.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Wenn der Speichervorgang abgeschlossen ist, schließt das System die Benachrichtigung und zeigt eine dritte Benachrichtigung an, mit der bestätigt wird, dass der Trace gespeichert wurde und Sie bereit zum Teilen des System-Trace sind (siehe Abbildung 4).

System-Trace freigeben

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

Als Nachricht teilen

Mit der System-Tracing-Funktion können Sie den erfassten Trace mit anderen Anwendungen auf Ihrem Gerät teilen. Sie können den Trace über eine E-Mail oder eine Fehlerverfolgungs-App an Ihr Entwicklungsteam senden, ohne ein Gerät mit Ihrem Entwicklungscomputer verbinden zu müssen.

Tippen Sie nach dem Aufzeichnen eines System-Trace auf die Benachrichtigung, die auf dem Gerät angezeigt wird, z. B. in Abbildung 4. Die Intent-Auswahl der Plattform wird angezeigt, über die Sie den Trace mit der Messaging-App Ihrer Wahl teilen können.

Über die App „Dateien“ teilen

Auf Geräten mit Android 10 (API-Level 29) oder höher werden Traces in der App „Dateien“ angezeigt. Von dieser App aus kannst du einen Trace teilen.

Bericht über ADB herunterladen

Sie können ein System-Trace auch mit adb von einem Gerät extrahieren. Verbinden Sie das Gerät, mit dem der Trace aufgezeichnet wird, mit dem Entwicklungscomputer 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-Ablaufverfolgungsdateien in das Systrace-Format konvertieren. Weitere Informationen finden Sie unter Zwischen Trace-Formaten konvertieren.

HTML-Bericht erstellen

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

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

Webbasierte Benutzeroberfläche

Verwenden Sie die Perfetto-UI, um die Trace-Datei zu öffnen und den Bericht zu generieren.

Für eine Perfetto-Datei klicken Sie auf Trace-Datei öffnen. Klicken Sie für eine Systrace-Datei auf Mit Legacy-UI öffnen. Die Legacy-UI hat dasselbe Design wie der Systrace-Bericht.

Befehlszeile

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

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

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