Tracing

  
Trace-Ereignisse in den System-Trace-Zwischenspeicher schreiben.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
12. Oktober 2026 2.0.4 - - -

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Tracing

Version 2.0

Version 2.0.4

12. Oktober 2026

androidx.tracing:tracing-*:2.0.4 ist veröffentlicht. Version 2.0.4 enthält diese Commits.

Fehlerkorrekturen
  • Eine Race-Bedingung beim Leeren von Trace-Paketen wurde behoben. (aosp/4344047)

Version 2.0.3

23. September 2026

androidx.tracing:tracing-*:2.0.3 ist veröffentlicht. Version 2.0.3 enthält diese Commits.

Version 2.0.2

9. September 2026

androidx.tracing:tracing-*:2.0.2 ist veröffentlicht. Version 2.0.2 enthält diese Commits.

Version 2.0.1

26. August 2026

androidx.tracing:tracing-*:2.0.1 ist veröffentlicht. Version 2.0.1 enthält diese Commits.

Version 2.0.0

12. August 2026

androidx.tracing:tracing-*:2.0.0 ist veröffentlicht. Version 2.0.0 enthält diese Commits.

Wichtige Funktionen von 2.0.0:

Die neue In-Process-API ermöglicht Folgendes:

  • Trace-Inhalte prozessintern und im Feld aufzeichnen
  • Perfetto-Abläufe (Pfeile von einem Slice zu einem anderen)
  • Perfetto-Annotationen (Slice-Metadaten für Schlüssel/Wert-Paare)
  • traceCoroutine() {} – Coroutine Tracing API, die Thread-Wechsel verfolgt
  • Kategoriefilterung
  • Deutlich geringerer Overhead als bei der vorhandenen android.os.Trace API und dem trace() {}-Wrapper
  • KMP-Tracing: Kann für Bibliotheken ohne Android-Abhängigkeit und für Host-JVM-Projekte verwendet werden.
  • Nach dem Zusammenführen mit der System-Trace-Aufzeichnung (standardmäßig in AndroidX Benchmark 1.5 implementiert)

Beachten Sie, dass die neuen Tracing-APIs in einen prozessgesteuerten Zwischenspeicher schreiben, der noch nicht von der Studio-System-Trace-Aufzeichnung erfasst wird. Dieses Problem wird in einer zukünftigen Version der Studio-Profiler behoben.

Die vorhandenen android.os.Trace- und trace() {}-APIs wurden nicht eingestellt. Diese APIs werden weiterhin für Ereignisse mit geringer Häufigkeit empfohlen, die immer im System-Trace-Zwischenspeicher aufgezeichnet werden sollten, insbesondere in Bibliotheken.

Version 2.0.0-rc01

29. Juli 2026

androidx.tracing:tracing-*:2.0.0-rc01 ist veröffentlicht. Version 2.0.0-rc01 enthält diese Commits.

Version 2.0.0-beta01

15. Juli 2026

androidx.tracing:tracing-*:2.0.0-beta01 ist veröffentlicht. Version 2.0.0-beta01 enthält diese Commits.

API-Änderungen

  • PerfettoCapture und PerfettoTraceRule können jetzt In-Process-Traces erfassen und für ein Zielpaket zusammenführen. (I9a00b, b/497959820)
  • androidx.benchmark hat jetzt einen minSdk von 24. (Ic2a85)

Diverse Fehlerkorrekturen

  • Tracing 2.0-beta01 veröffentlicht. (I1b162)
  • Verwenden Sie beim Generieren von Track-Informationen plattformspezifische Thread-IDs. (I6ba64)

Version 2.0.0-alpha09

23. Juni 2026

