Monitoraggio dell'utilizzo

Questa pagina descrive come monitorare l'utilizzo di Firestore e individuare potenziali problemi nella tua app.

Dashboard di utilizzo

Usa le dashboard sull'utilizzo nella console Google Cloud e nella console Firebase per visualizzare le letture, le scritture e le eliminazioni dei documenti nel tempo.

Controllo dell'accesso

Le dashboard sull'utilizzo richiedono l'autorizzazione IAM monitoring.timeSeries.list. I ruoli di Proprietario, Editor e Visualizzatore del progetto concedono questa autorizzazione. Puoi concedere questa autorizzazione anche tramite un ruolo di Cloud Monitoring o un ruolo personalizzato.

Dashboard di utilizzo del database

Per visualizzare le metriche di utilizzo per un database Firestore, apri la pagina Utilizzo del database nella console Google Cloud.

  1. Nella console Google Cloud, vai alla pagina Database.

    Vai a Database

  2. Seleziona il database richiesto dall'elenco dei database.

  3. Nel menu di navigazione, fai clic su Utilizzo.

  4. Fai clic sul link nel messaggio visualizzato sulla pagina per visualizzare l'utilizzo del database.

    La dashboard di utilizzo del database Firestore nella console Google Cloud.

Dashboard sull'utilizzo aggregato

Se il progetto ha più database Firestore, puoi visualizzare le metriche di utilizzo aggregate nella console Google Cloud o Firebase. La dashboard sull'utilizzo a livello di progetto combina le metriche di utilizzo di tutti i tuoi database Firestore nei database in modalità Native. Questa dashboard non include l'utilizzo da Firestore in database in modalità Datastore.

Console Google Cloud

Nella console Google Cloud, vai alla pagina Utilizzo del progetto.

Vai all'utilizzo del progetto Google Cloud

La dashboard sull'utilizzo del progetto mostra le operazioni sui documenti nel tempo come segue:

Dashboard sull'utilizzo del progetto Firestore nella console Google Cloud.

Console Firebase

Vai alla pagina sull'utilizzo di Firestore (console Firebase)

Dashboard sull'utilizzo di Firestore nella console Firebase.

Dashboard di utilizzo e report sulla 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.
  • Operazioni di scrittura di sola verifica senza intervento. Scrive che verificano solo l'esistenza o la non esistenza di un documento e contribuiscono alle operazioni di lettura fatturate, ma vengono visualizzate rispettivamente come "UPDATE_NOOP" e "DELETE_NOOP" nella dashboard di utilizzo della scrittura.
  • Operazioni di scrittura autonome. 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, potrebbero 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 in rapida successione sullo stesso documento, la dashboard di utilizzo potrebbe comprimere più scritture insieme e conteggiarle come una sola. Quando viene utilizzata la fatturazione, ogni scrittura viene comunque conteggiata separatamente.

    La dashboard sull'utilizzo comprime anche le scritture per le trasformazioni dei campi, come timestamp del server, incrementi numerici e operazioni di unione degli array. Per le trasformazioni di campi, la dashboard di utilizzo potrebbe conteggiare più operazioni come una singola operazione.

  • Query che restituiscono zero risultati. Per le query senza risultati è previsto il costo di un'operazione di lettura. Questo utilizzo è fatturato, ma non viene visualizzato nella dashboard sull'utilizzo.
  • Operazioni di lettura dalle voci di indice lette. Questo utilizzo è fatturato, ma non appare nella dashboard sull'utilizzo. Ad esempio, per le query di aggregazione viene letta la fatturazione relativa alle voci di indice, ma questo utilizzo non viene visualizzato nella dashboard sull'utilizzo.

La dashboard di utilizzo per le eliminazioni non acquisisce le operazioni di scadenza automatiche eseguite dai criteri di durata (TTL). Consulta le metriche TTL di Cloud Monitoring.

Utilizzo delle regole di sicurezza

La console Firebase fornisce anche una dashboard di valutazione delle regole di sicurezza, utile per vedere a colpo d'occhio le chiamate alle regole. Puoi integrare questa dashboard con un'analisi dettagliata in Cloud Monitoring.

Vai a Regole

Dashboard di monitoraggio delle regole Firestore nella console Firebase.

Metriche di Cloud Monitoring

Cloud Monitoring raccoglie metriche, eventi e metadati dai prodotti Google Cloud. La dashboard sull'utilizzo della console Firestore riporta gli stessi dati delle metriche. Per configurare dashboard personalizzate e avvisi sull'utilizzo, utilizza Cloud Monitoring.

Cloud Monitoring include le seguenti metriche Firestore:

Nome metrica Descrizione
Operazioni di lettura documenti

Il numero di letture dei documenti riuscite. Puoi suddividere questa metrica in base al tipo di lettura: LOOKUP o QUERY.

Questa metrica non include le letture da operazioni di esportazione gestite.

Operazioni di scrittura documenti

Il numero di scritture di documenti riuscite. Puoi suddividere la metrica per tipo di scrittura: CREATE o UPDATE.

Questa metrica non include le scritture da operazioni di importazione gestita.

Operazioni di eliminazione documenti Il numero di eliminazioni di documenti riuscite.
Connessioni attive

Il numero di connessioni attive al tuo database.

Ogni SDK web e mobile attivo mantiene una singola connessione, che può essere condivisa tra più listener di snapshot. Le librerie client del server creano una connessione per listener di snapshot.

Listener snapshot

Il numero di listener snapshot in tutte le connessioni attive.

Conteggio eliminazioni time-to-live

Conteggio totale dei documenti eliminati dai criteri di durata (TTL).

Scadenza della durata (TTL) per i ritardi di eliminazione

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 a connessioni attive e listener di snapshot per misurare l'utilizzo degli aggiornamenti in tempo reale.

Supponiamo che un utente apra la tua app sul proprio smartphone. L'app si connette quindi a Firestore e sottoscrive 10 query. In questo modo, le metriche vengono aumentate di una connessione attiva e di 10 listener di snapshot.

Frequenza di campionamento

Le metriche di Firestore vengono campionate ogni minuto, ma la visualizzazione degli aggiornamenti nelle dashboard può richiedere fino a 4 minuti.

Metriche di latenza

Le metriche di latenza di backend sono disponibili tramite le metriche comuni di firestore di Google Cloud.

Ad esempio, un grafico della latenza p50 è disponibile nella visualizzazione Esplora metriche della console Cloud.

configura una dashboard di Cloud Monitoring

Per configurare una dashboard con metriche Firestore, consulta Gestire le dashboard personalizzate e Aggiungere widget alla dashboard.

Passaggi successivi