Cette page explique comment surveiller votre utilisation de Cloud Firestore et repérer les problèmes potentiels dans votre application.
Tableau de bord sur l'utilisation
Utilisez les tableaux de bord d'utilisation de la console Google Cloud et de la console Firebase pour afficher les lectures, écritures et suppressions de documents au fil du temps.
Contrôle des accès
Les tableaux de bord d'utilisation nécessitent l'autorisation Cloud IAM monitoring.timeSeries.list.
Les rôles Propriétaire du projet, Éditeur du projet et Lecteur du projet accordent cette autorisation. Vous pouvez également accorder cette autorisation via un rôle Cloud Monitoring ou un rôle personnalisé.
Tableau de bord d'utilisation de la base de données
Pour afficher les métriques d'utilisation d'une base de données Cloud Firestore, ouvrez la page Utilisation de la base de données dans la console Google Cloud.
Dans la console Google Cloud, accédez à la page Base de données.
Sélectionnez la base de données requise dans la liste des bases de données.
Dans le menu de navigation, cliquez sur Utilisation.
Cliquez sur le lien dans le message qui s'affiche sur la page pour afficher l'utilisation de votre base de données.

Tableau de bord de l'utilisation agrégée
Si votre projet comporte plusieurs bases de données Cloud Firestore, vous pouvez afficher les métriques d'utilisation agrégées dans la console Google Cloud ou la console Firebase.
Console Google Cloud
Dans la console Google Cloud, accédez à la page Utilisation du projet.
Accéder à l'utilisation du projet Google Cloud
Le tableau de bord d'utilisation du projet affiche les opérations sur les documents au fil du temps, comme suit :

Console Firebase
Accéder à la page d'utilisation de Cloud Firestore (console Firebase)

Tableau de bord d'utilisation et rapports de facturation
Les tableaux de bord d'utilisation de Cloud Firestore dans les consoles Firebase et Cloud fournissent une estimation de l'utilisation. Ils peuvent vous aider à identifier les pics d'utilisation. Toutefois, le tableau de bord n'est pas une vue exacte des opérations facturées. Le niveau d'utilisation facturé est généralement plus important. Dans tous les cas où un écart est constaté, le rapport de facturation prévaut sur le tableau de bord d'utilisation.
Opérations qui entraînent des écarts entre le tableau de bord d'utilisation et l'utilisation facturée :
- Opérations d'importation et d'exportation. Les lectures et écritures effectuées par ces opérations n'apparaissent pas dans le tableau de bord d'utilisation.
- Écritures no-ops de vérification uniquement. Les écritures qui vérifient uniquement l'existence ou l'inexistence d'un document contribuent aux opérations de lecture facturées, mais elles s'affichent respectivement sous la forme
UPDATE_NOOPetDELETE_NOOPdans le tableau de bord d'utilisation des écritures. - Écritures no-ops. Les opérations qui n'entraînent pas de modification de la base de données, telles qu'une mise à jour qui ne modifie pas les valeurs des champs ou une écriture dans un document supprimé, peuvent s'afficher dans le tableau de bord d'utilisation sous la forme
UPDATE_NOOPouDELETE_NOOP. Même s'ils sont affichés commeNOOP, ils contribuent toujours aux opérations facturées. Écritures regroupées. Si plusieurs écritures successives sont effectuées sur le même document, le tableau de bord d'utilisation peut les regrouper et ne comptabiliser qu'une seule écriture. Avec les données d'utilisation pour la facturation, chaque écriture est toujours comptabilisée individuellement.
Le tableau de bord d'utilisation regroupe également les écritures pour les transformations de champ telles que les horodatages de serveur, les incréments numériques et les opérations d'union de tableau. Pour les transformations de champ, le tableau de bord d'utilisation peut comptabiliser plusieurs opérations comme une seule et même opération.
- Requêtes ne renvoyant aucun résultat. Les requêtes sans résultat entraînent la facturation d'une opération de lecture. Bien qu'une telle utilisation soit facturée, elle n'apparaît pas dans le tableau de bord d'utilisation.
- Opérations de lecture à partir des entrées d'index lues. Cette utilisation est facturée, mais n'apparaît pas dans le tableau de bord d'utilisation. Par exemple, les requêtes d'agrégation sont facturées pour les entrées d'index lues, mais cette utilisation n'apparaît pas dans le tableau de bord d'utilisation.
- Requêtes permettant de lister les ID de collection. Le tableau de bord d'utilisation indique une opération de lecture par ID de collection, ce qui diffère de la facturation.
Le tableau de bord d'utilisation des suppressions ne capture pas les opérations d'expiration automatique effectuées par les règles de valeur TTL (Time To Live). Veuillez vous reporter aux métriques TTL de Cloud Monitoring.
Utilisation des règles de sécurité
De plus, la console Firebase fournit un tableau de bord d'évaluation des règles de sécurité Firebase, qui offre une vue d'ensemble utile des appels de règles. Vous pouvez également surveiller l'utilisation des règles de sécurité Firebase via Cloud Monitoring. Cela fournit les mêmes métriques d'évaluation des règles, ainsi que la possibilité de créer des tableaux de bord personnalisés, d'analyser les tendances et de configurer des alertes (par exemple, lorsque les requêtes refusées augmentent). Consultez la documentation de référence sur les métriques Cloud Monitoring pour obtenir la liste complète des métriques disponibles.