androidx.tracing:tracing-*:2.0.0-alpha09 ist veröffentlicht. Version 2.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • Kleinere API-Änderung in Tracer, um zwischen instant(...) und writeInstant(...) zu unterscheiden. (I0935a)
  • Unterstützung für Propagierungstokens in Sofortereignissen hinzugefügt. (I99f81)
  • Vollständige Nutzung von Perfetto-Abläufen in der experimentellen API für die manuelle Kontextweitergabe zulassen. (I20cb6)
  • Erstellung von BufferedSink und ProtoWriter in TraceSink verschieben. (Ibd098)
  • Die Tracer-Erkennung soll sowohl für Java- als auch für Android-Bibliotheken einfach und flexibel sein. (I99111)
  • Bibliotheksentwicklern die Möglichkeit geben, eine Instanz von TraceDriver zu finden, die für das prozessinterne Tracing verwendet werden kann. (Ia503e)

Version 2.0.0-alpha08

19. Mai 2026

androidx.tracing:tracing-*:2.0.0-alpha08 ist veröffentlicht. Version 2.0.0-alpha08 enthält diese Commits.

API-Änderungen

  • Es wurde die Möglichkeit hinzugefügt, Instanzen von TraceDriver zu erkennen und zu überschreiben, die prozessweit verwendet werden sollen. (I3f715)
  • Benennen Sie Tracer.recordException in Tracer.recordExceptionAndThrow um. (I4411f, b/503092450)

Version 2.0.0-alpha07

6. Mai 2026

androidx.tracing:tracing-*:2.0.0-alpha07 ist veröffentlicht. Version 2.0.0-alpha07 enthält diese Commits.

API-Änderungen

  • Fügen Sie eine API hinzu, um einen Stub-Tracer zu erhalten, der verwendet werden kann, wenn das Tracing deaktiviert ist. (I84c98)
  • Lebenszyklus des Tracings mit dem System-Tracing konsistent machen. (Ib391b)
  • Zähler-APIs sind jetzt vollständig zuweisungsfrei. (I5e73a)

Fehlerkorrekturen

  • Eine Keep-Regel für das Perfetto SDK (tracing-perfetto) wurde korrigiert, damit das Perfetto SDK aktiviert werden kann. (I1d227)
  • Die Möglichkeit, flush()-Ereignisse zu verfolgen, wurde hinzugefügt. (I38014, b/495852704)

Version 2.0.0-alpha06

22. April 2026

androidx.tracing:tracing-*:2.0.0-alpha06 ist veröffentlicht. Version 2.0.0-alpha06 enthält diese Commits.

API-Änderungen

  • Entfernen Sie die Einschränkung für File.createPerfettoFile(), damit andere Nutzer Sinks sicher erstellen können. Wenn ein block() eine Ausnahme in trace / traceCoroutine auslöst, erstellen Sie ein instant-Ereignis für die Ausnahme mit den Metadaten, die die entsprechenden Stacktrace-Elemente darstellen. (I682e5, b/501536851, b/437166283)
  • Fügen Sie eine setCounter(...)-Überladung hinzu, die einen Java-Long-Typ akzeptiert. (Ic0469, b/356082604)
  • In Tracing 2.0 wird jetzt Long für plattformspezifische Thread-Kennungen verwendet. (I67277)

Diverse Fehlerkorrekturen

Version 2.0.0-alpha05

8. April 2026

androidx.tracing:tracing-*:2.0.0-alpha05 ist veröffentlicht. Version 2.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • TraceSink-Factory-Funktionen geben jetzt TraceSink und nicht AbstractTraceSink zurück. Dateien haben jetzt ein eindeutiges Suffix. Wir sorgen dafür, dass wir atomar eine neue Datei erstellen können, in der Trace-Pakete gespeichert werden. (I4c4aa, b/496298726)
  • Vereinfachen und beschleunigen Sie die Weitergabe des Coroutine-Kontexts. (Ia62db)
  • Einführung des optionalen attributes() beim Erstellen eines TraceDriver, mit dem Metadaten zu einem Trace hinzugefügt werden können. (Ia147e)

Diverse Fehlerkorrekturen

  • Prozess-Threads und Counter-Tracks werden jetzt synchronisiert. Dadurch werden Ausnahmen des folgenden Formats behoben: java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • Vermeiden Sie das Ausgeben von Senkenereignissen, wenn das Tracing deaktiviert ist.

