Performance Monitoring utilizza le tracce per raccogliere dati sui processi monitorati nella tua app. Una traccia è un report che contiene i dati acquisiti tra due punti nel tempo nella tua app.
Per tutti i tipi di app, Performance Monitoring automaticamente raccoglie una traccia per ogni richiesta di rete inviata dalla tua app, chiamata traccia di richiesta di rete HTTP/S. Queste tracce raccolgono le metriche relative al tempo che intercorre tra il momento in cui l'app invia una richiesta a un endpoint del servizio e il momento in cui la risposta dell'endpoint è completata. Per qualsiasi endpoint a cui la tua app invia una richiesta, Performance Monitoring acquisisce diverse metriche:
Tempo di risposta: il tempo che intercorre tra l'invio della richiesta e la ricezione completa della risposta
Dimensioni del payload della risposta: dimensioni in byte del payload di rete scaricato dall'app
Dimensioni del payload della richiesta: dimensioni in byte del payload di rete caricato dall'app
Tasso di successo: percentuale di risposte riuscite (codici di risposta nell'intervallo 100- 399) rispetto alle risposte totali
Puoi visualizzare i dati di queste tracce nella sottoscheda Richieste di rete della tabella delle tracce, che si trova nella parte inferiore della dashboard Rendimento (scopri di più sull'utilizzo della console più avanti in questa pagina).
Performance Monitoring Raccoglie automaticamente le metriche per le richieste di rete che utilizzano le seguenti librerie di rete:
OkHttp3, in particolare il client HTTP v3.x.x
URLConnection di Java, in particolare HttpURLConnection e HttpsURLConnection
-
Se utilizzi questa libreria, assicurati di leggere la sezione relativa alla rimozione di Apache HTTP Client e alla ritiro di Apache HTTP Client.
Personalizzare l'aggregazione dei dati delle richieste di rete
Oltre agli strumenti e all'aggregazione dei dati pronti all'uso per le richieste di rete, Performance Monitoring supporta anche le seguenti opzioni:
- Esegui lo strumento manuale delle tracce delle richieste di rete:il monitoraggio pronto all'uso include la maggior parte delle richieste di rete per la tua app. Tuttavia, alcune richieste potrebbero non essere registrate o potresti utilizzare una libreria diversa per inviare richieste di rete. In questi casi, puoi utilizzare l'API Performance Monitoring per eseguire manualmente l'instrumentazione delle tracce delle richieste di rete personalizzate.
- Aggregare i dati in base a pattern URL personalizzati: se esistono URL specifici che Firebase non acquisisce con la corrispondenza automatica dei pattern URL, puoi creare pattern URL personalizzati per monitorare un insieme specifico di URL nel tempo.
- Personalizza il calcolo della percentuale di successo: a volte è previsto un codice di errore per determinati endpoint API o è già gestito nella tua app. In questi casi, puoi configurare il calcolo della percentuale di successo e monitorare con maggiore precisione la percentuale di successo delle chiamate di rete della tua app.
Aggregazione dei dati in base ai pattern URL
Firebase Performance Monitoring aggrega automaticamente i dati per richieste di rete simili per aiutarti a comprendere le tendenze del rendimento delle richieste di rete.
Per ogni richiesta, Firebase controlla se l'URL della richiesta di rete corrisponde a un pattern URL. Se l'URL della richiesta corrisponde a un pattern URL, Firebase aggrega automaticamente i dati della richiesta in base al pattern URL. Firebase mostra i pattern URL e i relativi dati aggregati nella scheda Rete della dashboard Rendimento della console Firebase.
Che cos'è un pattern URL?
Un pattern URL contiene un dominio e un pattern che può corrispondere a un percorso dell'URL, ad esempio example.com/*/animals/**
.
I pattern URL possono contenere i seguenti segmenti di percorso:
- testo normale: corrisponde a una stringa esatta
*
: corrisponde a qualsiasi stringa in un singolo segmento di percorso**
: corrisponde a un suffisso del percorso arbitrario
I pattern URL possono essere:
- Pattern derivati da Firebase, chiamati pattern URL automatici
- Pattern definiti dall'utente, chiamati pattern URL personalizzati
Ad esempio, qualsiasi delle seguenti richieste di URL potrebbe corrispondere al pattern di URLexample.com/*/animals/**
.
example.com/singapore/animals
example.com/australia/animals/spiders
example.com/australia/animals/marsupials/koala.png
Il dominio di un pattern URL può contenere anche *
come primo segmento, ad esempio *.example.com/*/fruits/**
.
Firebase mappa ogni richiesta a un solo pattern URL. Se hai configurato pattern URL personalizzati, Firebase tenta innanzitutto di abbinare gli URL delle richieste a questi pattern. Se Firebase non trova un pattern URL personalizzato corrispondente, abbina un URL richiesta al pattern URL automatico più rappresentativo. Scopri di più sui pattern URL automatici e personalizzati nelle sezioni seguenti.
Pattern URL automatici
Senza alcuna configurazione da parte tua, Performance Monitoring tenta di riflettere il comportamento di utilizzo più recente della tua app abbinando le richieste dell'app a pattern di URL automatici.
Come funziona la ricerca di corrispondenze automatiche dei pattern URL?
Firebase associa ogni richiesta al pattern URL automatico più rappresentativo che ha dedotto dalle richieste inviate dalla tua app. Tieni presente, però, che Firebase tenta prima di associare gli URL delle richieste a eventuali pattern URL personalizzati configurati.
Di seguito è riportato un esempio di base di come Firebase tenta di associare le richieste al pattern URL automatico più rappresentativo per la tua app.
La tua app invia molte richieste a URL come:
example.com/germany/animals/bears
example.com/germany/animals/birds
example.com/germany/cars
Firebase determina che
example.com/germany/**
è un pattern di richiesta comune per la tua app e lo aggiunge come pattern URL automatico nel progetto.Per tutte le nuove richieste corrispondenti a questo pattern URL, Firebase aggrega i dati delle richieste sotto il pattern URL automatico
example.com/germany/**
.Dopo una settimana, la maggior parte delle richieste della tua app è rivolta a
example.com/germany/animals/bears
eexample.com/germany/animals/birds
. Di conseguenza, Firebase ricava un pattern URL più rappresentativo diexample.com/germany/animals/**
.Per le nuove richieste corrispondenti a questo nuovo pattern URL, Firebase aggrega i dati delle richieste solo in base al nuovo pattern URL. Firebase continua ad aggregare i dati per le richieste a
example.com/germany/cars
inferiori aexample.com/germany/**
.Tuttavia, nelle prossime settimane le richieste della tua app a
example.com/germany/animals/bears
eexample.com/germany/animals/birds
diminuiranno notevolmente. Firebase determina cheexample.com/germany/animals/**
non è rappresentativo dell'ultimo comportamento di utilizzo della tua app, quindi inizia a associare queste due richieste nuovamente aexample.com/germany/**
.Firebase non aggrega altri dati sulle richieste in
example.com/germany/animals/**
perché non è più il pattern URL automatico più rappresentativo.
Poiché la corrispondenza del pattern dell'URL automatico è dinamica, tieni presente quanto segue:
Le corrispondenze e i dati aggregati delle richieste precedenti non sono interessati dai nuovi pattern URL. Firebase non aggrega nuovamente i dati delle richieste in modo retroattivo.
Solo le richieste future sono interessate dai nuovi pattern URL. Firebase mappa ogni nuova richiesta al pattern URL automatico più rappresentativo. Tieni però presente che Firebase tenta prima di abbinare gli URL delle richieste a eventuali pattern URL personalizzati configurati.
Visualizzare i pattern di URL automatici e i relativi dati
Firebase mostra tutti i pattern URL e i relativi dati aggregati nella scheda secondaria Richieste di rete della tabella delle tracce, che si trova nella parte inferiore della dashboard Rendimento della console Firebase.
Potresti visualizzare pattern URL con l'etichetta Senza categoria. Si tratta di pattern URL automatici "generali" in base ai quali Firebase può aggregare i dati per le richieste che non corrispondono a nessun pattern URL più specifico.
Quando il periodo di conservazione dei dati termina per i dati aggregati in un pattern URL, Firebase li elimina dal pattern URL. Se tutti i dati aggregati in base a un pattern URL automatico scadono, Firebase elimina il pattern URL dalla console Firebase.
Pattern URL personalizzati
Puoi creare pattern URL personalizzati per monitorare pattern URL specifici che Firebase non acquisisce con la corrispondenza automatica dei pattern URL. Ad esempio, puoi utilizzare un pattern URL personalizzato per risolvere i problemi relativi a un URL specifico o per monitorare un insieme specifico di URL nel tempo.
Per saperne di più, consulta Creare pattern URL personalizzati.
Monitorare, visualizzare e filtrare i dati sul rendimento
Per visualizzare i dati sulle prestazioni in tempo reale, assicurati che la tua app utilizzi una versione dell'SDK Performance Monitoring compatibile con l'elaborazione dei dati in tempo reale. Scopri di più sui dati sul rendimento in tempo reale.
Monitorare metriche specifiche nella dashboard
Per conoscere le tendenze delle tue metriche principali, aggiungile alla scheda delle metriche nella parte superiore della dashboard Rendimento. Puoi identificare rapidamente le regressioni monitorando le variazioni di settimana in settimana o verificare che le modifiche recenti al codice stiano migliorando il rendimento.
Dashboard di Firebase Performance Monitoring" />Per aggiungere una metrica alla scheda delle metriche:
- Vai alla dashboard Rendimentonella console Firebase.
- Fai clic su una scheda metrica vuota, quindi seleziona una metrica esistente da aggiungere alla scheda.
- Fai clic su in una scheda delle metriche compilata per visualizzare altre opzioni, ad esempio per sostituire o rimuovere una metrica.
La scheda delle metriche mostra i dati delle metriche raccolti nel tempo, sia in forma grafica sia come variazione percentuale numerica.
Scopri di più sull'utilizzo della dashboard.
Visualizzare le tracce e i relativi dati
Per visualizzare le tracce, vai alla dashboard Rendimento nella console Firebase, scorri verso il basso fino alla tabella delle tracce e fai clic sulla sottoscheda appropriata. La tabella mostra alcune metriche principali per ogni traccia e puoi anche ordinare l'elenco in base alla variazione percentuale di una metrica specifica.
Performance Monitoring fornisce una pagina per la risoluzione dei problemi nella console Firebase che mette in evidenza le variazioni delle metriche, consentendo di risolvere rapidamente e ridurre al minimo l'impatto dei problemi di prestazioni sulle tue app e sui tuoi utenti. Puoi utilizzare la pagina di risoluzione dei problemi quando vengono rilevati potenziali problemi di prestazioni, ad esempio nei seguenti scenari:
- Seleziona le metriche pertinenti nella dashboard e noti un delta elevato.
- Nella tabella delle tracce, ordina in modo da visualizzare i delta più grandi in alto e vedi una variazione percentuale significativa.
- Ricevi un avviso via email che ti informa di un problema di rendimento.
Puoi accedere alla pagina di risoluzione dei problemi nei seguenti modi:
- Nella dashboard delle metriche, fai clic sul pulsante Visualizza i dettagli della metrica.
- In qualsiasi scheda delle metriche, seleziona
. La pagina di risoluzione dei problemi mostra informazioni sulla metrica selezionata. => Visualizza dettagli - Nella tabella delle tracce, fai clic sul nome di una traccia o su un valore della metrica nella riga associata alla traccia.
- In un avviso via email, fai clic su Esegui accertamenti ora.
Quando fai clic sul nome di una traccia nella tabella delle tracce, puoi visualizzare in dettaglio le metriche di interesse. Fai clic sul pulsante
- Filtra per Versione app per visualizzare i dati relativi a una release precedente o alla release più recente
- Filtra per Dispositivo per scoprire in che modo i dispositivi meno recenti gestiscono la tua app
- Filtra in base a Paese per assicurarti che la posizione del database non influisca su una regione specifica.
Scopri di più su come visualizzare i dati delle tue tracce.
Passaggi successivi
Scopri di più sull'utilizzo degli attributi per esaminare i dati sul rendimento.
Scopri di più su come monitorare i problemi di rendimento nella consoleFirebase.
Configura gli avvisi per le richieste di rete che stanno peggiorando il rendimento della tua app. Ad esempio, puoi configurare un avviso via email per il tuo team se il tempo di risposta per un pattern URL specifico supera una soglia impostata.
- Visualizza report dettagliati sulle sessioni utente in cui puoi vedere una traccia specifica nel contesto di una sequenza temporale di altre tracce raccolte durante la stessa sessione.