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 momenti nel tempo nella tua app.
Per tutti i tipi di app, Performance Monitoring raccoglie automaticamente una traccia per ogni richiesta di rete inviata dalla tua app, chiamata traccia della richiesta di rete HTTP/S. Queste tracce raccolgono metriche per il tempo che intercorre tra l'invio di una richiesta da parte della tua app a un endpoint di servizio e il completamento della risposta da quell'endpoint. Per qualsiasi endpoint a cui la tua app invia una richiesta, Performance Monitoring acquisisce diverse metriche:
Tempo di risposta: il tempo che intercorre tra il momento in cui viene effettuata la richiesta e quello in cui la risposta viene ricevuta completamente
Dimensioni payload risposta: dimensioni in byte del payload di rete scaricato dall'app
Dimensioni payload 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 Prestazioni (scopri di più sull'utilizzo della console più avanti in questa pagina).
Personalizza 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:
- Strumenta manualmente le 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 segnalate o potresti utilizzare una libreria diversa per effettuare richieste di rete. In questi casi, puoi utilizzare l'API Performance Monitoring per instrumentare manualmente le tracce delle richieste di rete personalizzate.
- Aggrega i dati in pattern URL personalizzati: se esistono URL specifici che Firebase non acquisisce con la corrispondenza automatica dei pattern URL derivati, puoi creare pattern URL personalizzati per monitorare un insieme specifico di URL nel tempo.
- Personalizza il calcolo del tasso 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 del tasso di successo e monitorare il tasso di successo delle chiamate di rete della tua app in modo più accurato.
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 delle prestazioni delle richieste di rete.
Per ogni richiesta, Firebase verifica 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 nel pattern URL. Firebase mostra i pattern URL e i relativi dati aggregati nella scheda Rete della dashboard Prestazioni della console Firebase.
Che cos'è un pattern URL?
Un pattern URL contiene un dominio più 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 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, una qualsiasi delle seguenti richieste di URL potrebbe corrispondere al pattern URL example.com/*/animals/**.
example.com/singapore/animalsexample.com/australia/animals/spidersexample.com/australia/animals/marsupials/koala.png
Il dominio di un pattern URL può anche contenere * 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 di richiesta a questi pattern. Se Firebase non trova un pattern URL personalizzato corrispondente, associa un URL di 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 della tua app a pattern di URL automatici.
Come funziona la corrispondenza automatica dei pattern URL?
Firebase associa ogni richiesta al pattern URL automatico più rappresentativo che ha derivato dalle richieste inviate dalla tua app. Tieni presente, tuttavia, che Firebase tenta innanzitutto di associare gli URL delle richieste a eventuali pattern URL personalizzati configurati.
Di seguito è riportato un esempio di base di come Firebase tenta di abbinare 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/bearsexample.com/germany/animals/birdsexample.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 tuo progetto.Per tutte le nuove richieste con corrispondenza a questo pattern URL, Firebase aggrega i dati delle richieste nel pattern URL automatico
example.com/germany/**.Dopo una settimana, la maggior parte delle richieste della tua app è indirizzata a
example.com/germany/animals/bearseexample.com/germany/animals/birds. Pertanto, Firebase ricava un pattern URL più rappresentativo diexample.com/germany/animals/**.Per tutte le nuove richieste con corrispondenza a questo nuovo pattern URL, Firebase aggrega i dati delle richieste solo nel nuovo pattern URL. Firebase continua ad aggregare i dati per le richieste a
example.com/germany/carsinexample.com/germany/**.Tuttavia, nelle settimane successive, le richieste della tua app a
example.com/germany/animals/bearseexample.com/germany/animals/birdsdiminuiscono notevolmente. Firebase determina cheexample.com/germany/animals/**non è rappresentativo del comportamento di utilizzo più recente della tua app, quindi inizia ad abbinare nuovamente queste due richieste aexample.com/germany/**.Firebase non aggrega altri dati delle richieste in
example.com/germany/animals/**perché non è più il pattern URL automatico più rappresentativo.
Poiché la corrispondenza automatica dei pattern URL è dinamica, tieni presente quanto segue:
Le corrispondenze e i dati aggregati delle richieste precedenti non sono interessati dai nuovi pattern URL. Firebase non riaggrega retroattivamente i dati delle richieste.
I nuovi pattern URL influiscono solo sulle richieste future. Firebase mappa ogni nuova richiesta al pattern URL automatico più rappresentativo. Tuttavia, tieni presente che Firebase tenta innanzitutto di trovare una corrispondenza tra gli URL di richiesta e i pattern URL personalizzati configurati.
Visualizza i pattern URL automatici e i relativi dati
Firebase mostra tutti i pattern URL e i relativi dati aggregati nella sottoscheda Richieste di rete della tabella delle tracce, che si trova nella parte inferiore della dashboard Prestazioni della console Firebase.
Potresti visualizzare pattern URL con l'etichetta Senza categoria. Si tratta di pattern URL automatici "generici" in base ai quali Firebase può aggregare i dati per le richieste che non corrispondono a nessun pattern URL più specifico.
Al termine del periodo di conservazione dei dati per i dati aggregati in un pattern URL, Firebase elimina i dati dal pattern URL. Se tutti i dati aggregati in 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 derivata. Ad esempio, puoi utilizzare un pattern URL personalizzato per risolvere i problemi di un URL specifico o per monitorare un insieme specifico di URL nel tempo.
Per saperne di più, visita Crea pattern URL personalizzati.
Monitora, visualizza e filtra i dati sul rendimento
Per visualizzare i dati sul rendimento in tempo reale, assicurati che la tua app utilizzi una versione dell'SDK Performance Monitoring compatibile con il trattamento dei dati in tempo reale. Scopri di più sui dati sul rendimento in tempo reale.
Monitora metriche specifiche nella tua dashboard
Per scoprire l'andamento delle metriche chiave, aggiungile alla bacheca delle metriche nella parte superiore della dashboard Rendimento. Puoi identificare rapidamente le regressioni visualizzando le modifiche di settimana in settimana o verificare che le modifiche recenti al codice stiano migliorando le prestazioni.
Dashboard di Firebase Performance Monitoring" />
Per aggiungere una metrica alla dashboard delle metriche:
- Vai alla dashboard Prestazioni nella console Firebase.
- Fai clic su una scheda delle metriche vuota, poi seleziona una metrica esistente da aggiungere alla dashboard.
- Fai clic su in una scheda delle metriche compilata per visualizzare altre opzioni, ad esempio per sostituire o rimuovere una metrica.
La dashboard delle metriche mostra i dati delle metriche raccolti nel tempo, sia in forma grafica sia come variazione percentuale numerica.
Scopri di più su come utilizzare la dashboard.
Visualizza le tracce e i relativi dati
Per visualizzare le tracce, vai alla dashboard Prestazioni nella console Firebase, scorri verso il basso fino alla tabella delle tracce e fai clic sulla scheda secondaria appropriata. La tabella mostra alcune metriche principali per ogni traccia e puoi persino 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 evidenzia le modifiche alle metriche, semplificando la risoluzione rapida e la riduzione al minimo dell'impatto dei problemi di prestazioni sulle tue app e sui tuoi utenti. Puoi utilizzare la pagina di risoluzione dei problemi quando vieni a conoscenza di potenziali problemi di prestazioni, ad esempio nei seguenti scenari:
- Selezioni le metriche pertinenti nella dashboard e noti un delta elevato.
- Nella tabella delle tracce, ordina i dati in modo da visualizzare i delta più grandi in alto e vedrai una variazione percentuale significativa.
- Ricevi un avviso via email che ti informa di un problema di prestazioni.
Puoi accedere alla pagina di risoluzione dei problemi nei seguenti modi:
- Nella dashboard delle metriche, fai clic sul pulsante Visualizza dettagli metrica.
- In qualsiasi scheda delle metriche, seleziona
=> Visualizza dettagli . La pagina di risoluzione dei problemi mostra informazioni sulla metrica selezionata. - 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 Indaga 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
Dati di Firebase Performance Monitoring filtrati per attributo" />
- Filtra per Versione app per visualizzare i dati relativi a una release precedente o alla release più recente.
- Filtra per Dispositivo per scoprire come i dispositivi meno recenti gestiscono la tua app
- Filtra per Paese per assicurarti che la posizione del database non influisca su una regione specifica
Scopri di più sulla visualizzazione dei dati per le 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 prestazioni nella console Firebase.
Configura gli avvisi per le richieste di rete che riducono le prestazioni della tua app. Ad esempio, puoi configurare un avviso via email per il tuo team se il tempo di risposta per un pattern di URL specifico supera una soglia impostata.
- Visualizza report dettagliati delle sessioni utente in cui puoi vedere una traccia specifica nel contesto della sequenza temporale di altre tracce raccolte durante la stessa sessione.