Version 2.0.0-alpha04

25. März 2026

androidx.tracing:tracing-*:2.0.0-alpha04 ist veröffentlicht. Version 2.0.0-alpha04 enthält diese Commits.

API-Änderungen

  • Machen Sie AbstractTraceDriver wirklich abstrakt und verschieben Sie die Perfetto-Implementierung in das tracing-wire-Modul. (Ie2f59)
  • Geben Sie den Basisimplementierungen aussagekräftigere Namen, um die Verwendung der falschen Implementierung zu vermeiden. Entwickler, die bisher androidx.tracing.Trace{Sink|Driver} erweitert haben, müssen jetzt zu AbstractTrace{Sink|Driver} wechseln. (I9b46d)

Version 2.0.0-alpha03

11. März 2026

androidx.tracing:tracing-*:2.0.0-alpha03 ist veröffentlicht. Version 2.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Es wurde eine experimentelle InMemoryRingBufferTraceSink-Implementierung hinzugefügt, mit der eine Kapazitätsbeschränkung festgelegt werden kann und die das Schreiben auf die Festplatte verhindert, sofern dies nicht explizit angefordert wird. (I1dc44, b/484409653, I65a37, b/484409653)
  • Behebung einer Race-Bedingung beim Ausgeben von Trace-Ereignissen für das Anhalten und Fortsetzen von Coroutinen. (Ie145e)

Fehlerkorrekturen

  • androidx.tracing versucht standardmäßig nicht mehr, in Traces Verbindungen von übergeordneten zu untergeordneten Koroutinen herzustellen. Das war verwirrend, da das zugrunde liegende Trace-Format keine 1:N- und N:1-Verbindungen unterstützt. Das Ergebnis war ein Durcheinander von Pfeilen, da nicht klar war, welche Coroutine-Aufteilung mit welcher verbunden ist. Sie können die Weitergabe mit der tokenForManualPropagation() API weiterhin manuell aktivieren, wenn dies für Ihren Anwendungsfall wichtig ist. (Ib2cf9)

Version 2.0.0-alpha02

25. Februar 2026

androidx.tracing:tracing-*:2.0.0-alpha02 ist veröffentlicht. Version 2.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Verbesserte Leistung für die Perfetto Trace Sink-Implementierung durch Verwendung des suspendCoroutineUninterceptedOrReturn-Intrinsics (2ea97b).

Version 2.0.0-alpha01

28. Januar 2026

androidx.tracing:tracing-*:2.0.0-alpha01 ist veröffentlicht. Version 2.0.0-alpha01 enthält diese Commits.

Neue Funktionen

AndroidX Tracing 2.0 bietet eine neue API-Oberfläche für prozessinternes Tracing mit geringem Overhead, die die vorhandenen android.os.Tracing-basierten APIs in Tracing 1.0 ergänzt. Die neuen APIs sind sowohl auf Android als auch auf der Host-JVM verfügbar. Dadurch können Host-Tools Traces mit geringem Overhead für die Leistungsanalyse im selben Standard-Perfetto-Trace-Format ausgeben.

Ausgegebene Traces werden sowohl von Android Studio als auch von Perfetto unterstützt und können mit einem erweiterten Feature-Set aufgezeichnet werden, einschließlich des Tagging von Slices mit Metadaten (z. B. Funktionsargumenten) und der Weitergabe von Trace-Kontexten für Koroutinen.

Diese erste Alphaversion ist nur für prozessinterne Tracing-Workflows gedacht und noch nicht in das Tracing des Android-Betriebssystems oder das System-Tracing des Studio Profilers eingebunden. Diese Funktionen werden in einer zukünftigen Alphaversion verfügbar sein.

  /**
  * A [TraceSink] defines how traces are serialized.
  *
  * [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
  */
  fun createSink(): TraceSink {
      val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
      // We are using the factory function defined in androidx.tracing.wire
      return TraceSink(
          sequenceId = 1,
          directory = outputDirectory
      )
  }

  /**
  * Creates a new instance of [androidx.tracing.TraceDriver].
  */
  fun createTraceDriver(): TraceDriver {
      // We are using a factory function from androidx.tracing.wire here.
      // `isEnabled` controls whether tracing is enabled for the application.
      val driver = TraceDriver(sink = createSink(), isEnabled = true)
      return driver
  }

  fun main() {
      val driver = createTraceDriver()
      driver.use {
          driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
              Thread.sleep(100L)
          }
      }
  }

