Veja nesta página como monitorar o uso do Cloud Firestore e detectar possíveis problemas no seu app. Analisar o uso do seu app também pode ajudar você a ter uma ideia do que esperar na sua fatura. Além disso, se algo parecer fora do normal, ter uma visão clara das operações do seu banco de dados pode ser uma ferramenta útil para a solução de problemas.
Painel de uso
O Console do Google Cloud Platform e o Console do Firebase incluem um painel de uso do Cloud Firestore que mostra leituras, gravações e exclusões de documentos ao longo do tempo.
Console do GCP
Acessar a página de uso do Cloud Firestore (Console do GCP)
Controle de acesso
O painel de uso precisa da permissão monitoring.timeSeries.list
do Cloud IAM.
Os papéis de proprietário, editor e visualizador do projeto concedem essa permissão. Você também pode concedê-la
por meio de um papel do Cloud Monitoring
ou um papel personalizado.
Console do Firebase
Acessar a página de uso do Cloud Firestore (Console do Firebase)
Painel de uso e relatórios de faturamento
Os painéis de uso do Cloud Firestore nos consoles do Firebase e do Cloud fornecem uma estimativa de uso. Eles podem ajudar você a identificar picos de uso. No entanto, o painel não oferece uma visualização exata das operações faturadas. Geralmente, o uso faturado é maior que o valor exibido no painel. Em todos os casos de discrepância, o relatório de faturamento tem prioridade sobre o painel de uso.
Estas são algumas das operações que causam discrepâncias entre o painel e o uso faturado:
- Operações de importação e exportação. As leituras e gravações realizadas por essas operações não aparecem no painel de uso.
- Gravações somente para verificação em um ambiente autônomo. As gravações que apenas verificam a existência ou não de um documento são contabilizadas como operações de leitura faturadas, mas são mostradas como "UPDATE_NOOP" e "DELETE_NOOP", respectivamente, no painel de uso de gravação.
- Gravações em um ambiente autônomo. Operações que não resultam em uma mudança no banco de dados, como uma atualização que não altera valores de campo ou uma gravação em um documento excluído, podem ser exibidas no painel de uso como "UPDATE_NOOP" ou "DELETE_NOOP". Mesmo que apareçam como "NOOP", elas ainda são contabilizadas como operações faturadas.
Gravações recolhidas. Nos casos em que há várias gravações no mesmo documento em uma sequência rápida, o painel de uso pode agrupar diversas gravações e contabilizá-las como apenas uma. No uso de faturamento, cada gravação continua sendo contada separadamente.
O painel de uso também recolhe gravações em transformações de campo, como carimbos de data/hora do servidor, incrementos numéricos e operações de união de matrizes. Para as transformações de campo, o painel pode contar várias operações como apenas uma.
- Consultas que não retornam resultados. O custo de consultas sem resultados é o de uma operação de leitura. Esse uso é faturado, mas não aparece no painel.
- Operações de leitura associadas a consultas de agregação, como COUNT. Esse uso é faturado, mas não aparece no painel.
Uso da regra de segurança
Além disso, o Console do Firebase fornece um painel de avaliação das regras de segurança, uma visualização rápida e útil das invocações de regras. É possível complementar esse painel com análises detalhadas no Cloud Monitoring.
Cotas diárias
Quando você cria um projeto do Firebase, também cria um no Google Cloud. A página Cotas do App Engine no Console do GCP acompanha as informações de uso diárias do Cloud Firestore, incluindo leituras, gravações, gravações de índice, exclusões, dados armazenados e saída de rede.Cloud Monitoring
O Cloud Monitoring coleta métricas, eventos e metadados de produtos do Google Cloud. O painel de uso no Console do Cloud Firestore informa os mesmos dados de métricas. Para configurar alertas de uso e painéis personalizados, use o Cloud Monitoring.
O Cloud Monitoring inclui as seguintes métricas do Cloud Firestore:
Nome da métrica | Descrição |
---|---|
Leituras de documento |
O número de leituras de documentos bem-sucedidas. É possível separar essa métrica pelo tipo de leitura: PESQUISA ou CONSULTA. Essa métrica não inclui leituras de operações de exportação gerenciadas. |
Gravações de documento |
O número de gravações de documentos bem-sucedidas. É possível separar a métrica pelo tipo de gravação: CRIAR ou ATUALIZAR. Essa métrica não inclui gravações de operações de importação gerenciadas. |
Exclusões de documento | O número de exclusões de documentos bem-sucedidas. |
Conexões ativas |
O número de conexões ativas no seu banco de dados. Cada SDK para Web e dispositivos móveis ativo mantém uma única conexão, que pode ser compartilhada entre vários listeners de snapshots. As bibliotecas de cliente do servidor criam uma conexão por listener. |
Listeners de snapshots |
O número de listeners de snapshots em todas as conexões ativas. |
Contagem de exclusões por time to live |
Contagem total de documentos excluídos pelas políticas de time to live (TTL). |
Atraso entre a expiração de time to live e a exclusão |
Tempo decorrido entre a expiração de um documento de acordo com uma política de time to live (TTL) e o momento em que ele foi excluído. |
- Uso de atualizações em tempo real
Use as métricas de conexões ativas e listeners de snapshots para medir o uso das atualizações em tempo real.
Digamos que um usuário abra o aplicativo no telefone. O aplicativo se conecta ao Cloud Firestore e assina 10 consultas. Isso aumenta as métricas em 1 conexão ativa e 10 listeners de snapshots.
- Taxa de amostragem
As amostras das métricas do Cloud Firestore aparecem a cada minuto, mas as atualizações podem levar até quatro minutos para serem mostradas nos painéis.
Configurar um painel do Cloud Monitoring
Para configurar um painel com métricas do Cloud Firestore, consulte Gerenciar painel personalizado e Adicionar widgets de painel.