Monitoraggio delle prestazioni delle implementazioni delle funzionalità

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

1. Panoramica

In questo codelab imparerai come monitorare le prestazioni della tua app durante l'implementazione di una funzionalità. La nostra app di esempio avrà funzionalità di base ed è configurata per visualizzare un'immagine di sfondo diversa basata su un flag di configurazione remota di Firebase. Esamineremo la strumentazione delle tracce per monitorare le prestazioni dell'app, implementare una modifica di configurazione nell'app, monitorare l'effetto e vedere come possiamo migliorare le prestazioni.

Cosa imparerai

  • Come aggiungere il monitoraggio delle prestazioni di Firebase alla tua app mobile per ottenere metriche pronte all'uso (come l'ora di inizio dell'app e i frame lenti o bloccati)
  • Come aggiungere tracce personalizzate per comprendere i percorsi di codice critici dei tuoi percorsi utente
  • Come utilizzare la dashboard di monitoraggio delle prestazioni per comprendere le tue metriche e tenere traccia di modifiche importanti come l'implementazione di una funzionalità
  • Come impostare gli avvisi sulle prestazioni per monitorare le metriche chiave
  • Come implementare una modifica alla configurazione remota di Firebase

Prerequisiti

  • Android Studio 4.0 o versioni successive
  • Un emulatore Android con livello API 16 o superiore.
  • Java versione 8 o successiva
  • Una conoscenza di base di Firebase Remote Config

2. Configurare il progetto di esempio

Scarica il codice

Eseguire il comando seguente per clonare il codice di esempio per questo codelab. Questo creerà una cartella chiamata codelab-perf-rc-android sulla tua macchina:

$ git clone https://github.com/FirebaseExtended/codelab-feature-rollout-performance.git

Se non hai Git sul tuo computer, puoi anche scaricare il codice direttamente da GitHub.

Importa il progetto nella firebase-perf-rc-android-start in Android Studio. Probabilmente vedrai alcune eccezioni di runtime o forse un avviso su un file google-services.json mancante. Lo correggeremo nella prossima sezione.

In questo codelab, utilizzerai il plug-in Firebase Assistant per registrare la tua app Android con un progetto Firebase e aggiungere i file di configurazione Firebase, i plug-in e le dipendenze necessari al tuo progetto Android, il tutto da Android Studio !

Collega la tua app a Firebase

  1. Vai su Android Studio / Guida > Verifica aggiornamenti per assicurarti di utilizzare le ultime versioni di Android Studio e Firebase Assistant.
  2. Seleziona Strumenti > Firebase per aprire il riquadro dell'assistente .

c0e42ef063d21eab.png

  1. Scegli Monitoraggio delle prestazioni da aggiungere alla tua app, quindi fai clic su Inizia con il monitoraggio delle prestazioni .
  2. Fai clic su Connetti a Firebase per connettere il tuo progetto Android con Firebase (questo aprirà la console Firebase nel tuo browser) .
  3. Nella console Firebase, fai clic su Aggiungi progetto , quindi inserisci il nome di un progetto Firebase (se hai già un progetto Firebase, puoi invece selezionare quel progetto esistente) . Fai clic su Continua e accetta i termini per creare il progetto Firebase e una nuova app Firebase.

Successivamente dovresti vedere una finestra di dialogo per collegare la tua nuova app Firebase al tuo progetto Android Studio.

51a549ebde2fe57a.png

  1. Fare clic su Connetti .
  2. Apri Android Studio. Nel riquadro dell'Assistente , vedrai la conferma che la tua app è connessa a Firebase.

40c24c4a56a45990.png

Aggiungi il monitoraggio delle prestazioni alla tua app

Nel riquadro Assistente in Android Studio, fai clic su Aggiungi monitoraggio delle prestazioni alla tua app .

Dovresti vedere una finestra di dialogo per accettare modifiche dopo la quale Android Studio dovrebbe sincronizzare la tua app per garantire che tutte le dipendenze necessarie siano state aggiunte.

3046f3e1f5fea06f.png

