This page describes how you can monitor your Cloud Firestore usage and spot potential problems in your app.
Usage dasard
Use the usage dasards in the Google Cloud console and Firebase console to view document reads, writes, and deletes over time.
Access control
The usage dasards require the monitoring.timeSeries.list
Cloud IAM permission.
The Project Owner, Editor, and Viewer roles grant this permission. You can also grant this permission
through a Cloud Monitoring role
or a custom role.
Database usage dasard
To view usage metrics for a Cloud Firestore database, open the database Usage page in the Google Cloud console.
In the Google Cloud console, go to the Databases page.
Select the required database from the list of databases.
In the navigation menu, click Usage.
Click the link in the message that appears on the page to view your database usage.
Cloud Firestore database usage dasard in the Google Cloud console."/>
Aggregated usage dasard
If your project has multiple Cloud Firestore databases, you can view aggregated usage metrics in the Google Cloud console or Firebase console.
Google Cloud console
In the Google Cloud console, go to the Project usage page.
Go to Google Cloud project project usage
The project usage dasard shows document operations over time as follows:
Cloud Firestore project usage dasard in the Google Cloud console."/>
Firebase console
Go to the Cloud Firestore usage page (Firebase console)
Cloud Firestore usage dasard in the Firebase console."/>
Usage dasard and billing reports
The Cloud Firestore usage dasards in the Firebase and Cloud consoles provide an estimate of usage. They can help you identify spikes in usage. However, the dasard is not an exact view of billed operations. Billed usage is likely higher. In all cases of discrepancy, the billing report takes precedence over the usage dasard.
Operations that cause discrepancies between the usage dasard and billed usage include:
- Import and export operations. Reads and writes performed by these operations do not show up in the usage dasard.
- No-op verify-only writes. Writes that only verify the existence or non-existence of a document contribute to billed read operations, but they show as `UPDATE_NOOP` and `DELETE_NOOP` respectively in the write usage dasard.
- No-op writes. Operations that do not result in a change to the database, such as an update that does not change field values or a write to a deleted document may show in the usage dasard as `UPDATE_NOOP` or `DELETE_NOOP`. Even though they show as `NOOP`, they still contribute to billed operations.
Collapsed writes. In cases with multiple writes to the same document in quick succession, the usage dasard might collapse multiple writes together and count them as one. When billing usage, each write is still counted separately.
The usage dasard also collapses writes for field transforms like server timestamps, numeric increments, and array union operations. For field transforms, the usage dasard might count multiple operations as a single operation.
- Queries that return zero results. Queries with zero results incur a cost of one read operation. This usage is billed but does not appear in the usage dasard.
- Read operations from index entries read. This usage is billed but does not appear in the usage dasard. For example, aggregation queries bill for index entries read but this usage does not appear in the usage dasard.
The usage dasard for deletes does not capture automatic expiration operations performed by Time-to-live (TTL) policies. Please refer to the TTL metrics from Cloud Monitoring.
Security rule usage
Additionally, the Firebase console provides a Security Rules evaluation dasard, a useful, at-a-glance view of rules invocations. You can supplement this dasard with detailed analysis in Cloud Monitoring.
Cloud Firestore Rules
monitoring dasard in the Firebase console."/>
Cloud Monitoring metrics
Cloud Monitoring collects metrics, events, and metadata from Google Cloud products. The usage dasard in the Cloud Firestore console reports the same metrics data. To set up custom dasards and usage alerts, use Cloud Monitoring.
Cloud Monitoring includes the following Cloud Firestore metrics:
Metric Name | Description |
---|---|
Document Reads |
The number of successful document reads. You can break this metric down by the type of read: LOOKUP or QUERY. This metric does not include reads from managed export or bulk delete operations. |
Document Writes |
The number of successful document writes. You can break the metric down by the type of write: CREATE or UPDATE. This metric does not include writes from managed import operations. |
Document Deletes | The number of successful document deletes. |
Active Connections |
The number of active connections to your database. Each active mobile and web SDK maintains a single connection, which can be shared across multiple snapshot listeners. The server client libraries create one connection per snapshot listener. |
Snapshot Listeners |
The number of snapshot listeners across all active connections. |
Time-to-live deletion count |
Total count of documents deleted by Time-to-live (TTL) policies. |
Time-to-live expiration to deletion delays |
Time elapsed between when a document expired under a Time-to-live (TTL) policy and when it was actually deleted. |
- Realtime updates usage
Use the active connections and snapshot listeners metrics to measure your usage of realtime updates.
Let's say a user opens your app on their phone. The app then connects to Cloud Firestore and subscribes to 10 queries. This increases your metrics by 1 active connection and 10 snapshot listeners.
- Sampling rate
The Cloud Firestore metrics are sampled every minute, but updates may take up to 4 minutes to show up in your dasards.
Latency metrics
Backend latency metrics are available through common Google Cloud firestore metrics.
For example, a graph of p50 latency can be found in the Cloud Console's metrics explorer view.
Set up a Cloud Monitoring dasard
To view a pre-defined dasard or to set up a dasard, see Use the monitoring dasard.