API-Änderungen

  • Machen Sie Tracer zu einem Attribut von TraceDriver. (Iabd9b)
  • Unterstützung für die manuelle Weitergabe von Kontext hinzugefügt. (I899ff)
  • Möglichkeit hinzugefügt, Informationen zum Aufrufstapel in einem Trace-Abschnitt hinzuzufügen. (If6a1b)
  • Einführung der neuen androidx.tracing APIs. (I5102b)
  • Sofortige Ereignisse können Metadaten enthalten. Außerdem können Sie Zähler zu Sofort- und Zählerereignissen hinzufügen. (Ia2ed3)
  • Reduzieren Sie die Oberfläche der mit @DelicateTracingApi annotierten API. Für nichts in der API auf oberster Ebene sollte die Verwendung von @DelicateTracingApi erforderlich sein. (I565e0)
  • Vereinfachen Sie die Weitergabe von Kontext durch die Vereinheitlichung von PropagationToken. (Iab839)
  • BlackHole-APIs in androidx.benchmark stabilisieren. (I2b67e, b/451749438)
  • Es wurde die Möglichkeit hinzugefügt, den Trace-Abschnitt als Stamm-Spanne zu kennzeichnen. (Ic8365)
  • Ermöglichen Sie dem Entwickler, Propagierungstokens explizit anzugeben. (I06bb1)
  • MetadataHandleCloseable wurde in EventMetadataCloseable und MetadataHandle in EventMetadata umbenannt. Außerdem wurde Tracer.traceCoroutine das optionale Argument CoroutinePropagationToken hinzugefügt, damit Entwickler das zu verwendende Weiterleitungstoken explizit angeben können. (I219f7, b/454147392)
  • Es wurde ein neuer Tracer-Einstiegspunkt eingeführt, mit dem Entwickler viel mehr Kontrolle über das Tracing haben. (I24a7b)
  • Möglichkeit hinzugefügt, die Kontextweitergabe in einem SliceTrack zu steuern. (Ieb8fc)
  • fillCount in PooledTracePacketArray ist jetzt korrekt als flüchtig gekennzeichnet. (I75d2c)
  • Markieren Sie MetadataEntry @DelicateTracingApi. (I8c723)
  • Fügen Sie die Möglichkeit hinzu, dass ein TraceSink verlorene Trace-Ereignisse verarbeiten kann (wenn der Pool erschöpft ist). (I3b374)
  • Es wurde die Möglichkeit hinzugefügt, Trace-Ereignisse basierend auf einem Prädikat bedingt auszugeben. (I621b4)
  • Fügen Sie die Möglichkeit hinzu, einem Trace-Ereignis Kategorien hinzuzufügen. (I449c2)
  • Markieren Sie TraceEvent und PooledTracePacketArray als DelicateTracingApi. (Iaac6d)
  • ProcessTrack.id, ThreadTrack.id, ThreadTrack.name, CounterTrack.name und CounterTrack.parent öffentlich machen. (I81210)
  • Die SliceTrack.traceFlow() API wurde in traceCoroutine() umbenannt. (I79ad0)
  • Möglichkeit hinzugefügt, Slices über Debug-Anmerkungen in einem Perfetto-Trace Kontextinformationen hinzuzufügen. (Ic2b56)
  • Es muss möglich sein, eine Instanz von WireTraceSink mit einem File / OutputStream zu erstellen. (Iecea0)
  • Veraltete @RequiresApi(21)-Annotationen werden entfernt (Ic4792)

Version 1.3

Version 1.3.0

23. April 2025

