En esta página se describe cómo puedes supervisar el uso de Cloud Firestore y detectar posibles problemas en tu app. Si observas el uso de la app, tendrás una idea del importe de la próxima factura. Además, si algo parece estar fuera de lugar, contar con una imagen clara de las operaciones de la base de datos puede ser una herramienta útil para solucionar problemas.
Panel de uso
La consola de Google Cloud Platform y Firebase console incluyen un panel de uso de Cloud Firestore que muestra las operaciones de lectura, escritura y eliminación de documentos a lo largo del tiempo.
GCP Console
Ir a la página de uso de Cloud Firestore (GCP Console)
Control de acceso
El panel de uso requiere el permiso monitoring.timeSeries.list
de Cloud 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.
Firebase console
Ir a la página de uso de Cloud Firestore (Firebase console)
Informes de facturación y panel de uso
Los paneles de uso de Cloud Firestore en Firebase y Cloud Console 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 las operaciones asociadas con las consultas de agregación, como COUNT. Este uso se factura, pero no aparece en el panel de uso.
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.
Cuotas diarias
Cuando creas un proyecto de Firebase, también creas un proyecto en Google Cloud. En la página Cuotas de App Engine de GCP Console, se realiza un seguimiento de la información del uso diario de Cloud Firestore, incluidas las lecturas, las escrituras, las escrituras de índice, las eliminaciones, los datos almacenados y la salida de red.Cloud Monitoring
Cloud Monitoring recopila métricas, eventos y metadatos de los productos de Google Cloud. El panel de uso de la consola de Cloud Firestore informa los mismos datos de métrica. Para configurar paneles personalizados y alertas de uso, usa Cloud Monitoring.
Cloud Monitoring incluye las siguientes métricas de Cloud 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 Cloud 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 Cloud Firestore se muestrean cada minuto, pero las actualizaciones pueden tardar hasta 4 minutos en aparecer en tus paneles.
Configura un panel de Cloud Monitoring
Para configurar un panel con las métricas de Cloud Firestore, consulta Cómo administrar un panel personalizado y Cómo agregar widgets al panel