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 App ähnelt dem Befehlszeilendienstprogramm systrace, allerdings können Sie damit Traces direkt von einem Testgerät aus aufzeichnen, ohne dass Sie das Gerät anschließen und über adb verbinden müssen. Anschließend können Sie die Anwendung verwenden, um Ergebnisse aus diesen Traces mit Ihrem Entwicklungsteam zu 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, den Perfetto Trace Viewer zu verwenden, um beide Formate zu öffnen und dann Traces zu analysieren.

Es ist hilfreich, Traces aufzuzeichnen, wenn Sie leistungsbezogene Programmfehler in Ihrer Anwendung wie langsame Starts, langsame Übergänge oder UI-Verzögerungen beheben.

System-Trace aufzeichnen

Mit der Anwendung „System Tracing“ können Sie ein System-Trace über die Schnelleinstellungen-Kachel oder ein Menü in der Anwendung selbst aufzeichnen. In den folgenden Abschnitten wird beschrieben, wie Sie den Aufzeichnungsprozess über diese Oberflächen abschließen.

Über die Kachel „Schnelleinstellungen“ aufnehmen

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

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

    Abbildung 1: Den Schalter Kachel „Schnelleinstellungen“ anzeigen in der System Tracing-App.
    Abbildung 2. Über 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 erfassen Sie ein System-Trace über die Schnelleinstellungen:

  1. Tippen Sie auf die Kachel Systemverfolgung, die die Bezeichnung Trace aufzeichnen hat. Die Kachel wird aktiviert und es wird eine dauerhafte Benachrichtigung angezeigt, die Sie darüber informiert, dass das System einen Trace aufzeichnet (siehe Abbildung 3):

    Benachrichtigung mit der Nachricht „Trace wird aufgezeichnet. Zum Beenden des Tracings tippen.“
    Abbildung 3: Dauerhafte Benachrichtigung, die nach dem Start 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. Sie können das Tracing beenden, indem Sie im Bereich Schnelleinstellungen auf die Kachel System Tracing oder auf die System Tracing-Benachrichtigung tippen.

    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, in der bestätigt wird, dass der Trace gespeichert wurde und Sie den System-Trace freigeben können (siehe Abbildung 4):

    Benachrichtigung mit der Nachricht „Trace-Datei gespeichert. Tippe, 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 für das System-Tracing konfigurieren und einen Schalter zum Starten und Beenden eines System-Trace verwenden.

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

  1. Aktivieren Sie Entwickleroptionen.
  2. Öffnen Sie den Bildschirm mit den Entwickleroptionen. Wählen Sie im Abschnitt Debugging die Option System Tracing aus. Die System Tracing-App wird geöffnet.

    Wenn Sie alternativ die Kachel System Tracing eingerichtet haben, können Sie sie berühren und halten, um die System Tracing-App aufzurufen.

  3. Achten Sie darauf, dass Trace debug-fähige Anwendungen ausgewählt ist, um Anwendungen einzuschließen, bei denen das Debugging im System-Trace aktiviert ist.

  4. Wählen Sie optional die Kategorien der System- und Sensoraufrufe aus, die verfolgt werden sollen, und legen Sie eine Puffergröße pro CPU in KB fest. Wählen Sie Kategorien aus, die dem Anwendungsfall entsprechen, den Sie testen, z. B. die Kategorie Audio zum Testen von Bluetooth-Vorgängen oder die Kategorie Arbeitsspeicher 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 lange Trace-Größe und die maximale lange Trace-Dauer fest.

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

    Abbildung 5: In den Einstellungen für das System-Tracing den Schalter Trace aufzeichnen.
  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. Nach dem Speichern schließt das System die Benachrichtigung und zeigt eine dritte Benachrichtigung an, in der bestätigt wird, dass der Trace gespeichert wurde und Sie den System-Trace freigeben können (siehe Abbildung 4).

System-Trace freigeben

Mit der System Tracing-Anwendung können Sie Systemtrace-Ergebnisse als Teil mehrerer 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 Geräten mit einer früheren Android-Version werden Trace-Dateien mit der Dateinamenerweiterung .ctrace gespeichert, die das Systrace-Format angibt.

Als Nachricht teilen

Mit System Tracing können Sie das erfasste Trace für andere Anwendungen auf Ihrem Gerät freigeben. Sie können den Trace per E-Mail oder zur Fehlerbehebung an Ihr Entwicklungsteam senden, ohne ein Gerät mit Ihrem Entwicklungscomputer verbinden zu müssen.

Nachdem Sie einen System-Trace aufgezeichnet haben, tippen Sie auf die Benachrichtigung, die auf dem Gerät angezeigt wird, wie in Abbildung 4. Die Intent-Auswahl der Plattform wird angezeigt, über die Sie den Trace mit einer 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. Sie können einen Trace über diese App teilen.

Bericht mit ADB herunterladen

Mit adb können Sie auch ein System-Trace von einem Gerät extrahieren. Verbinden Sie das zum Aufzeichnen des Trace verwendete Gerät mit Ihrem 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-Trace-Dateien in das Systrace-Format konvertieren. Weitere Informationen finden Sie unter Zwischen Trace-Formaten konvertieren.

HTML-Bericht erstellen

Beim Freigeben des Trace wird der Bericht auf Geräten mit Android 10 oder höher als .perfetto-trace-Datei oder bei allen anderen Versionen als .ctrace-Datei gespeichert.

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

Webbasierte Benutzeroberfläche

Öffnen Sie die Trace-Datei über die Perfetto-UI und erstellen Sie den Bericht.

Klicken Sie bei einer Perfetto-Datei auf Trace-Datei öffnen. Klicken Sie für eine Systrace-Datei auf Mit 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-Befehlszeilentool noch nicht haben, können Sie es aus dem Catapult-Projekt auf GitHub oder direkt aus dem Android Open Source-Projekt herunterladen.