Surveiller l'activité de Cloud Firestore

Cette page décrit comment vous pouvez surveiller votre utilisation de Cloud Firestore et détecter les problèmes potentiels dans votre application.

Tableau de bord d'utilisation

Utilisez les tableaux de bord d'utilisation dans la console Google Cloud Platform et la console Firebase pour afficher les lectures, écritures et suppressions de documents au fil du temps.

Contrôle d'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 et Visualiseur 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 GCP.

  1. Dans la console Google Cloud Platform, accédez à la page Bases de données .

    Aller aux bases de données

  2. Sélectionnez la base de données requise dans la liste des bases de données.

  3. Dans le menu de navigation, cliquez sur Utilisation .

  4. Cliquez sur le lien dans le message qui apparaît sur la page pour afficher l'utilisation de votre base de données.

    Le tableau de bord d'utilisation de la base de données Cloud Firestore dans la console GCP.

Tableau de bord d'utilisation agrégé

Si votre projet dispose de plusieurs bases de données Cloud Firestore, vous pouvez afficher les métriques d'utilisation agrégées dans la console GCP ou la console Firebase.

Console GCP

Dans la console Google Cloud Platform, accédez à la page Utilisation du projet .

Accédez à l'utilisation du projet du projet GCP

Le tableau de bord d'utilisation du projet affiche les opérations sur les documents au fil du temps, comme suit :

Tableau de bord d'utilisation du projet Cloud Firestore dans la console GCP.

Console Firebase

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

Le tableau de bord d'utilisation de Cloud Firestore dans la 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. Cependant, le tableau de bord ne donne pas une vue exacte des opérations facturées. L'utilisation facturée est probablement plus élevée. Dans tous les cas de divergence, le rapport de facturation prime sur le tableau de bord d'utilisation.

Les opérations qui entraînent des écarts entre le tableau de bord d'utilisation et l'utilisation facturée incluent :

  • 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 sans vérification uniquement. Les écritures qui vérifient uniquement l'existence ou la non-existence d'un document contribuent aux opérations de lecture facturées, mais elles s'affichent respectivement sous la forme « UPDATE_NOOP » et « DELETE_NOOP » dans le tableau de bord d'utilisation des écritures.
  • No-op écrit. 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_NOOP » ou « DELETE_NOOP ». Même s'ils s'affichent sous la forme « NOOP », ils contribuent néanmoins aux opérations facturées.
  • Écrits effondrés. Dans le cas de plusieurs écritures successives dans le même document, le tableau de bord d'utilisation peut regrouper plusieurs écritures et les compter comme une seule. Lors de la facturation de l'utilisation, chaque écriture est toujours comptée séparément.

    Le tableau de bord d'utilisation réduit également les écritures pour les transformations de champs telles que les horodatages du 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 compter plusieurs opérations comme une seule opération.

  • Requêtes qui renvoient aucun résultat. Les requêtes sans résultat entraînent le coût d’une opération de lecture. Cette utilisation est facturée mais n'apparaît pas dans le tableau de bord des utilisations.
  • Opérations de lecture associées aux requêtes d'agrégation telles que COUNT. Cette utilisation est facturée mais n'apparaît pas dans le tableau de bord des utilisations.

Le tableau de bord d'utilisation des suppressions ne capture pas les opérations d'expiration automatique effectuées par les stratégies de durée de vie (TTL). Veuillez vous référer 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é, une vue utile en un coup d'œil des invocations de règles. Vous pouvez compléter ce tableau de bord avec une analyse détaillée dans Cloud Monitoring .

Aller aux règles

Tableau de bord de surveillance des règles Cloud Firestore dans la console Firebase.

Métriques de surveillance du cloud

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 rapporte les mêmes données de métriques. Pour configurer des tableaux de bord personnalisés et des alertes d'utilisation, utilisez Cloud Monitoring.

Cloud Monitoring inclut les métriques Cloud Firestore suivantes :

Nom de la métrique Description
Lectures de documents

Le nombre de lectures réussies du document. Vous pouvez décomposer cette métrique par type de lecture : RECHERCHE ou QUERY.

Cette métrique n'inclut pas les lectures des opérations d'exportation gérées.

Écritures de documents

Nombre d'écritures de documents réussies. Vous pouvez décomposer la métrique par type d'écriture : CREATE ou UPDATE.

Cette métrique n’inclut pas les écritures provenant des opérations d’importation gérées.

Suppressions de documents Le nombre de suppressions de documents réussies.
Connexions actives

Le nombre de connexions actives à votre base de données.

Chaque SDK mobile et Web actif maintient une connexion unique, qui peut être partagée entre plusieurs écouteurs d'instantanés. Les bibliothèques client du serveur créent une connexion par écouteur d'instantané.

Écouteurs d'instantanés

Nombre d'écouteurs d'instantanés sur toutes les connexions actives.

Nombre de suppressions de durée de vie

Nombre total de documents supprimés par les stratégies de durée de vie (TTL) .

Expiration de la durée de vie des délais de suppression

Temps écoulé entre le moment où un document a expiré selon une stratégie de durée de vie (TTL) et le moment où il a été réellement supprimé.

Utilisation des mises à jour en temps réel

Utilisez les métriques des connexions actives et des écouteurs d'instantanés pour mesurer votre utilisation des mises à jour en temps réel .

Disons qu'un utilisateur ouvre votre application sur son téléphone. L'application se connecte ensuite à Cloud Firestore et s'abonne à 10 requêtes. Cela augmente vos métriques de 1 connexion active et de 10 écouteurs d'instantanés.

Taux d'échantillonnage

Les métriques Cloud Firestore sont échantillonnées toutes les minutes, mais les mises à jour peuvent prendre jusqu'à 4 minutes pour s'afficher dans vos tableaux de bord.

Métriques de latence

Les métriques de latence du backend sont disponibles via les métriques Firestore courantes de Google Cloud.

Par exemple, un graphique de la latence p50 peut être trouvé dans la vue de l'explorateur de métriques de Cloud Console.

Configurer un tableau de bord Cloud Monitoring

Pour configurer un tableau de bord avec des métriques Cloud Firestore, consultez Gérer un tableau de bord personnalisé et Ajouter des widgets de tableau de bord .

Et après