Tracciamento

  
Scrivere eventi di traccia nel buffer di tracciamento del sistema.
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
12 ottobre 2026 2.0.4 - - -

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per saperne di più, consulta la documentazione di Issue Tracker.

Tracciamento

Versione 2.0

Versione 2.0.4

12 ottobre 2026

androidx.tracing:tracing-*:2.0.4 è stato rilasciato. La versione 2.0.4 contiene questi commit.

Correzioni di bug
  • È stata corretta una race condition durante lo svuotamento dei pacchetti di traccia. (aosp/4344047)

Versione 2.0.3

23 settembre 2026

androidx.tracing:tracing-*:2.0.3 è stato rilasciato. La versione 2.0.3 contiene questi commit.

Versione 2.0.2

9 settembre 2026

androidx.tracing:tracing-*:2.0.2 è stato rilasciato. La versione 2.0.2 contiene questi commit.

Versione 2.0.1

26 agosto 2026

androidx.tracing:tracing-*:2.0.1 è stato rilasciato. La versione 2.0.1 contiene questi commit.

Versione 2.0.0

12 agosto 2026

androidx.tracing:tracing-*:2.0.0 è stato rilasciato. La versione 2.0.0 contiene questi commit.

Funzionalità principali della versione 2.0.0:

La nuova API in-process consente di:

  • Registrare i contenuti della traccia in-process, sul campo
  • Flussi di Perfetto (frecce da una sezione all'altra)
  • Annotazioni Perfetto (metadati della sezione chiave/valore)
  • traceCoroutine() {}: API Coroutine Tracing che traccia i cambi di thread
  • Filtri categoria
  • Overhead notevolmente inferiore rispetto all'API android.os.Trace e al wrapper trace() {} esistenti
  • Tracciamento KMP: può essere utilizzato su librerie senza dipendenza da Android e su progetti JVM host
  • Dopo il fatto unione con il tracciamento del sistema (implementata per impostazione predefinita in AndroidX Benchmark 1.5)

Tieni presente che le nuove API di tracciamento registrano in un buffer controllato dal processo che non viene ancora acquisito dalla registrazione del tracciamento del sistema di Studio. Questo problema verrà risolto in una release futura di Studio Profilers.

Le API android.os.Trace / trace() {} esistenti non sono state ritirate. Queste API sono ancora consigliate per gli eventi a bassa frequenza che devono sempre essere registrati nel buffer di tracciamento del sistema, in particolare nelle librerie.

Versione 2.0.0-rc01

29 luglio 2026

androidx.tracing:tracing-*:2.0.0-rc01 è stato rilasciato. La versione 2.0.0-rc01 contiene questi commit.

Versione 2.0.0-beta01

15 luglio 2026

androidx.tracing:tracing-*:2.0.0-beta01 è stato rilasciato. La versione 2.0.0-beta01 contiene questi commit.

Modifiche alle API

  • PerfettoCapture e PerfettoTraceRule ora possono acquisire tracce in corso e unirle per un pacchetto di destinazione. (I9a00b, b/497959820)
  • androidx.benchmark ora ha un minSdk di 24. (Ic2a85)

Correzioni di bug

  • Release di Tracing 2.0-beta01. (I1b162)
  • Utilizza identificatori di thread specifici della piattaforma quando generi informazioni sulle tracce. (I6ba64)

Versione 2.0.0-alpha09

23 giugno 2026

androidx.tracing:tracing-*:2.0.0-alpha09 è stato rilasciato. La versione 2.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Modifica minore dell'API in Tracer per disambiguare tra instant(...) e writeInstant(...). (I0935a)
  • Aggiungi il supporto per i token di propagazione negli eventi istantanei. (I99f81)
  • Consenti l'utilizzo completo dei flussi Perfetto nell'API sperimentale di propagazione manuale del contesto. (I20cb6)
  • Posticipa la creazione di BufferedSink e ProtoWriter in TraceSink. (Ibd098)
  • Semplifica il rilevamento di Tracer e rendilo collegabile sia per le librerie Java che per quelle Android. (I99111)
  • Consente agli sviluppatori di librerie di scoprire facilmente un'istanza di TraceDriver che può essere utilizzata per la tracciabilità in-process. (Ia503e)

Versione 2.0.0-alpha08

19 maggio 2026

androidx.tracing:tracing-*:2.0.0-alpha08 è stato rilasciato. La versione 2.0.0-alpha08 contiene questi commit.

Modifiche alle API

  • Aggiungi la possibilità di rilevare e sostituire le istanze di TraceDriver da utilizzare a livello di processo. (I3f715)
  • Rinomina Tracer.recordException in Tracer.recordExceptionAndThrow. (I4411f, b/503092450)

Versione 2.0.0-alpha07

6 maggio 2026

androidx.tracing:tracing-*:2.0.0-alpha07 è stato rilasciato. La versione 2.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • Aggiungi un'API per ottenere un tracer stub che può essere utilizzato quando la tracciabilità è disattivata. (I84c98)
  • Rendi il ciclo di vita del tracciamento coerente con il tracciamento del sistema. (Ib391b)
  • Le API Counter ora non prevedono più l'allocazione. (I5e73a)

Correzioni di bug

  • È stata corretta una regola di conservazione per l'SDK Perfetto (tracing-perfetto), che garantisce che l'SDK Perfetto possa essere attivato. (I1d227)
  • Aggiungi la possibilità di tracciare gli eventi flush(). (I38014, b/495852704)

Versione 2.0.0-alpha06

22 aprile 2026

androidx.tracing:tracing-*:2.0.0-alpha06 è stato rilasciato. La versione 2.0.0-alpha06 contiene questi commit.

Modifiche alle API

  • Rimuovi la limitazione di File.createPerfettoFile() in modo che altri possano creare in sicurezza i sink. Quando un block() genera un'eccezione in trace / traceCoroutine, crea un evento instant per l'eccezione con i metadati che rappresentano gli elementi della analisi dello stack corrispondente. (I682e5, b/501536851, b/437166283)
  • Aggiungi un overload setCounter(...) che accetta un tipo Long Java. (Ic0469, b/356082604)
  • Tracing 2.0 ora utilizza Long per gli identificatori Thread specifici della piattaforma. (I67277)

Correzioni di bug

Versione 2.0.0-alpha05

8 aprile 2026

androidx.tracing:tracing-*:2.0.0-alpha05 è stato rilasciato. La versione 2.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Le funzioni factory TraceSink ora restituiscono TraceSink e non AbstractTraceSink. I file ora hanno un suffisso univoco. Ci assicuriamo di poter creare in modo atomico un nuovo file che verrà utilizzato per archiviare i pacchetti di traccia. (I4c4aa, b/496298726)
  • Semplifica e velocizza la propagazione del contesto delle coroutine. (Ia62db)
  • Introduci l'elemento facoltativo attributes() durante la creazione di un TraceDriver che fornisce un modo per aggiungere metadati relativi a una traccia. (Ia147e)

Correzioni di bug

  • I thread di processo e le tracce dei contatori sono ora sincronizzati. In questo modo vengono corrette le eccezioni del modulo: java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • Evita di generare eventi sink quando la traccia è disattivata.

Versione 2.0.0-alpha04

25 marzo 2026

androidx.tracing:tracing-*:2.0.0-alpha04 è stato rilasciato. La versione 2.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • Rendi AbstractTraceDriver davvero astratto e sposta l'implementazione di Perfetto nel modulo tracing-wire. (Ie2f59)
  • Assegna nomi più descrittivi alle implementazioni di base per evitare di utilizzare quella sbagliata. Gli sviluppatori che in precedenza estendevano androidx.tracing.Trace{Sink|Driver} ora dovranno passare all'utilizzo di AbstractTrace{Sink|Driver}. (I9b46d)

Versione 2.0.0-alpha03

11 marzo 2026

androidx.tracing:tracing-*:2.0.0-alpha03 è stato rilasciato. La versione 2.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stata aggiunta un'implementazione sperimentale di InMemoryRingBufferTraceSink che consente di impostare una limitazione della capacità ed evita la scrittura su disco, a meno che non venga richiesto esplicitamente. (I1dc44, b/484409653, I65a37, b/484409653)
  • Risolto un problema di race condition durante l'emissione di eventi di traccia per la sospensione e il ripristino delle coroutine. (Ie145e)

Correzioni di bug

  • androidx.tracing non tenta più di disegnare connessioni dalle coroutine principali a quelle secondarie nelle tracce per impostazione predefinita. Questo ha generato confusione, poiché il formato di traccia sottostante non supporta le connessioni 1:N e N:1, generando un groviglio di frecce a causa dell'ambiguità su quale sezione di coroutine si connette a cosa. Puoi comunque attivare manualmente la propagazione con l'API tokenForManualPropagation() quando è importante per il tuo caso d'uso. (Ib2cf9)

Versione 2.0.0-alpha02

25 febbraio 2026

androidx.tracing:tracing-*:2.0.0-alpha02 è stato rilasciato. La versione 2.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stato migliorato il rendimento dell'implementazione del sink di traccia Perfetto utilizzando l'intrinseco suspendCoroutineUninterceptedOrReturn (2ea97b).

Versione 2.0.0-alpha01

28 gennaio 2026

androidx.tracing:tracing-*:2.0.0-alpha01 è stato rilasciato. La versione 2.0.0-alpha01 contiene questi commit.

Nuove funzionalità

AndroidX Tracing 2.0 introduce una nuova API significativa per la tracciatura a basso overhead e in-process, come complemento delle API esistenti basate su android.os.Tracing in Tracing 1.0. Le nuove API sono disponibili sia su Android che sulla JVM host, il che consente agli strumenti host di emettere tracce a basso overhead per l'analisi delle prestazioni, utilizzando lo stesso formato di traccia Perfetto standard.

Le tracce emesse sono supportate sia da Android Studio che da Perfetto e possono essere registrate con un set di funzionalità esteso, tra cui l'aggiunta di tag alle sezioni con metadati (come gli argomenti delle funzioni) e la propagazione della traccia del contesto delle coroutine.

Questa versione alpha iniziale è destinata solo ai flussi di lavoro di tracciamento in-process e non si integra ancora con il tracciamento del sistema operativo Android o con il tracciamento del sistema di Profiler di Studio, che saranno disponibili in una versione alpha futura.

  /**
  * 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)
          }
      }
  }

Modifiche alle API

  • Imposta Tracer come proprietà di TraceDriver. (Iabd9b)
  • Aggiungi il supporto per la propagazione manuale del contesto. (I899ff)
  • Aggiunta la possibilità di aggiungere informazioni sullo stack di chiamate in una sezione di traccia. (If6a1b)
  • Presenta le nuove API androidx.tracing. (I5102b)
  • Consenti agli eventi istantanei di contenere metadati e aggiungi contatori agli eventi istantanei e ai contatori. (Ia2ed3)
  • Ridurre la superficie dell'API annotata con @DelicateTracingApi. Nessun elemento dell'API di primo livello deve richiedere l'utilizzo di @DelicateTracingApi. (I565e0)
  • Semplifica la propagazione del contesto unificando PropagationToken. (Iab839)
  • Stabilizza le API BlackHole in androidx.benchmark. (I2b67e, b/451749438)
  • Aggiungi la possibilità di annotare la sezione della traccia come span radice. (Ic8365)
  • Consenti allo sviluppatore di specificare i token di propagazione. (I06bb1)
  • MetadataHandleCloseable è stato rinominato in EventMetadataCloseable e MetadataHandle in EventMetadata. È stato inoltre aggiunto un argomento CoroutinePropagationToken facoltativo a Tracer.traceCoroutine per consentire allo sviluppatore di specificare esplicitamente il token di propagazione da utilizzare. (I219f7, b/454147392)
  • È stato introdotto un nuovo entry point Tracer che offre agli sviluppatori un controllo molto maggiore su come eseguire il tracciamento. (I24a7b)
  • Aggiungi la possibilità di controllare la modalità di propagazione del contesto in un SliceTrack. (Ieb8fc)
  • fillCount in PooledTracePacketArray ora è contrassegnato correttamente come volatile. (I75d2c)
  • Segna MetadataEntry @DelicateTracingApi. (I8c723)
  • Aggiungi la possibilità per un TraceSink di gestire gli eventi di tracciamento persi (quando il pool è esaurito). (I3b374)
  • Aggiungi la possibilità di emettere in modo condizionale eventi di traccia in base a un predicato. (I621b4)
  • Aggiungi la possibilità di aggiungere categorie a un evento di traccia. (I449c2)
  • Segna TraceEvent, PooledTracePacketArray come DelicateTracingApi. (Iaac6d)
  • Rendi pubblici ProcessTrack.id, ThreadTrack.id, ThreadTrack.name, CounterTrack.name e CounterTrack.parent. (I81210)
  • È stata rinominata l'API SliceTrack.traceFlow() in traceCoroutine(). (I79ad0)
  • Aggiungi la possibilità di aggiungere informazioni contestuali alle sezioni tramite annotazioni di debug in una traccia Perfetto. (Ic2b56)
  • Consenti di creare un'istanza di WireTraceSink con File / OutputStream. (Iecea0)
  • Rimozione delle annotazioni @RequiresApi(21) obsolete (Ic4792)

Versione 1.3

Versione 1.3.0

23 aprile 2025

androidx.tracing:tracing:1.3.0, androidx.tracing:tracing-android:1.3.0 e androidx.tracing:tracing-ktx:1.3.0 sono stati rilasciati. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Convertita la classe androidx.tracing.Trace in Kotlin e spostato tutto il codice dal modulo tracing-ktx a tracing.
  • Rimuovi crossinline dalla traccia per consentirne l'utilizzo in un @Composable. (I53882, b/248344805)

Versione 1.3.0-rc01

9 aprile 2025

androidx.tracing:tracing:1.3.0-rc01, androidx.tracing:tracing-android:1.3.0-rc01 e androidx.tracing:tracing-ktx:1.3.0-rc01 sono stati rilasciati senza modifiche rispetto all'ultima versione beta. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta01

12 febbraio 2025

androidx.tracing:tracing:1.3.0-beta01, androidx.tracing:tracing-android:1.3.0-beta01 e androidx.tracing:tracing-ktx:1.3.0-beta01 sono stati rilasciati. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

  • Spostato tutto il codice dal modulo tracing-ktx a tracing. (Iba550)
  • È stata convertita la classe androidx.tracing.Trace in Kotlin. (Ie4e5d)

Correzioni di bug

  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento a D8 versione 8.1 o successive. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)

Versione 1.3.0-alpha02

21 giu 2023

androidx.tracing:tracing:1.3.0-alpha02 e androidx.tracing:tracing-ktx:1.3.0-alpha02 vengono rilasciati senza modifiche rispetto alla versione alpha precedente. La versione 1.3.0-alpha02 contiene questi commit.

Versione 1.3.0-alpha01

7 giugno 2023

androidx.tracing:tracing:1.3.0-alpha01 e androidx.tracing:tracing-ktx:1.3.0-alpha01 sono state rilasciate. La versione 1.3.0-alpha01 contiene questi commit.

Modifiche alle API

  • Rimuovi crossinline da trace per consentire l'utilizzo in un @Composable. (I53882, b/248344805)

Versione 1.2

Versione 1.2.0

29 novembre 2023

androidx.tracing:tracing:1.2.0 e androidx.tracing:tracing-ktx:1.2.0 sono state rilasciate. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • Aggiungi le varianti trace() e traceAsync() con il calcolo di stringhe e cookie lazy. Ora salta correttamente anche Trace.end se Trace.begin genera un errore.

Versione 1.2.0-rc01

24 maggio 2023

androidx.tracing:tracing:1.2.0-rc01 e androidx.tracing:tracing-ktx:1.2.0-rc01 sono state rilasciate. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • Evita gli arresti anomali quando vengono passati nomi di sezioni di traccia lunghi troncandoli automaticamente (Iaf6e2)

Versione 1.2.0-beta04

3 maggio 2023

androidx.tracing:tracing:1.2.0-beta04 e androidx.tracing:tracing-ktx:1.2.0-beta04 vengono rilasciati senza modifiche. La versione 1.2.0-beta04 contiene questi commit.

Versione 1.2.0-beta03

5 aprile 2023

androidx.tracing:tracing:1.2.0-beta03 e androidx.tracing:tracing-ktx:1.2.0-beta03 vengono rilasciati senza nuove modifiche. La versione 1.2.0-beta03 contiene questi commit.

Versione 1.2.0-beta02

22 marzo 2023

androidx.tracing:tracing:1.2.0-beta02 e androidx.tracing:tracing-ktx:1.2.0-beta02 vengono rilasciati senza modifiche rispetto alla beta precedente. La versione 1.2.0-beta02 contiene questi commit.

Versione 1.2.0-beta01

8 marzo 2023

androidx.tracing:tracing:1.2.0-beta01 e androidx.tracing:tracing-ktx:1.2.0-beta01 vengono rilasciati senza modifiche rispetto all'ultima versione alpha. La versione 1.2.0-beta01 contiene questi commit.

Versione 1.2.0-alpha02

23 febbraio 2023

androidx.tracing:tracing:1.2.0-alpha02 e androidx.tracing:tracing-ktx:1.2.0-alpha02 vengono rilasciati senza modifiche rispetto alla versione alpha precedente. La versione 1.2.0-alpha02 contiene questi commit.

Correzioni di bug

  • Questa release correggerà un errore Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 durante l'upgrade a androidx.tracing: tracing-perfetto-common:1.0.0-alpha11

Versione 1.2.0-alpha01

5 ottobre 2022

androidx.tracing:tracing:1.2.0-alpha01 e androidx.tracing:tracing-ktx:1.2.0-alpha01 sono state rilasciate. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiungi le varianti trace() e traceAsync() con il calcolo di stringhe e cookie lazy. Ora salta correttamente anche Trace.end se Trace.begin genera un errore. (I31421, b/175233952, b/247066503)

Versione 1.1

Versione 1.1.0

11 maggio 2022

androidx.tracing:tracing:1.1.0 e androidx.tracing:tracing-ktx:1.1.0 sono state rilasciate. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • È stata aggiunta Trace.forceEnableAppTracing() un'API per forzare l'attivazione dell'acquisizione della sezione di traccia dell'app (ovvero le API android.os.Trace / androidx.tracing) su build non abilitate al debug. Chiamalo all'inizio dell'avvio per attivare il tracciamento del sistema accurato non abilitato al debug prima dell'introduzione del tag manifest profilabile nell'API 29. (I3a309)
  • Evita errori di verifica della classe quando Trace.java viene caricato per la prima volta (05f6b4 e cb101f)

Versione 1.1.0-rc01

20 aprile 2022

androidx.tracing:tracing:1.1.0-rc01 e androidx.tracing:tracing-ktx:1.1.0-rc01 sono stati rilasciati senza modifiche rispetto a beta01. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

1° dicembre 2021

androidx.tracing:tracing:1.1.0-beta01 e androidx.tracing:tracing-ktx:1.1.0-beta01 sono state rilasciate. La versione 1.1.0-beta01 contiene questi commit.

Nessuna modifica dal giorno 1.1.0-alpha02.

Versione 1.1.0-alpha02

17 novembre 2021

androidx.tracing:tracing:1.1.0-alpha02 e androidx.tracing:tracing-ktx:1.1.0-alpha02 sono state rilasciate. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto Trace.forceEnableAppTracing(), un'API per forzare l'attivazione dell'acquisizione della sezione di traccia dell'app (ovvero le API android.os.Trace / andoridx.tracing) su build non abilitate al debug. Chiamalo all'inizio dell'avvio per attivare il tracciamento del sistema accurato non abilitato al debug prima dell'introduzione del tag manifest profilabile nell'API 29. (I3a309)

Versione 1.1.0-alpha01

3 novembre 2021

androidx.tracing:tracing:1.1.0-alpha01 e androidx.tracing:tracing-ktx:1.1.0-alpha01 sono state rilasciate. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

  • Evita errori di verifica della classe quando Trace.java viene caricato per la prima volta (05f6b4 e cb101f)

Versione 1.0

Versione 1.0.0

28 ottobre 2020

androidx.tracing:tracing:1.0.0 e androidx.tracing:tracing-ktx:1.0.0 sono state rilasciate. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Aiuta a scrivere gli eventi di traccia nel buffer di tracciamento del sistema. Questo può essere visualizzato utilizzando strumenti come Systrace e Perfetto. Questa libreria sostituisce la classe androidx.core.os.TraceCompat obsoleta.

Versione 1.0.0-rc01

14 ottobre 2020

androidx.tracing:tracing:1.0.0-rc01 e androidx.tracing:tracing-ktx:1.0.0-rc01 sono state rilasciate. La versione 1.0.0-rc01 contiene questi commit.

Questa release è identica a 1.0.0-beta01.

Versione 1.0.0-beta01

24 giugno 2020

androidx.tracing:tracing:1.0.0-beta01 e androidx.tracing:tracing-ktx:1.0.0-beta01 vengono rilasciati senza modifiche rispetto a 1.0.0-alpha01. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha01

10 giugno 2020

androidx.tracing:tracing:1.0.0-alpha01 e androidx.tracing:tracing-ktx:1.0.0-alpha01 sono state rilasciate. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

androidx.tracing è una libreria che aiuta a scrivere eventi di traccia nel buffer di tracciamento del sistema. Questo può essere visualizzato utilizzando strumenti come Systrace e Perfetto. Questa libreria sostituisce la classe androidx.core.os.TraceCompat deprecata. Questa release iniziale è la 1.0.0-alpha01.

Tracciamento di Perfetto

Versione 1.0

Versione 1.0.1

19 novembre 2025

androidx.tracing:tracing-perfetto:1.0.1, androidx.tracing:tracing-perfetto-binary:1.0.1 e androidx.tracing:tracing-perfetto-handshake:1.0.1 sono stati rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • Supporto delle dimensioni delle pagine di 16 kB (b7a7dd)
  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché ciò avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). Ai clienti che non utilizzano AGP consigliamo di eseguire l'aggiornamento a D8 versione 8.1 o successive. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
  • Evita di raggruppare copie di FastNative/CriticalNative nella libreria e utilizza le copie della piattaforma stabile. (I8238a, b/35664282, b/280878596)

Versione 1.0.0

4 ottobre 2023

androidx.tracing:tracing-perfetto:1.0.0, androidx.tracing:tracing-perfetto-binary:1.0.0 e androidx.tracing:tracing-perfetto-handshake:1.0.0 sono stati rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • Questa è la prima release stabile delle librerie Tracing-perfetto.

Versione 1.0.0-rc01

20 settembre 2023

androidx.tracing:tracing-perfetto:1.0.0-rc01, androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 e androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 sono stati rilasciati senza modifiche rispetto all'ultima versione beta. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta03

30 agosto 2023

androidx.tracing:tracing-perfetto:1.0.0-beta03, androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 e androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 sono stati rilasciati. La versione 1.0.0-beta03 contiene questi commit.

  • Aggiornamento della versione in modo che corrisponda alla release di androidx.benchmark.

Versione 1.0.0-beta02

23 agosto 2023

androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 e androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 sono stati rilasciati. La versione 1.0.0-beta02 contiene questi commit.

Nuove funzionalità

  • È stato attivato il supporto per il tracciamento all'avvio dell'app (avvio a freddo).

Versione 1.0.0-beta01

18 luglio 2023

androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 e androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Modifiche alle API

  • Rinominato androidx.tracing.perfetto.Trace in androidx.tracing.perfetto.PerfettoSdkTrace (I44af8)
  • Rinominate le costanti "codice di uscita" in "codice risultato" nel protocollo per coerenza (Id1d1e)
  • EnableTracingResponse è stato rinominato in Response. (I56275)
  • È stata aggiunta un'opzione per attivare la tracciabilità dell'avvio a freddo in modalità persistente. È stata aggiunta una funzione per cancellare la traccia dell'avvio a freddo (persistente o meno). (Iaa09d)
  • Le API SDK Tracing Perfetto sono state rese coerenti con android.os.Trace. (I73ba0, b/282199917)
  • Passaggio a un pattern di fabbrica per LibrarySource che consente di aggiungere facilmente all'API, se necessario, futuri casi d'uso (ad es. caricamento diretto del file .so). (I128df)
  • Corrispondenza dei parametri enableTracingColdStart enableTracingImmediate (I54126)
  • Argomento killProcess rimosso in enableTracingColdStart (I81c4d)

Versione 1.0.0-alpha17

21 giu 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 e androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 sono stati rilasciati senza modifiche rispetto alla versione alpha precedente. La versione 1.0.0-alpha17 contiene questi commit.

Versione 1.0.0-alpha16

7 giugno 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha16, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 sono stati rilasciati senza modifiche rispetto alla versione alpha precedente. La versione 1.0.0-alpha16 contiene questi commit.

Versione 1.0.0-alpha15

3 maggio 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 vengono rilasciati senza modifiche. La versione 1.0.0-alpha15 contiene questi commit.

Versione 1.0.0-alpha14

5 aprile 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 sono stati rilasciati senza nuove modifiche. La versione 1.0.0-alpha14 contiene questi commit.

Versione 1.0.0-alpha13

22 marzo 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha13, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 sono stati rilasciati senza modifiche rispetto all'ultima release. La versione 1.0.0-alpha13 contiene questi commit.

Versione 1.0.0-alpha12

8 marzo 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha12, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 sono stati rilasciati senza modifiche rispetto alla versione alpha precedente. La versione 1.0.0-alpha12 contiene questi commit.

Versione 1.0.0-alpha11

22 febbraio 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha11, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 vengono rilasciati senza modifiche. La versione 1.0.0-alpha11 contiene questi commit.

Versione 1.0.0-alpha10

8 febbraio 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha10, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 sono stati rilasciati senza modifiche. La versione 1.0.0-alpha10 contiene questi commit.

Versione 1.0.0-alpha09

10 febbraio 2023

androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 è stato rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • Release con incremento della versione per consentire ad altre librerie androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 di funzionare insieme.

11 gennaio 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha09 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 vengono rilasciati senza modifiche. La versione 1.0.0-alpha09 contiene questi commit.

Versione 1.0.0-alpha08

7 dicembre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 sono stati rilasciati. La versione 1.0.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Miglioramento delle prestazioni grazie all'ottimizzazione della gestione delle stringhe.

Correzioni di bug

  • È stata aggiunta una regola ProGuard che impedisce l'eliminazione dei metodi di PerfettoNative se la classe viene utilizzata (impedisce un arresto anomalo in un caso di nicchia quando viene inizializzata la tracciatura, ma non sono presenti chiamate di tracciatura nell'app).

Versione 1.0.0-alpha07

9 novembre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha07, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 sono stati rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

  • Riduzione dell'overhead JNI delle API androidx.tracing:tracing-perfetto.

Versione 1.0.0-alpha06

24 ottobre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha06, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 sono stati rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

  • Questo aggiornamento non include modifiche, ma solo l'aggiornamento del numero di versione per la sincronizzazione con androidx.benchmark.

Versione 1.0.0-alpha05

5 ottobre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 sono stati rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Versione 1.0.0-alpha04

21 settembre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Versione 1.0.0-alpha03

7 settembre 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 sono stati rilasciati.

Nuove funzionalità

  • Nessuna nuova funzionalità dalla versione 1.0.0-alpha02.

Versione 1.0.0-alpha02

24 agosto 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Diversi miglioramenti all'inizializzazione del servizio Perfetto
  • Miglioramento della gestione di un caso di mancata risposta con l'introduzione di un codice di uscita dedicato: RESULT_CODE_CANCELLED.
  • Miglioramento della gestione degli errori di analisi.
  • EnableTracingResponse.requiredVersion è stato reso nullable, poiché non possiamo conoscere la versione se non possiamo comunicare con il pacchetto. (I5ba20)

Versione 1.0.0-alpha01

27 luglio 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 e androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

  • Nota: tutte le librerie androidx.tracing:tracing-perfetto* sono inizialmente destinate solo all'uso interno nelle librerie AndroidX. Non dovresti avere bisogno di dipendere direttamente da loro.

Nuove funzionalità

  • Tutte le librerie androidx.tracing:tracing-perfetto* sono inizialmente destinate solo all'uso interno nelle librerie AndroidX e non dovresti avere bisogno di dipendere direttamente da loro. Documentiamo questi dettagli di implementazione per garantire la trasparenza.

  • androidx.tracing:tracing-perfetto è una libreria che aiuta a scrivere eventi di traccia utilizzando l'SDK Perfetto a basso overhead. Può essere utilizzato all'interno di Benchmark, Android Studio o dell'interfaccia utente di Perfetto.

  • androidx.tracing:tracing-perfetto-binary è un insieme di dipendenze binarie richieste per androidx.tracing:tracing-perfetto.

  • androidx.tracing:tracing-perfetto-common è una dipendenza interna di androidx.tracing:tracing-perfetto e può essere utilizzata dagli strumenti per l'integrazione con androidx.tracing:tracing-perfetto.