Monitorar o uso

Nesta página, descrevemos como monitorar o uso do 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 conferir as 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 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.

Painel de uso de banco de dados

Para conferir as métricas de uso de um banco de dados do 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 painel de uso do banco de dados do Firestore no console do Google Cloud.

Painel de uso agregado

Caso seu projeto tenha vários bancos de dados do Firestore, será possível exibir métricas de uso agregadas no console do Google Cloud ou do Firebase. O painel de uso no nível do projeto combina as métricas de uso de todos os bancos de dados do Firestore no modo nativo. Este painel não inclui o uso de bancos de dados do Firestore no modo Datastore.

Console do Google Cloud

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

Acessar "Uso de projetos do Google Cloud"

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

O painel de uso do projeto do Firestore no console do Google Cloud.

Console do Firebase

Acessar a página de uso do Firestore (Console do Firebase)

O painel de uso do Firestore no Console do Firebase.

Painel de uso e relatórios de faturamento

Os painéis de uso do 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 cobram pelas 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. É possível complementar esse painel com análises detalhadas no Cloud Monitoring.

Acesse "Regras"

Painel de monitoramento
de regras do Firestore 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 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 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 instantâneos para medir o uso de atualizações em tempo real.

Digamos que um usuário abra o aplicativo no telefone. O app se conecta ao Firestore e se inscreve em 10 consultas. Isso aumenta as métricas em 1 conexão ativa e 10 listeners instantâneos.

Taxa de amostra

As amostras das métricas do 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 nas métricas comuns do firestore do Google Cloud.

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 configurar um painel com métricas do Firestore, consulte Gerenciar painel personalizado e Adicionar widgets de painel.

A seguir