androidx.tracing:tracing:1.3.0, androidx.tracing:tracing-android:1.3.0 und androidx.tracing:tracing-ktx:1.3.0 sind veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Die Klasse androidx.tracing.Trace wurde in Kotlin konvertiert und der gesamte Code aus dem Modul tracing-ktx wurde in tracing verschoben.
  • Entfernen Sie „crossinline“ aus „trace“, damit es in einem @Composable verwendet werden kann. (I53882, b/248344805)

Version 1.3.0-rc01

09. April 2025

androidx.tracing:tracing:1.3.0-rc01, androidx.tracing:tracing-android:1.3.0-rc01 und androidx.tracing:tracing-ktx:1.3.0-rc01 werden ohne Änderungen seit der letzten Betaversion veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta01

12. Februar 2025

androidx.tracing:tracing:1.3.0-beta01, androidx.tracing:tracing-android:1.3.0-beta01 und androidx.tracing:tracing-ktx:1.3.0-beta01 sind veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

API-Änderungen

  • Der gesamte Code wurde aus dem tracing-ktx-Modul in tracing verschoben. (Iba550)
  • Die Klasse androidx.tracing.Trace wurde in Kotlin konvertiert. (Ie4e5d)

Fehlerkorrekturen

  • Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher verwendet wird (z. B. R8-Version 3.3), und für alle Builds, wenn AGP 8.1 oder höher verwendet wird (z. B. D8-Version 8.1). Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)

Version 1.3.0-alpha02

21. Juni 2023

androidx.tracing:tracing:1.3.0-alpha02 und androidx.tracing:tracing-ktx:1.3.0-alpha02 werden ohne Änderungen gegenüber der vorherigen Alphaversion veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

Version 1.3.0-alpha01

7. Juni 2023

androidx.tracing:tracing:1.3.0-alpha01 und androidx.tracing:tracing-ktx:1.3.0-alpha01 sind veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

API-Änderungen

  • Entfernen Sie „crossinline“ aus „trace“, damit es in einem @Composable verwendet werden kann. (I53882, b/248344805)

Version 1.2

Version 1.2.0

29. November 2023

androidx.tracing:tracing:1.2.0 und androidx.tracing:tracing-ktx:1.2.0 sind veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit 1.1.0

  • Fügen Sie die Varianten trace() und traceAsync() mit Lazy String und Cookie Computation hinzu. Außerdem wird Trace.end jetzt korrekt übersprungen, wenn Trace.begin einen Fehler auslöst.

Version 1.2.0-rc01

24. Mai 2023

androidx.tracing:tracing:1.2.0-rc01 und androidx.tracing:tracing-ktx:1.2.0-rc01 sind veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Abstürze werden verhindert, wenn lange Namen für Trace-Abschnitte übergeben werden, indem sie automatisch gekürzt werden (Iaf6e2).

Version 1.2.0-beta04

3. Mai 2023

androidx.tracing:tracing:1.2.0-beta04 und androidx.tracing:tracing-ktx:1.2.0-beta04 werden ohne Änderungen veröffentlicht. Version 1.2.0-beta04 enthält diese Commits.

Version 1.2.0-beta03

5. April 2023

androidx.tracing:tracing:1.2.0-beta03 und androidx.tracing:tracing-ktx:1.2.0-beta03 werden ohne neue Änderungen veröffentlicht. Version 1.2.0-beta03 enthält diese Commits.

Version 1.2.0-beta02

22. März 2023

androidx.tracing:tracing:1.2.0-beta02 und androidx.tracing:tracing-ktx:1.2.0-beta02 werden ohne Änderungen gegenüber der vorherigen Betaversion veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

Version 1.2.0-beta01

8. März 2023

androidx.tracing:tracing:1.2.0-beta01 und androidx.tracing:tracing-ktx:1.2.0-beta01 werden ohne Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Version 1.2.0-alpha02

23. Februar 2023

