Supervisa el uso

En esta página, se describe cómo puedes supervisar tu uso de Firestore y detectar posibles problemas en tu app.

Panel de uso

Usa los paneles de uso en la consola de Google Cloud y Firebase console para ver operaciones de lectura, escritura y eliminación de documentos con el tiempo.

Control de acceso

Los paneles de uso requieren el permiso monitoring.timeSeries.list de IAM. Las funciones de propietario, editor y lector del proyecto otorgan este permiso. También puedes otorgar este permiso a través de una función de Cloud Monitoring o una función personalizada.

Panel de uso de la base de datos

Para ver las métricas de uso de una base de datos de Firestore, abre la página Uso de la base de datos en la consola de Google Cloud.

  1. En la consola de Google Cloud, ve a la página Bases de datos.

    Ir a Bases de datos

  2. Selecciona la base de datos requerida de la lista.

  3. En el menú de navegación, haz clic en Uso.

  4. Haz clic en el vínculo del mensaje que aparece en la página para ver el uso de tu base de datos.

    El panel de uso de la base de datos de Firestore en la consola de Google Cloud

Panel de uso agregado

Si tu proyecto tiene varias bases de datos de Firestore, puedes ver las métricas de uso agregado en la consola de Google Cloud o en Firebase console. El panel de uso a nivel de proyecto combina las métricas de uso de todas tus Firestore en modo nativo con bases de datos. Este panel no incluye el uso de las bases de datos de Firestore en modo Datastore.

Consola de Google Cloud

En la consola de Google Cloud, ve a la página Uso del proyecto.

Ir a Uso de proyectos de un proyecto de Google Cloud

El panel de uso del proyecto muestra las operaciones de los documentos a lo largo del tiempo de la siguiente manera:

El panel de uso del proyecto de Firestore en la consola de Google Cloud.

Firebase console

Ir a la página de uso de Firestore (Firebase console)

El panel de uso de Firestore en Firebase console

Informes de facturación y panel de uso

Los paneles de uso de Firestore en Firebase y la consola de Cloud proporcionan estimaciones del uso. Con ellos, puedes identificar las alzas repentinas. Sin embargo, no proporcionan una visión exacta de las operaciones facturadas. Es probable que el uso facturado sea más alto. En todos los casos en que haya discrepancias, el informe de facturación tiene prioridad sobre el panel de uso.

Estas son algunas de las operaciones que causan discrepancias entre el panel de uso y el uso facturado:

  • Operaciones de importación y exportación. Las operaciones de lectura y escritura que realizan estas operaciones no aparecen en el panel de uso.
  • Escrituras no-op solo con verificación. Las operaciones de escritura que solo verifican la existencia o inexistencia de un documento contribuyen a las operaciones de lectura facturadas, pero se muestran como “UPDATE_NOOP” y “DELETE_NOOP”, respectivamente en el panel de uso de escritura.
  • Escrituras no-op. Las operaciones que no generan cambios en la base de datos, como una actualización que no modifica los valores de los campos o una escritura en un documento borrado, pueden aparecer en el panel de uso como “UPDATE_NOOP” o “DELETE_NOOP”. Aunque se muestran como “NOOP”, siguen contribuyendo a las operaciones facturadas.
  • Escrituras contraídas. Si se realizan varias lecturas a un mismo documento rápidamente, el panel de uso puede contraer varias escrituras y contarlas como una sola. Cuando se usa la facturación, cada escritura se cuenta por separado.

    El panel de uso también contrae las escrituras para transformaciones de campo, como marcas de tiempo del servidor, incrementos numéricos y operaciones de unión de arrays. Para las transformaciones de campo, es posible que el panel de uso cuente varias operaciones como una sola operación.

  • Búsquedas que no muestran resultados. Las búsquedas sin resultados incurren en el costo de una operación de lectura. Este uso se factura, pero no aparece en el panel.
  • Lee operaciones de lectura de entradas de índice. Este uso se factura, pero no aparece en el panel de uso. Por ejemplo, las consultas de agregación facturan las entradas de índice leídas, pero este uso no aparece en el panel de uso.

El panel de uso para eliminaciones no capta las operaciones de vencimiento automáticas que realizan las políticas de tiempo de actividad (TTL). Consulta las métricas de TTL de Cloud Monitoring.

Uso de reglas de seguridad

Además, Firebase console proporciona un panel de evaluación de reglas de seguridad, una vista rápida y útil de las invocaciones de reglas. Puedes complementar este panel con un análisis detallado en Cloud Monitoring.

Ve a Reglas.

Panel de supervisión de reglas de Firestore en Firebase console

Métricas de Cloud Monitoring

Cloud Monitoring recopila métricas, eventos y metadatos de los productos de Google Cloud. El panel de uso en Firestore console informa los mismos datos de métricas. Para configurar paneles personalizados y alertas de uso, usa Cloud Monitoring.

Cloud Monitoring incluye las siguientes métricas de Firestore:

Nombre de la métrica Descripción
Operaciones de lectura de documentos

Es la cantidad de operaciones de lectura de documentos realizadas correctamente. Puedes desglosar esta métrica según el tipo de lectura: LOOKUP o QUERY.

Esta métrica no incluye las lecturas de las operaciones de exportación administradas.

Operaciones de escritura de documentos

Es la cantidad de operaciones de escritura de documentos realizadas correctamente. Puedes desglosar esta métrica según el tipo de escritura: CREATE o UPDATE.

Esta métrica no incluye las escrituras de operaciones de importación administradas.

Operaciones de eliminación de documentos Es la cantidad de eliminaciones correctas de documentos.
Conexiones activas

Es la cantidad de conexiones activas a tu base de datos.

Cada SDK web y para dispositivos móviles activo mantiene una sola conexión que puede compartirse entre varios objetos de escucha de instantáneas. Las bibliotecas cliente del servidor crean una conexión por cada objeto de escucha de instantáneas.

Objetos de escucha de instantáneas

Es la cantidad de objetos de escucha de instantáneas de todas las conexiones activas.

Recuento de eliminaciones del tiempo de actividad

Recuento total de documentos borrados según las políticas de tiempo de actividad (TTL).

Retrasos entre el vencimiento del tiempo de actividad y la eliminación

Tiempo transcurrido entre el vencimiento de un documento conforme a la política de tiempo de actividad (TTL)y el momento en que se borró.

Uso de actualizaciones en tiempo real

Utiliza las métricas de objetos de escucha de instantáneas y conexiones activas para medir tu uso de actualizaciones en tiempo real.

Supongamos que un usuario abre tu app en su teléfono. Luego, la app se conecta a Firestore y se suscribe a 10 consultas. Con esto, tus métricas aumentan en 1 conexión activa y 10 objetos de escucha de instantáneas.

Tasa de muestreo

Las métricas de Firestore se muestran cada minuto, pero las actualizaciones pueden tardar hasta 4 minutos en aparecer en los paneles.

Métricas de latencia

Las métricas de latencia del backend están disponibles a través de las métricas comunes de firestore de Google Cloud.

Por ejemplo, un gráfico de latencia p50 se puede encontrar en la vista del explorador de métricas de la consola de Cloud.

Configura un panel de Cloud Monitoring

Para configurar un panel con las métricas de Firestore, consulta Cómo administrar un panel personalizado y Cómo agregar widgets al panel.

¿Qué sigue?