Monitorar a atividade do Cloud Firestore

Esta página descreve como monitorar o uso do Cloud Firestore e detectar possíveis problemas no aplicativo.

Painel de uso

Use os painéis de uso no console do Google Cloud e do Firebase para visualizar leituras, gravações e exclusões de documentos ao longo do tempo.

Controle de acesso

Os painéis de uso exigem a 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 conceder essa permissão por meio de um papel do Cloud Monitoring ou de um papel personalizado.

Painel de uso de banco de dados

Para conferir as métricas de uso de um banco de dados do Cloud Firestore, abra a página Uso do banco de dados no console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Bancos de Dados.

    Acessar "Bancos de dados"

  2. Selecione o banco de dados necessário na lista de bancos de dados.

  3. No menu de navegação, clique em Uso.

  4. Clique no link da mensagem que aparece na página para visualizar o uso do seu banco de dados.

    O <span class=Painel de uso do banco de dados do Cloud Firestore no console do Google Cloud."/>

Painel de uso agregado

Caso seu projeto tenha vários bancos de dados do Cloud Firestore, será possível conferir métricas de uso agregadas no console do Google Cloud ou no console do Firebase.

Console do Google Cloud

No console do Google Cloud, acesse a página Uso do projeto.

Acessar o uso do projeto do Google Cloud

O painel de uso do projeto mostra as operações do documento ao longo do tempo da seguinte maneira:

O <span class=Painel de uso do projeto do Cloud Firestore no console do Google Cloud."/>

Console do Firebase

Acesse a página de uso do Cloud Firestore (console do Firebase)

O <span class=Painel de uso do Cloud Firestore no 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 de entradas de índice lidas. Esse uso é faturado, mas não aparece no painel de uso. Por exemplo, as consultas de agregação são faturadas para entradas de índice lidas, mas esse uso não aparece no painel de uso.

O painel de uso das exclusões não captura as operações de expiração automáticas realizadas pelas políticas de time to live (TTL). Consulte as métricas de TTL do Cloud Monitoring.

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. Você pode complementar esse painel com análise detalhada no Cloud Monitoring

Acesse "Regras"

<span class=Regras do Cloud Firestore do painel de monitoramento no console do Firebase."/>

Métricas do 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 exclusão em massa ou exportação gerenciada.

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 app se conecta ao Cloud Firestore e se inscreve em 10 consultas. Isso aumenta as métricas em 1 conexão ativa e 10 listeners de snapshots.

Taxa de amostra

As amostras das métricas do Cloud Firestore aparecem a cada minuto, mas as atualizações podem levar até quatro minutos para serem exibidas nos painéis.

Métricas de latência

As métricas de latência de back-end estão disponíveis por meio de métricas comuns do Google Cloud firestore.

Por exemplo, um gráfico de latência p50 pode ser encontrado na visualização do explorador de métricas do Console do Cloud.

Configurar um painel do Cloud Monitoring

Para conferir um painel predefinido ou configurar um painel, consulte Usar o painel de monitoramento.

A seguir