androidx.tracing:tracing:1.2.0-alpha02 und androidx.tracing:tracing-ktx:1.2.0-alpha02 werden ohne Änderungen gegenüber der vorherigen Alphaversion veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Mit diesem Release wird ein Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02-Fehler beim Upgrade auf androidx.tracing: tracing-perfetto-common:1.0.0-alpha11 behoben.

Version 1.2.0-alpha01

5. Oktober 2022

androidx.tracing:tracing:1.2.0-alpha01 und androidx.tracing:tracing-ktx:1.2.0-alpha01 sind veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Fügen Sie die Varianten trace() und traceAsync() mit Lazy-String- und Cookie-Berechnung hinzu. Außerdem wird Trace.end jetzt korrekt übersprungen, wenn Trace.begin einen Fehler auslöst. (I31421, b/175233952, b/247066503)

Version 1.1

Version 1.1.0

11. Mai 2022

androidx.tracing:tracing:1.1.0 und androidx.tracing:tracing-ktx:1.1.0 sind veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • In Trace.forceEnableAppTracing() wurde eine API hinzugefügt, mit der die Erfassung von App-Trace-Abschnitten (z.B. android.os.Trace / androidx.tracing APIs) in nicht debugfähigen Builds zwingend aktiviert werden kann. Rufe diese Methode zu Beginn des Startvorgangs auf, um vor der Einführung des profilierbaren Manifest-Tags in API 29 ein genaues System-Tracing ohne Debugging zu ermöglichen. (I3a309)
  • Klassenüberprüfungsfehler beim ersten Laden von Trace.java vermeiden (05f6b4 und cb101f)

Version 1.1.0-rc01

20. April 2022

androidx.tracing:tracing:1.1.0-rc01 und androidx.tracing:tracing-ktx:1.1.0-rc01 wurden veröffentlicht. Es gab keine Änderungen seit beta01. Version 1.1.0-rc01 enthält diese Commits.

Version 1.1.0-beta01

1. Dezember 2021

androidx.tracing:tracing:1.1.0-beta01 und androidx.tracing:tracing-ktx:1.1.0-beta01 sind veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Keine Änderungen seit dem 1.1.0-alpha02.

Version 1.1.0-alpha02

17. November 2021

androidx.tracing:tracing:1.1.0-alpha02 und androidx.tracing:tracing-ktx:1.1.0-alpha02 sind veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Trace.forceEnableAppTracing() wurde hinzugefügt, eine API, mit der die Erfassung von App-Trace-Abschnitten (d.h. android.os.Trace / andoridx.tracing APIs) in nicht debugfähigen Builds zwingend aktiviert werden kann. Rufen Sie diese Methode zu Beginn des Starts auf, um ein nicht debuggbares, genaues System-Tracing zu aktivieren, bevor das profilierbare Manifest-Tag in API 29 eingeführt wird. (I3a309)

Version 1.1.0-alpha01

3. November 2021

androidx.tracing:tracing:1.1.0-alpha01 und androidx.tracing:tracing-ktx:1.1.0-alpha01 sind veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Klassenüberprüfungsfehler beim ersten Laden von Trace.java vermeiden (05f6b4 und cb101f)

Version 1.0

Version 1.0.0

28. Oktober 2020

androidx.tracing:tracing:1.0.0 und androidx.tracing:tracing-ktx:1.0.0 sind veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von 1.0.0

Hilft beim Schreiben von Trace-Ereignissen in den System-Trace-Zwischenspeicher. Dies kann mit Tools wie Systrace und Perfetto visualisiert werden. Diese Bibliothek ersetzt die verworfene Klasse androidx.core.os.TraceCompat.

Version 1.0.0-rc01

14. Oktober 2020

androidx.tracing:tracing:1.0.0-rc01 und androidx.tracing:tracing-ktx:1.0.0-rc01 sind veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Dieser Release ist mit 1.0.0-beta01 identisch.

Version 1.0.0-beta01

24. Juni 2020

androidx.tracing:tracing:1.0.0-beta01 und androidx.tracing:tracing-ktx:1.0.0-beta01 werden ohne Änderungen seit 1.0.0-alpha01 veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Version 1.0.0-alpha01