Infine, dovresti vedere il messaggio di successo nel riquadro Assistente in Android Studio che tutte le dipendenze sono impostate correttamente.

62e79fd18780e320.png

Come passaggio aggiuntivo, abilita la registrazione del debug seguendo le istruzioni nel passaggio "(Facoltativo) Abilita la registrazione del debug". Le stesse istruzioni sono disponibili anche nella documentazione pubblica .

3. Esegui l'app

Ora dovresti vedere il file google-services.json nella directory del modulo (a livello di app) della tua app e la tua app dovrebbe ora essere compilata. In Android Studio, fai clic su Esegui > Esegui "app" per creare ed eseguire l'app sul tuo emulatore Android.

Quando l'app è in esecuzione, dovresti prima vedere una schermata iniziale come questa:

ffbd413a6983b205.png

Quindi, dopo alcuni secondi, verrà visualizzata la pagina principale con l'immagine predefinita:

d946cab0df319e50.png

Cosa sta succedendo sotto il cofano?

La schermata iniziale è implementata in SplashScreenActivity e fa quanto segue:

  1. In onCreate() , inizializziamo le impostazioni di configurazione remota di Firebase e recuperiamo i valori di configurazione che imposterai nella dashboard di configurazione remota più avanti in questo codelab.
  2. In executeTasksBasedOnRC() , leggiamo il valore di configurazione del flag seasonal_image_url . Se viene fornito un URL dal valore di configurazione, scarichiamo l'immagine in modo sincrono.
  3. Una volta completato il download, l'app passa a MainActivity e chiama finish() per terminare SplashScreenActivity .

In MainActivity , se seasonal_image_url è definito tramite Remote Config, la funzione verrà abilitata e l'immagine scaricata verrà visualizzata come sfondo della pagina principale. In caso contrario, verrà visualizzata l'immagine predefinita (mostrata sopra).

4. Configurare la configurazione remota

