System-Trace auf einem Gerät erfassen

Auf Geräten mit Android 9 (API-Level 28) oder höher ist eine System-App namens „System Tracing“ verfügbar. Diese App ähnelt dem Befehlszeilentool systrace. Mit der App können Sie jedoch Traces 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 dann Traces zu analysieren.

Sie können damit Traces aufzeichnen, 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 App „System Tracing“ können Sie einen System-Trace über die Schnelleinstellungen oder über ein Menü in der App selbst aufzeichnen. In den folgenden Abschnitten wird beschrieben, wie Sie den Aufzeichnungsprozess über diese Schnittstellen abschließen.

Über die Schnelleinstellungen-Kachel aufzeichnen

Die Kachel für die Schnelleinstellungen ist in der Regel die bequemere Methode, um das System-Tracing auf dem Gerät durchzuführen.

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. Entwickleroptionen aktivieren
  2. Öffnen Sie die Einstellungen für die Entwickleroptionen.
  3. Wählen Sie im Bereich Debugging die Option System-Tracing aus. Die App „System Tracing“ wird geöffnet und das App-Menü wird angezeigt.
  4. Aktivieren Sie im App-Menü die Option Schnelleinstellungen-Kachel anzeigen (siehe Abbildung 1). Das System fügt dem Bereich Schnelleinstellungen die Kachel System-Tracing hinzu, wie in Abbildung 2 dargestellt:

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

    Hinweis:Standardmäßig wird die Kachel System-Tracing als erste Kachel im Bereich Schnelleinstellungen hinzugefügt. Wenn Sie die Kachel an einer anderen Position anzeigen lassen möchten, verschieben Sie sie im Bearbeitungsmodus des Bereichs.

System-Trace-Aufzeichnung erstellen

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

  1. Tippen Sie auf die Kachel System Tracing mit dem Label Trace aufzeichnen. Die Kachel wird aktiviert und es wird eine dauerhafte Benachrichtigung angezeigt, 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: Eine dauerhafte Benachrichtigung, die nach dem Starten eines System-Traces auf dem Gerät angezeigt wird.
  2. Führen Sie die Aktionen in Ihrer App aus, die das System prüfen soll.

  3. Tippen Sie auf die Kachel System Tracing im Bereich Schnelleinstellungen oder auf die Benachrichtigung „System Tracing“, um die Aufzeichnung zu beenden.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Wenn das Speichern abgeschlossen ist, wird die Benachrichtigung geschlossen und eine dritte Benachrichtigung angezeigt, die bestätigt, dass der Trace gespeichert wurde und Sie ihn freigeben können (siehe Abbildung 4):

    Benachrichtigung mit der Meldung „Trace gespeichert“. Tippen Sie, um Ihren Trace zu teilen.
    Abbildung 4: Eine dauerhafte Benachrichtigung, die angezeigt wird, nachdem das System eine aufgezeichnete Ablaufverfolgung gespeichert hat.

Aufnehmen ü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. Entwickleroptionen aktivieren
  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.

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

  3. Achten Sie darauf, dass Debugfähige Anwendungen verfolgen ausgewählt ist, damit Apps, für die das Debugging im System-Trace aktiviert ist, einbezogen werden.

  4. Optional können Sie die Kategorien von System- und Sensoraufrufen auswählen, die nachverfolgt werden sollen, und eine Puffergröße pro CPU in KB festlegen. Wählen Sie Kategorien aus, die dem Anwendungsfall entsprechen, den Sie testen, z. B. die Kategorie Audio für Bluetooth-Vorgänge oder die Kategorie Speicher für Heap-Zuweisungen.

  5. Optional: Wählen Sie Lange Traces aus, um Traces zu aktivieren, die fortlaufend im Gerätespeicher gespeichert werden. Legen Sie für diese Option Limits für die Maximale Größe des langen Traces und die Maximale Dauer des langen Traces fest.

  6. Aktivieren Sie den Schalter Trace aufzeichnen (Abbildung 5). 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).

    Abbildung 5. Der Schalter Trace aufzeichnen in den Systemeinstellungen für das Tracing.
  7. Führen Sie die Aktionen in Ihrer App aus, die das System prüfen soll.

  8. Sie können das Tracing beenden, indem Sie den Schalter Trace aufzeichnen deaktivieren.

    Das System zeigt eine neue Benachrichtigung mit der Meldung „Trace wird gespeichert“ an. Wenn das Speichern abgeschlossen ist, wird die Benachrichtigung geschlossen und eine dritte Benachrichtigung angezeigt, die bestätigt, dass der System-Trace gespeichert wurde und Sie ihn freigeben können (Abbildung 4).

System-Trace teilen

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

Als Nachricht teilen

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 Bug-Tracking-App 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, wie in Abbildung 4 dargestellt. Die Intent-Auswahl der Plattform wird angezeigt. Sie können den Trace über die Messaging-App Ihrer Wahl teilen.

Über die Dateien App teilen

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 teilen.

Bericht mit ADB herunterladen

Sie können auch einen System-Trace von einem Gerät mit adb extrahieren. Verbinden Sie das Gerät, mit dem der Trace aufgezeichnet wurde, mit Ihrem Entwicklercomputer 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 selbst auf Geräten mit Android 10 oder höher in einer .perfetto-trace-Datei und auf allen anderen Geräten in einer .ctrace-Datei.

Erstellen Sie einen HTML-Bericht aus der Tracedatei über eine webbasierte Benutzeroberfläche oder über die Befehlszeile.

Webbasierte Benutzeroberfläche

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

Klicken Sie für eine Perfetto-Datei auf Trace-Datei öffnen. Klicken Sie für eine Systrace-Datei auf Mit der alten Benutzeroberfläche öffnen. Die alte Benutzeroberfläche sieht genauso aus wie der Systrace-Bericht.

Befehlszeile

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

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

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