10. Juni 2020

androidx.tracing:tracing:1.0.0-alpha01 und androidx.tracing:tracing-ktx:1.0.0-alpha01 sind veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

androidx.tracing ist eine Bibliothek, mit der sich Trace-Ereignisse in den System-Trace-Puffer schreiben lassen. Dies kann mit Tools wie Systrace und Perfetto visualisiert werden. Diese Bibliothek ersetzt die verworfene Klasse androidx.core.os.TraceCompat. Die erste Version ist 1.0.0-alpha01.

Tracing mit Perfetto

Version 1.0

Version 1.0.1

19. November 2025

androidx.tracing:tracing-perfetto:1.0.1, androidx.tracing:tracing-perfetto-binary:1.0.1 und androidx.tracing:tracing-perfetto-handshake:1.0.1 sind veröffentlicht. Version 1.0.1 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Unterstützung für Seitengrößen von 16 KB (b7a7dd)
  • Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher verwendet wird (z. B. R8-Version 3.3), und für alle Builds, wenn AGP 8.1 oder höher verwendet wird (z. B. D8-Version 8.1). Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)
  • Vermeiden Sie es, Kopien von FastNative/CriticalNative in der Bibliothek zu bündeln, und verwenden Sie die stabilen Plattformkopien. (I8238a, b/35664282, b/280878596)

Version 1.0.0

4. Oktober 2023

androidx.tracing:tracing-perfetto:1.0.0, androidx.tracing:tracing-perfetto-binary:1.0.0 und androidx.tracing:tracing-perfetto-handshake:1.0.0 sind veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von Version 1.0.0

  • Dies ist die erste stabile Version der Tracing-perfetto-Bibliotheken.

Version 1.0.0-rc01

20. September 2023

androidx.tracing:tracing-perfetto:1.0.0-rc01, androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 und androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 wurden ohne Änderungen seit der letzten Betaversion veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Version 1.0.0-beta03

30. August 2023

androidx.tracing:tracing-perfetto:1.0.0-beta03, androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 und androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 sind veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

  • Versionsanpassung an androidx.benchmark-Release.

Version 1.0.0-beta02

23. August 2023

androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 und androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 sind veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Tracing beim App-Start (Kaltstart) aktiviert.

Version 1.0.0-beta01

18. Juli 2023

androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 und androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 sind veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • androidx.tracing.perfetto.Trace wurde in androidx.tracing.perfetto.PerfettoSdkTrace umbenannt (I44af8)
  • Die Konstanten „exit code“ wurden im Protokoll aus Konsistenzgründen in „result code“ umbenannt (Id1d1e).
  • EnableTracingResponse wurde in Response umbenannt. (I56275)
  • Es wurde eine Option zum Aktivieren des Kaltstart-Tracings in einem persistenten Modus hinzugefügt. Es wurde eine Funktion zum Löschen von (persistentem oder nicht persistentem) Kaltstart-Tracing hinzugefügt. (Iaa09d)
  • Die Tracing Perfetto SDK APIs wurden mit android.os.Trace konsistent gemacht. (I73ba0, b/282199917)
  • Für LibrarySource wurde ein Factory-Muster eingeführt, damit bei Bedarf problemlos zukünftige Anwendungsfälle (z.B. das direkte Laden der .so-Datei) in die API aufgenommen werden können. (I128df)
  • enableTracingColdStart-Parameter werden an enableTracingImmediate angepasst (I54126)
  • Argument „killProcess“ in enableTracingColdStart entfernt (I81c4d)

Version 1.0.0-alpha17

21. Juni 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 und androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 wurden ohne Änderungen gegenüber der vorherigen Alphaversion veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.

Version 1.0.0-alpha16

7. Juni 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha16, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 werden ohne Änderungen gegenüber der vorherigen Alphaversion veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.

Version 1.0.0-alpha15

3. Mai 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 werden ohne Änderungen veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

Version 1.0.0-alpha14