Ora che la tua app è in esecuzione, puoi impostare il nuovo flag di funzionalità.

  1. Nel pannello di sinistra della console Firebase , individua la sezione Coinvolgi , quindi fai clic su Configurazione remota .
  2. Fare clic sul pulsante Crea configurazione per aprire il modulo di configurazione e aggiungere seasonal_image_url come chiave del parametro.
  3. Fai clic su Aggiungi descrizione , quindi inserisci questa descrizione: Shows a seasonal image (replaces default) in the main page when the restaurant list is empty.
  4. Fare clic su Aggiungi nuovo -> Valore condizionale -> Crea nuova condizione .
  5. Per il nome della condizione, inserisci Seasonal image rollout .
  6. Per la sezione Applies if... , seleziona User in random percentile <= 0% . (Vuoi lasciare la funzione disabilitata finché non sei pronto per l'implementazione in un passaggio successivo.)
  7. Fare clic su Crea condizione . Utilizzerai questa condizione in seguito per implementare la nuova funzionalità per i tuoi utenti.

7a07526eb9e81623.png

  1. Apri il modulo Crea il tuo primo parametro e individua il campo Valore per l'implementazione stagionale dell'immagine . Inserisci l'URL dove verrà scaricata l'immagine stagionale: https://images.unsplash.com/photo-1552691021-7043334e0b51
  2. Lascia il valore predefinito come una stringa vuota. Ciò significa che verrà mostrata l'immagine predefinita nella codebase anziché un'immagine scaricata da un URL.
  3. Fare clic su Salva .

99e6cd2ebcdced.png

Puoi vedere che la nuova configurazione viene creata come bozza.

  1. Fai clic su Pubblica modifiche e conferma le modifiche in alto per aggiornare l'app.

39cd3e96d370c7ce.png

5. Aggiungere il monitoraggio per il tempo di caricamento dei dati

L'app precarica alcuni dati prima di mostrare MainActivity e visualizza una schermata iniziale per nascondere questo processo. Non vuoi che i tuoi utenti aspettino troppo a lungo su questa schermata, quindi normalmente è utile monitorare per quanto tempo viene visualizzata la schermata iniziale.

Il monitoraggio delle prestazioni di Firebase offre un modo per farlo. Puoi strumentare tracce di codice personalizzate per monitorare le prestazioni di un codice specifico nella tua app, come il tempo di caricamento dei dati e il tempo di elaborazione della tua nuova funzionalità.

Per tenere traccia della durata di visualizzazione della schermata iniziale, aggiungerai una traccia del codice personalizzata a SplashScreenActivity , che è l' Activity che implementa la schermata iniziale.

  1. Inizializza, crea e avvia una traccia di codice personalizzata denominata splash_screen_trace :

SplashScreenActivity.java

// ...
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
// ...

public class SplashScreenActivity extends AppCompatActivity {

    private static final String TAG = "SplashScreenActivity";
    private static final String SEASONAL_IMAGE_URL_RC_FLAG = "seasonal_image_url";

    // TODO: Initialize splash_screen_trace
    private final Trace splashScreenTrace = FirebasePerformance.startTrace("splash_screen_trace");
    
    // ...
}
  1. Termina la traccia nel metodo onDestroy() di SplashScreenActivity :

SplashScreenActivity.java

@Override
protected void onDestroy() {
    super.onDestroy();

    // TODO: Stop the splash_screen_trace here
    splashScreenTrace.stop();
}

Poiché la tua nuova funzionalità scarica ed elabora un'immagine, aggiungerai una seconda traccia di codice personalizzata che terrà traccia del tempo aggiuntivo che la tua funzionalità ha aggiunto a SplashScreenActivity .

  1. Inizializza, crea e avvia una traccia di codice personalizzata denominata splash_seasonal_image_processing :

SplashScreenActivity.java

private void executeTasksBasedOnRC(FirebaseRemoteConfig rcConfig) {
    String seasonalImageUrl = rcConfig.getString(SEASONAL_IMAGE_URL_RC_FLAG);
    Log.d(TAG, SEASONAL_IMAGE_URL_RC_FLAG + ": " + seasonalImageUrl);

    if (!seasonalImageUrl.isEmpty()) {
        // TODO: Start the splash_seasonal_image_processing here
        final Trace seasonalImageProcessingTrace = FirebasePerformance
            .startTrace("splash_seasonal_image_processing");

        // ...
    }
}
  1. Termina la traccia nei onLoadFailed() e onResourceReady() di RequestListener :

SplashScreenActivity.java

Glide.with(SplashScreenActivity.this.getApplicationContext())
    .asBitmap()
    .load(seasonalImageUrl)
    .signature(new ObjectKey(Utils.getCacheUUID()))
    .listener(new RequestListener<Bitmap>() {
        @Override
        public boolean onLoadFailed(
            @Nullable GlideException e,
            Object model, Target<Bitmap> target,
            boolean isFirstResource) {

            // TODO: Stop the splash_seasonal_image_processing here
            seasonalImageProcessingTrace.stop();

            launchMainActivity();
            return true;
        }

        @Override
        public boolean onResourceReady(Bitmap resource, Object model,
            Target<Bitmap> target, DataSource dataSource,
            boolean isFirstResource) {

            // TODO: Stop the splash_seasonal_image_processing here
            seasonalImageProcessingTrace.stop();

            launchMainActivity();
            return true;
        }
     })
     .preload();

Ora che hai aggiunto tracce di codice personalizzate per tenere traccia della durata della schermata iniziale ( splash_screen_trace) e del tempo di elaborazione della nuova funzionalità ( splash_seasonal_image_processing ), esegui nuovamente l'app in Android Studio. Dovrebbe essere visualizzato un messaggio di registrazione che contiene Logging trace metric: splash_screen_trace , seguito dalla durata della traccia. Non vedrai un messaggio di registro per splash_seasonal_image_processing perché non hai ancora abilitato la nuova funzionalità.

6. Aggiungere un attributo personalizzato alla traccia

Per le tracce di codice personalizzate, Performance Monitoring registra automaticamente gli attributi predefiniti (metadati comuni come versione dell'app, paese, dispositivo e così via) in modo che tu possa filtrare i dati per la traccia nella console Firebase . Puoi anche aggiungere e monitorare attributi personalizzati .

Nella tua app hai appena aggiunto due tracce di codice personalizzate per monitorare la durata della schermata iniziale e il tempo di elaborazione della nuova funzionalità. Un fattore che potrebbe influenzare queste durate è se l'immagine visualizzata è l'immagine predefinita o se l'immagine deve essere scaricata da un URL. E chissà: alla fine potresti avere URL diversi da cui scarichi un'immagine.

Quindi, aggiungiamo un attributo personalizzato che rappresenta l'URL dell'immagine stagionale a queste tracce di codice personalizzato. In questo modo, puoi filtrare i dati sulla durata in base a questi valori in un secondo momento.

  1. Aggiungi l'attributo personalizzato ( seasonal_image_url_attribute ) per splash_screen_trace all'inizio del metodo executeTasksBasedOnRC :

SplashScreenActivity.java

private void executeTasksBasedOnRC(FirebaseRemoteConfig rcConfig) {
    String seasonalImageUrl = rcConfig.getString(SEASONAL_IMAGE_URL_RC_FLAG);
    Log.d(TAG, SEASONAL_IMAGE_URL_RC_FLAG + ": " + seasonalImageUrl);

    // TODO: Add a custom attribute "seasonal_image_url_attribute" to splash_screen_trace
    if (seasonalImageUrl.isEmpty()) {
        splashScreenTrace.putAttribute("seasonal_image_url_attribute", "unset");
    } else {
        splashScreenTrace.putAttribute("seasonal_image_url_attribute", seasonalImageUrl);
    }

    // ...
}
  1. Aggiungi lo stesso attributo personalizzato per splash_seasonal_image_processing subito dopo la startTrace("splash_seasonal_image_processing") :

SplashScreenActivity.java

if (!seasonalImageUrl.isEmpty()) {
    // TODO: Start the splash_seasonal_image_processing here
    final Trace seasonalImageProcessingTrace = FirebasePerformance
        .startTrace("splash_seasonal_image_processing");

    // TODO: Add a custom attribute "seasonal_image_url_attribute" to splash_seasonal_image_processing
    seasonalImageProcessingTrace
        .putAttribute("seasonal_image_url_attribute", seasonalImageUrl);

    // ...
}

Ora che hai aggiunto un attributo personalizzato ( seasonal_image_url_attribute ) per entrambe le tue tracce personalizzate ( splash_screen_trace e splash_seasonal_image_processing ), esegui di nuovo l'app in Android Studio. Dovresti vedere un messaggio di registrazione che contiene Setting attribute 'seasonal_image_url_attribute' to 'unset' on trace 'splash_screen_trace'. Non hai ancora abilitato il parametro Remote ConfigseasonImageUrl , motivo per cui il valore dell'attributo non è unset .

L'SDK di monitoraggio delle prestazioni raccoglierà i dati di traccia e li invierà a Firebase. Puoi visualizzare i dati nella dashboard Performance della console Firebase, che spiegheremo in dettaglio nel passaggio successivo del codelab.

7. Configura la dashboard di monitoraggio delle prestazioni

Configura la tua dashboard per monitorare la tua funzione

Nella console Firebase , seleziona il progetto che ha la tua app Friendly Eats.

Nel pannello di sinistra, individua la sezione Rilascio e monitoraggio , quindi fai clic su Prestazioni .

Dovresti vedere la tua dashboard Performance con i tuoi primi punti dati nella tua scheda delle metriche! L'SDK di monitoraggio delle prestazioni raccoglie i dati sulle prestazioni dalla tua app e li visualizza in pochi minuti dalla raccolta.

f57e5450b70034c9.png

Questa scheda delle metriche è dove puoi tenere traccia delle metriche chiave per la tua app. La visualizzazione predefinita include la durata della traccia dell'ora di inizio dell'app, ma puoi aggiungere le metriche che ti interessano di più. Poiché stai monitorando la nuova funzionalità che hai aggiunto, puoi personalizzare la dashboard per visualizzare la durata della traccia del codice personalizzato splash_screen_trace .

  1. Fare clic su una delle caselle vuote Seleziona una metrica .
  2. Nella finestra di dialogo, seleziona il tipo di traccia di Tracce personalizzate e il nome della traccia splash_screen_trace .

1fb81f4dba3220e0.png

  1. Fai clic su Seleziona metrica e dovresti vedere la durata di splash_screen_trace aggiunta alla tua dashboard!

Puoi utilizzare questi stessi passaggi per aggiungere altre metriche che ti interessano in modo da poter vedere rapidamente come cambiano le loro prestazioni nel tempo e anche con versioni diverse.

1d465c021e58da3b.png

La scheda delle metriche è un potente strumento per tenere traccia delle prestazioni delle metriche chiave sperimentate dai tuoi utenti. Per questo codelab, hai un piccolo set di dati in un intervallo di tempo ristretto, quindi utilizzerai altre viste dashboard che ti aiuteranno a comprendere le prestazioni dell'implementazione della funzionalità.

8. Distribuisci la tua funzionalità

Ora che hai impostato il monitoraggio, sei pronto per implementare la modifica di Firebase Remote Config ( seasonal_image_url) che hai impostato in precedenza.

Per implementare una modifica, tornerai alla pagina Remote Config nella console Firebase per aumentare il percentile utente della tua condizione di targeting. Normalmente, implementeresti nuove funzionalità per una piccola parte di utenti e le aumenteresti solo quando sei sicuro che non ci siano problemi con esso. In questo codelab, tuttavia, sei gli unici utenti dell'app, quindi puoi modificare il percentile al 100%.

  1. Fare clic sulla scheda Condizioni nella parte superiore della pagina.
  2. Fai clic sulla condizione di Seasonal image rollout che hai aggiunto in precedenza.
  3. Cambia il percentile al 100%.
  4. Fare clic su Salva condizione .
  5. Fare clic su Pubblica modifiche e confermare le modifiche.

70f993502b27e7a0.png

Di nuovo in Android Studio, riavvia l'app nell'emulatore per vedere la nuova funzionalità. Dopo la schermata iniziale, dovresti vedere la nuova schermata principale di stato vuoto!

b0cc91b6e48fb842.png

9. Verificare le modifiche alle prestazioni

Ora esaminiamo le prestazioni del caricamento della schermata iniziale utilizzando il dashboard Prestazioni nella console Firebase. In questo passaggio del codelab, utilizzerai diverse parti della dashboard per visualizzare i dati sulle prestazioni.

  1. Nella scheda Dashboard principale, scorri verso il basso fino alla tabella delle tracce, quindi fai clic sulla scheda Tracce personalizzate . In questa tabella vedrai le tracce del codice personalizzato che hai aggiunto in precedenza più alcune tracce pronte all'uso .
  2. Ora che hai abilitato la nuova funzionalità, cerca il codice personalizzato trace splash_seasonal_image_processing , che ha misurato il tempo impiegato per scaricare ed elaborare l'immagine. Dal valore Durata della traccia, puoi vedere che questo download e l'elaborazione richiedono una notevole quantità di tempo.

439adc3ec71805b7.png

  1. Poiché disponi di dati per splash_seasonal_image_processing , puoi aggiungere la durata di questa traccia alla scheda delle metriche nella parte superiore della scheda Dashboard .

Come prima, fai clic su una delle caselle vuote Seleziona una metrica . Nella finestra di dialogo, seleziona il tipo di traccia Tracce personalizzate e il nome della traccia splash_seasonal_image_processing . Infine, fai clic su Seleziona metrica per aggiungere questa metrica alla scheda delle metriche.

7fb64d2340410576.png

  1. Per confermare ulteriormente le differenze, puoi dare un'occhiata più da vicino ai dati per splash_screen_trace . Fai clic sulla scheda splash_screen_trace nella scheda delle metriche, quindi fai clic su Visualizza dettagli metrica .

b1c275c30679062a.png

  1. Nella pagina dei dettagli, vedrai un elenco di attributi in basso a sinistra, incluso l'attributo personalizzato che hai creato in precedenza. Fai clic sull'attributo personalizzato seasonal_image_url_attribute per visualizzare la durata della schermata iniziale per ogni URL immagine stagionale sulla destra:

8fa1a69019bb045e.png

  1. I valori della durata della schermata iniziale saranno probabilmente leggermente diversi da quelli dello screenshot sopra, ma dovresti avere una durata maggiore quando l'immagine viene scaricata da un URL rispetto all'utilizzo dell'immagine predefinita (rappresentata da "non impostato").

In questo codelab, il motivo di questa maggiore durata potrebbe essere semplice, ma in un'app reale potrebbe non essere così ovvio. I dati sulla durata raccolti proverranno da dispositivi diversi, che eseguono l'app in varie condizioni di connessione di rete e queste condizioni potrebbero essere peggiori delle tue aspettative. Diamo un'occhiata a come indagheresti su questo problema se si trattasse di una situazione del mondo reale.

  1. Fai clic su Prestazioni nella parte superiore della pagina per tornare alla scheda principale del dashboard : 640b696b79d90103.png
  2. Nella tabella delle tracce in fondo alla pagina, fai clic sulla scheda Richieste di rete . In questa tabella vedrai tutte le richieste di rete dalla tua app aggregate in pattern URL , incluso il pattern URL images.unsplash.com/** . Se si confronta il valore di questo tempo di risposta con il tempo complessivo impiegato per il download e l'elaborazione dell'immagine (ad esempio, la durata della traccia splash_seasonal_image_processing ), è possibile notare che gran parte del tempo viene dedicato al download dell'immagine.

6f92ce0f23494507.png

Risultati delle prestazioni

Utilizzando Firebase Performance Monitoring, hai riscontrato il seguente impatto sugli utenti finali con la nuova funzionalità abilitata:

  1. Il tempo trascorso su SplashScreenActivity è aumentato.
  2. La durata per splash_seasonal_image_processing è stata molto grande.
  3. Il ritardo era dovuto al tempo di risposta per il download dell'immagine e al corrispondente tempo di elaborazione necessario per l'immagine.

Nel passaggio successivo, ridurrai l'impatto sulle prestazioni ripristinando la funzionalità e identificando come puoi migliorare l'implementazione della funzionalità.

10. Ripristinare la funzione

Non è auspicabile aumentare il tempo di attesa degli utenti durante la schermata iniziale. Uno dei principali vantaggi di Remote Config è la possibilità di sospendere e annullare l'implementazione senza dover rilasciare un'altra versione per gli utenti. Ciò ti consente di reagire rapidamente ai problemi (come i problemi di prestazioni che hai scoperto nell'ultimo passaggio) e di ridurre al minimo il numero di utenti insoddisfatti.

Come mitigazione rapida, ripristinerai il percentile di rollout su 0 in modo che tutti i tuoi utenti vedranno di nuovo l'immagine predefinita:

  1. Torna alla pagina di configurazione remota nella console di Firebase.
  2. Clicca su Condizioni nella parte superiore della pagina.
  3. Fai clic sulla condizione di Seasonal image rollout che hai aggiunto in precedenza.
  4. Cambia il percentile in 0%.
  5. Fare clic su Salva condizione .
  6. Fare clic su Pubblica modifiche e confermare le modifiche.

18c4f1cbac955a04.png

Riavvia l'app in Android Studio e dovresti vedere la schermata principale dello stato vuoto originale:

d946cab0df319e50.png

11. Risolvi i problemi di prestazioni

Hai scoperto in precedenza nel codelab che il download di un'immagine per la schermata iniziale stava causando il rallentamento della tua app. Dando un'occhiata più da vicino all'immagine scaricata, vedi che stai usando la risoluzione originale dell'immagine, che era di oltre 2 MB! Una soluzione rapida per il tuo problema di prestazioni consiste nel ridurre la qualità a una risoluzione più appropriata in modo che l'immagine richieda meno tempo per il download.

Stendere nuovamente il valore di configurazione remota

  1. Torna alla pagina di configurazione remota nella console di Firebase.
  2. Fare clic sull'icona Modifica per il parametro seasonal_image_url .
  3. Aggiorna il valore per l'implementazione stagionale dell'immagine su https://images.unsplash.com/photo-1552691021-7043334e0b51?w=640 , quindi fai clic su Salva .

828dd1951a2ec4a4.png

  1. Fare clic sulla scheda Condizioni nella parte superiore della pagina.
  2. Fare clic su Implementazione stagionale dell'immagine , quindi reimpostare il percentile su 100%.
  3. Fare clic su Salva condizione .

1974fa3bb789f36c.png

  1. Fare clic sul pulsante Pubblica modifiche .

12. Testare la correzione e impostare gli avvisi

Esegui l'app in locale

Con il nuovo valore di configurazione impostato per utilizzare un URL dell'immagine di download diverso, esegui di nuovo l'app. Questa volta, dovresti notare che il tempo trascorso sulla schermata iniziale è più breve di prima.

b0cc91b6e48fb842.png

Visualizza l'andamento delle modifiche

Torna alla dashboard delle prestazioni nella console Firebase per vedere come appaiono le metriche.

  1. Questa volta utilizzerai la tabella delle tracce per navigare nella pagina dei dettagli. In basso nella tabella delle tracce, nella scheda Tracce personalizzate , fai clic sulla traccia personalizzata splash_seasonal_image_processing per visualizzare nuovamente una visualizzazione più dettagliata della sua metrica di durata.

2d7aaca03112c062.png

  1. Fai clic sull'attributo personalizzato seasonal_image_url_attribute per visualizzare nuovamente la suddivisione degli attributi personalizzati. Se passi il mouse sopra gli URL, vedrai un valore che corrisponde al nuovo URL per l'immagine di dimensioni ridotte: https://images.unsplash.com/photo-1552691021-7043334e0b51?w=640 (con ?w=640 alla fine). Il valore della durata associato a questa immagine è notevolmente inferiore al valore dell'immagine precedente e più accettabile per i tuoi utenti!

10e30c037a4237a2.png

  1. Ora che hai migliorato le prestazioni della schermata iniziale, puoi impostare avvisi per avvisarti quando una traccia supera una soglia impostata. Apri la dashboard delle prestazioni e fai clic sull'icona del menu di overflow (tre punti) per splash_screen_trace e fai clic su Impostazioni avvisi .

4bd0a2a1faa14479.png

  1. Fare clic sull'interruttore per abilitare l'avviso di durata . Imposta il valore di soglia in modo che sia leggermente al di sopra del valore che stavi vedendo in modo che se splash_screen_trace supera la soglia, riceverai un'e-mail.
  1. Fare clic su Salva per creare l'avviso. Scorri verso il basso fino alla tabella delle tracce , quindi fai clic sulla scheda Tracce personalizzate per vedere che il tuo avviso è abilitato!

2bb93639e2218d1.png

13. Congratulazioni!

Congratulazioni! Hai abilitato l'SDK di monitoraggio delle prestazioni di Firebase e hai raccolto tracce per misurare le prestazioni di una nuova funzionalità! Hai monitorato le metriche chiave delle prestazioni per l'implementazione di una nuova funzionalità e hai reagito rapidamente quando è stato rilevato un problema di prestazioni. Tutto ciò è stato possibile grazie alla possibilità di apportare modifiche alla configurazione con Remote Config e monitorare i problemi di prestazioni in tempo reale.

Di cosa abbiamo parlato

  • Aggiunta dell'SDK di monitoraggio delle prestazioni di Firebase alla tua app
  • Aggiunta di una traccia di codice personalizzata al codice per misurare una caratteristica specifica
  • Impostazione di un parametro Remote Config e di un valore condizionale per controllare/distribuire una nuova funzionalità
  • Comprendere come utilizzare il dashboard di monitoraggio delle prestazioni per identificare i problemi durante un'implementazione
  • Configurazione di avvisi sulle prestazioni per avvisarti quando le prestazioni della tua app superano una soglia che hai impostato

Scopri di più