Cloud Monitoring métriques
Cloud Monitoring collecte des métriques, des événements et des métadonnées à partir des produits Google Cloud. Le tableau de bord d'utilisation de la console Cloud Firestore indique les mêmes données de métriques. Pour configurer des tableaux de bord et des alertes d'utilisation personnalisés, utilisez Cloud Monitoring.
Cloud Monitoring inclut les métriques Cloud Firestore suivantes :
| Nom de la métrique | Description |
|---|---|
| Lectures de documents |
Nombre de lectures de documents réussies. Vous pouvez décomposer cette métrique par type de lecture : RECHERCHE ou REQUÊTE. Cette métrique n'inclut pas les lectures issues des opérations d'exportation gérée ou de suppression groupée. |
| Écritures de documents |
Nombre d'écritures de documents réussies. Vous pouvez décomposer cette métrique par type d'écriture : CRÉATION ou MISE À JOUR. Cette métrique n'inclut pas les écritures provenant des opérations d'importation gérées. |
| Suppressions de documents | Nombre de suppressions de documents réussies. |
| Connexions actives |
Nombre de connexions actives à votre base de données. Chaque SDK mobile et Web actif conserve une connexion unique, qui peut être partagée entre plusieurs écouteurs d'instantanés. Les bibliothèques clientes du serveur créent une connexion par écouteur d'instantanés. |
| Écouteurs d'instantanés |
Nombre d'écouteurs d'instantanés sur l'ensemble des connexions actives. |
| Nombre de suppressions de la valeur TTL (Time To Live) |
Nombre total de documents supprimés par les règles de valeur TTL (Time To Live). |
| Délais entre l'expiration de la valeur TTL et la suppression |
Temps écoulé entre l'expiration d'un document en vertu d'une règle de valeur TTL (Time To Live) et sa suppression effective. |
- Utilisation des mises à jour en temps réel
Utilisez les métriques relatives aux connexions actives et aux écouteurs d'instantanés pour mesurer votre utilisation des mises à jour en temps réel.
Supposons qu'un utilisateur ouvre votre application sur son téléphone. L'application se connecte ensuite à Cloud Firestore et s'abonne à 10 requêtes. Ainsi, vos métriques augmentent d'une connexion active et de 10 écouteurs d'instantanés.
- Taux d'échantillonnage
Les métriques Cloud Firestore sont échantillonnées toutes les minutes, mais l'affichage des mises à jour dans vos tableaux de bord peut prendre jusqu'à quatre minutes.
Statistiques relatives à la latence
Les métriques de latence du backend sont disponibles via les métriques Google Cloud firestore courantes.
Par exemple, un graphique de la latence p50 est disponible dans la vue de l'explorateur de métriques de la console Cloud.
Configurer un tableau de bord Cloud Monitoring
Pour afficher un tableau de bord prédéfini ou en configurer un, consultez Utiliser le tableau de bord de surveillance.
Étape suivante
- En savoir plus sur Cloud Monitoring
- Découvrez les bonnes pratiques pour surveiller les performances de Firestore.