Monitorare l'utilizzo
Questa pagina descrive come monitorare l'utilizzo di Firestore e individuare potenziali problemi nella tua app.
Dashboard sull'utilizzo
Utilizza le dashboard sull'utilizzo nella console Google Cloud e nella Console Firebase per visualizzare le letture, le scritture ed eliminazioni dei documenti nel tempo.
Controllo degli accessi
Le dashboard di utilizzo richiedono l'autorizzazione IAM monitoring.timeSeries.list
.
I ruoli Proprietario progetto, Editor e Visualizzatore concedono questa autorizzazione. Puoi anche concedere questa autorizzazione tramite un ruolo Cloud Monitoring o un ruolo personalizzato.
Dashboard sull'utilizzo del database
Per visualizzare le metriche di utilizzo per un database Firestore, apri la pagina Utilizzo del database nella console Google Cloud.
Nella console Google Cloud, vai alla pagina Database.
Seleziona il database richiesto dall'elenco dei database.
Nel menu di navigazione, fai clic su Utilizzo.
Fai clic sul link nel messaggio visualizzato nella pagina per visualizzare l'utilizzo del database.
Dashboard dell'utilizzo aggregato
Se il tuo progetto ha più database Firestore, puoi visualizzare le metriche di utilizzo aggregate nella console Google Cloud o nella console Firebase. La dashboard di utilizzo a livello di progetto combina le metriche di utilizzo di tutti i database Firestore in modalità Native. Questa dashboard non include l'utilizzo dei database Firestore in modalità Datastore.
Console Google Cloud
Nella console Google Cloud, vai alla pagina Utilizzo del progetto.
Andare all'utilizzo del progetto Google Cloud
La dashboard di utilizzo del progetto mostra le operazioni sui documenti nel tempo come segue:
Console Firebase
Dashboard di utilizzo e report di fatturazione
Le dashboard sull'utilizzo di Firestore nelle console Firebase e Cloud forniscono una stima dell'utilizzo. Possono aiutarti a identificare picchi di utilizzo. Tuttavia, la dashboard non offre una visualizzazione esatta delle operazioni fatturate. L'utilizzo fatturato è probabilmente più elevato. In tutti i casi di discrepanza, il report di fatturazione ha la precedenza sulla dashboard sull'utilizzo.
Le operazioni che causano discrepanze tra la dashboard di utilizzo e l'utilizzo fatturato includono:
- Operazioni di importazione ed esportazione. Le letture e le scritture eseguite da queste operazioni non vengono visualizzate nella dashboard di utilizzo.
- Scritture di sola verifica senza operazioni. Le scritture che verificano solo l'esistenza o la non esistenza di un documento contribuiscono alle operazioni di lettura fatturate, ma vengono visualizzate rispettivamente come "UPDATE_NOOP" e "DELETE_NOOP" nella dashboard di utilizzo della scrittura.
- Scritture no-op. Le operazioni che non comportano una modifica al database, come un aggiornamento che non modifica i valori dei campi o una scrittura in un documento eliminato, possono essere visualizzate nella dashboard di utilizzo come "UPDATE_NOOP" o "DELETE_NOOP". Anche se vengono visualizzate come "NOOP", contribuiscono comunque alle operazioni fatturate.
Scritture compresse. In caso di più scritture nello stesso documento in rapida successione, la dashboard di utilizzo potrebbe comprimere più scritture e conteggiarle come una sola. Quando viene fatturato l'utilizzo, ogni scrittura viene comunque conteggiata separatamente.
La dashboard di utilizzo comprime anche le scritture per le trasformazioni dei campi, come i timestamp del server, gli incrementi numerici e le operazioni di unione di array. Per le trasformazioni dei campi, la dashboard di utilizzo potrebbe conteggiare più operazioni come un'unica operazione.
- Query che non restituiscono risultati. Le query con zero risultati comportano un costo di un'operazione di lettura. Questo utilizzo viene fatturato, ma non viene visualizzato nella dashboard di utilizzo.
- Operazioni di lettura da Voci dell'indice lette. Questo utilizzo viene fatturato, ma non viene visualizzato nella dashboard di utilizzo. Ad esempio, le query di aggregazione vengono fatturate per le voci dell'indice lette, ma questo utilizzo non viene visualizzato nella dashboard di utilizzo.
La dashboard di utilizzo per le eliminazioni non acquisisce le operazioni di scadenza automatica eseguite dalle policy di durata (TTL). Fai riferimento alle metriche TTL di Cloud Monitoring.
Utilizzo delle regole di sicurezza
Inoltre, la console Firebase fornisce una dashboard di valutazione delle regole di sicurezza, una visualizzazione rapida e utile delle invocazioni delle regole. Puoi integrare questa dashboard con analisi dettagliate in Cloud Monitoring.
Metriche di Cloud Monitoring
Cloud Monitoring raccoglie metriche, eventi e metadati dai prodotti Google Cloud. La dashboard sull'utilizzo nella console Firestore riporta gli stessi dati delle metriche. Per configurare dashboard e avvisi sull'utilizzo personalizzati, utilizza Cloud Monitoring.
Cloud Monitoring include le seguenti metriche di Firestore:
Nome metrica | Descrizione |
---|---|
Operazioni di lettura documenti |
Il numero di letture di documenti riuscite. Puoi suddividere questa metrica in base al tipo di lettura: LOOKUP o QUERY. Questa metrica non include le letture delle operazioni di esportazione gestita o di eliminazione collettiva. |
Operazioni di scrittura documenti |
Il numero di scritture di documenti riuscite. Puoi suddividere la metrica in base al tipo di scrittura: CREATE o UPDATE. Questa metrica non include le scritture delle operazioni di importazione gestite. |
Operazioni di eliminazione documenti | Il numero di eliminazioni di documenti riuscite. |
Connessioni attive |
Il numero di connessioni attive al database. Ogni SDK mobile e web attivo gestisce una singola connessione, che può essere condivisa tra più listener snapshot. Le librerie client del server creano una connessione per ogni listener di istantanea. |
Listener snapshot |
Il numero di listener snapshot in tutte le connessioni attive. |
Conteggio delle eliminazioni per Durata (TTL) |
Conteggio totale dei documenti eliminati in base ai criteri di durata (TTL). |
Ritardi dall'eliminazione alla scadenza del TTL |
Tempo trascorso tra la scadenza di un documento in base a un criterio di durata (TTL) e il momento in cui è stato effettivamente eliminato. |
- Utilizzo degli aggiornamenti in tempo reale
Utilizza le metriche relative alle connessioni attive e ai listener snapshot per misurare il tuo utilizzo degli aggiornamenti in tempo reale.
Supponiamo che un utente apra la tua app sul suo smartphone. L'app si connette quindi a Firestore e si iscrive a 10 query. In questo modo, le tue metriche vengono incrementate di 1 connessione attiva e 10 listener snapshot.
- Frequenza di campionamento
Le metriche di Firestore vengono campionate ogni minuto, ma potrebbero essere necessari fino a 4 minuti prima che gli aggiornamenti vengano visualizzati nelle dashboard.
Metriche di latenza
Le metriche sulla latenza del backend sono disponibili tramite le metriche comuni di Firestore di Google Cloud.
Ad esempio, un grafico della latenza p50 è disponibile nella visualizzazione Esplora metriche di Cloud Console.
Configurare una dashboard di Cloud Monitoring
Per visualizzare una dashboard predefinita o per configurarne una, consulta Utilizzare la dashboard di monitoraggio.
Passaggi successivi
- Scopri di più su Cloud Monitoring.
- Scopri le best practice per il monitoraggio del rendimento di Firestore.