Metriche

  
Monitorare e generare report su varie metriche di runtime per la tua applicazione
Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
10 gennaio 2024 - - 1.0.0-beta01 -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza alle metriche, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Alla moda

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze delle build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.0.0

Versione 1.0.0-beta01

10 gennaio 2024

L'API e le funzionalità di questa libreria sono stabili da qualche tempo. Questa release esegue semplicemente il push della libreria alla versione beta.

androidx.metrics:metrics-performance:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha04

5 aprile 2023

Questa release aggiorna JankStats con le ultime correzioni, che includono informazioni più precise e complete sulle tempistiche.

androidx.metrics:metrics-performance:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • cpuDuration ora più precisa, anche nuova totalDuration sull'API31 (I59ce8, b/243694893)

Versione 1.0.0-alpha03

27 luglio 2022

androidx.metrics:metrics-performance:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

  • Questa release contiene piccoli perfezionamenti dell'API man mano che la libreria si avvicina alla versione beta. Una delle modifiche all'API rimuove l'esecutore dal metodo di fabbrica createAndTrack() per creare un oggetto JankStats. Ciò ha implicazioni per il callback OnFrameListener, poiché ora il listener viene chiamato nel thread che invia i dati per frame a JankStats (il thread principale/UI nelle versioni precedenti all'API 24 e il thread FrameMetrics nell'API 24 e versioni successive). Inoltre, l'oggetto FrameData passato al listener viene ora riutilizzato ogni frame, pertanto i dati di tale oggetto devono essere copiati e memorizzati nella cache altrove durante il callback, poiché l'oggetto deve essere considerato obsoleto non appena il listener viene restituito.

  • Sono state inoltre apportate varie correzioni di bug, tra cui alcuni problemi di contemporaneità.

  • Infine, la correzione per riutilizzare FrameData (menzionata sopra) significa che ora non ci sono allocazioni per frame a causa della pubblicazione delle metriche frame. Prima non c'erano molte allocazioni, ma il nuovo approccio significa che puoi utilizzare JankStats senza incorrere in costi generali GC per frame nella tua app.

Modifiche alle API

  • Sono stati aggiornati i nomi di metodi e parametri in PerformanceMetricsState per rendere più chiari i risultati di queste chiamate. (I56da5, b/233421985)
  • Sono stati aggiunti test di benchmark per monitorare le allocazioni, sono state eliminate alcune allocazioni interne relative alla gestione e alla generazione di report degli stati. Tieni presente che il valore FrameData passato ai listener è ora considerato volatile. Questa struttura verrà riutilizzata per il frame successivo e i dati saranno affidabili solo fino a quando il listener non ritorna.
  • Esecutore rimosso dal costruttore di JankStats; i listener vengono ora chiamati su qualsiasi thread su cui sono stati ricevuti i dati interni. (I12743)

Correzioni di bug

  • Risolto l'arresto anomalo dovuto alla doppia rimozione di OnFrameMetricsAvailableListener (I44094, b/239457413)
  • Torna alla logica originale di pubblicazione dei messaggi OnPreDrawListener in coda, per tempi dei frame più coerenti e prevedibili. (I05a43, b/233358407)
  • È stato corretto il bug ConcurrentModificationException per cui l'elenco dei delegati listener veniva modificato mentre veniva iterato per inviare dati per frame. (Ib7693, b/236612357)

Versione 1.0.0-alpha02

29 giugno 2022

androidx.metrics:metrics-performance:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

Correzioni di bug

  • Risolto il problema di tempo per cui gli stati potevano essere sostituiti con nuovi valori prima che i frame fossero stati elaborati e il vecchio stato sarebbe stato corretto (aosp/2061892, b/213499234)
  • Correzione dell'eccezione di modifica simultanea nell'aggiunta/rimozione dei listener (aosp/2092714, b/213499234)
  • Rendere i calcoli startTime più accurati (aosp/2027704, b/213245198)
  • Corretto il bug nell'implementazione di FrameData.equals() (aosp/2025866, b/218296544)

Versione 1.0.0-alpha01

9 febbraio 2022

androidx.metrics:metrics-performance:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • La libreria JankStats fornisce funzionalità per instrumentare e ricevere callback nella tua applicazione in fase di runtime, che possono aiutarti a individuare problemi di prestazioni reali.
  • JankStats combina un'API che semplifica l'inserimento di informazioni sullo stato dell'interfaccia utente con funzionalità di monitoraggio e generazione di report sulle prestazioni per frame per consentire agli sviluppatori di capire non se un'applicazione presenta problemi di prestazioni, ma quando e perché.