5. April 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 werden ohne neue Änderungen veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.

Version 1.0.0-alpha13

22. März 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha13, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 werden ohne Änderungen seit der letzten Version veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

Version 1.0.0-alpha12

8. März 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha12, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 wurden ohne Änderungen seit der vorherigen Alphaversion veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

Version 1.0.0-alpha11

22. Februar 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha11, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 werden ohne Änderungen veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Version 1.0.0-alpha10

8. Februar 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha10, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 werden ohne Änderungen veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Version 1.0.0-alpha09

10. Februar 2023

androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Neue Funktionen

  • Version bump release to allow other androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 libraries to work together.

11. Januar 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha09 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 werden ohne Änderungen veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Version 1.0.0-alpha08

7. Dezember 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 sind veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Die Leistung wurde durch die Optimierung der Verarbeitung von Strings verbessert.

Fehlerkorrekturen

  • Es wurde eine ProGuard-Regel hinzugefügt, die verhindert, dass Methoden von PerfettoNative entfernt werden, wenn die Klasse überhaupt verwendet wird. Dadurch wird ein Absturz in einem seltenen Fall verhindert, wenn das Tracing initialisiert wird, aber keine Tracing-Aufrufe in der App vorhanden sind.

Version 1.0.0-alpha07

9. November 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha07, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 sind veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

  • Der JNI-Aufwand der androidx.tracing:tracing-perfetto-APIs wurde reduziert.

Version 1.0.0-alpha06

24. Oktober 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha06, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 sind veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

  • Dieses Update enthält keine Änderungen. Es wird nur die Versionsnummer aktualisiert, um sie mit androidx.benchmark zu synchronisieren.

Version 1.0.0-alpha05

5. Oktober 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 sind veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Version 1.0.0-alpha04

21. September 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 sind veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Version 1.0.0-alpha03

7. September 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 sind veröffentlicht.

Neue Funktionen

  • Keine neuen Funktionen seit Version 1.0.0-alpha02.

Version 1.0.0-alpha02

24. August 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 sind veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Mehrere Verbesserungen bei der Initialisierung des Perfetto-Dienstes
  • Die Verarbeitung von Fällen ohne Antwort wurde verbessert, indem ein dedizierter Exit-Code eingeführt wurde: RESULT_CODE_CANCELLED.
  • Die Verarbeitung von Parsing-Fehlern wurde verbessert.
  • EnableTracingResponse.requiredVersion wurde auf „nullable“ gesetzt, da die Version nicht bekannt sein kann, wenn keine Kommunikation mit dem Paket möglich ist. (I5ba20)

Version 1.0.0-alpha01

27. Juli 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 und androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 sind veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

  • Hinweis: Alle androidx.tracing:tracing-perfetto*-Bibliotheken sind anfangs nur für die interne Verwendung in AndroidX-Bibliotheken vorgesehen. Sie sollten nicht direkt von ihnen abhängig sein.

Neue Funktionen

  • Alle androidx.tracing:tracing-perfetto*-Bibliotheken sind anfänglich nur für die interne Verwendung in AndroidX-Bibliotheken vorgesehen und Sie sollten nicht direkt von ihnen abhängig sein müssen. Wir dokumentieren diese Implementierungsdetails aus Gründen der Transparenz.

  • androidx.tracing:tracing-perfetto ist eine Bibliothek, mit der Trace-Ereignisse mit dem Perfetto SDK mit geringem Aufwand geschrieben werden können. Diese können in Benchmark, Android Studio oder der Perfetto-Benutzeroberfläche verwendet werden.

  • androidx.tracing:tracing-perfetto-binary ist eine Reihe von binären Abhängigkeiten, die für androidx.tracing:tracing-perfetto erforderlich sind.

  • androidx.tracing:tracing-perfetto-common ist eine interne Abhängigkeit von androidx.tracing:tracing-perfetto und kann von Tools verwendet werden, um in androidx.tracing:tracing-perfetto integriert zu werden.