Monitorize a utilização

Esta página descreve como pode monitorizar a sua utilização do Firestore e detetar potenciais problemas na sua app.

Painel de controlo de utilização

Use os painéis de controlo de utilização na Google Cloud consola e na consola do Firebase para ver leituras, gravações e eliminações de documentos ao longo do tempo.

Controlo de acesso

Os painéis de controlo de utilização requerem a autorização de IAM monitoring.timeSeries.list. As funções de proprietário, editor e leitor do projeto concedem esta autorização. Também pode conceder esta autorização através de uma função do Cloud Monitoring ou de uma função personalizada.

Painel de controlo de utilização da base de dados

Para ver as métricas de utilização de uma base de dados do Firestore, abra a página Utilização da base de dados na Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

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

  4. Clique no link na mensagem apresentada na página para ver a utilização da base de dados.

    O painel de controlo de utilização da base de dados do Firestore na consola Google Cloud .

Painel de controlo de utilização agregada

Se o seu projeto tiver várias bases de dados do Firestore, pode ver as métricas de utilização agregadas na Google Cloud consola ou na consola do Firebase.

Google Cloud consola

Na Google Cloud consola, aceda à página Utilização do projeto.

Aceda ao Google Cloud projeto de utilização do projeto

O painel de controlo de utilização do projeto mostra as operações de documentos ao longo do tempo da seguinte forma:

O painel de controlo de utilização do projeto do Firestore na consola Google Cloud .

consola do Firebase

Aceda à página de utilização do Firestore (consola do Firebase)

O painel de controlo de utilização do Firestore na consola do Firebase.

Painel de controlo de utilização e relatórios de faturação

Os painéis de controlo de utilização do Firestore nas consolas do Firebase e do Google Cloud fornecem uma estimativa da utilização. Podem ajudar a identificar picos de utilização. No entanto, o painel de controlo não é uma vista exata das operações faturadas. A utilização faturada é provavelmente superior. Em todos os casos de discrepância, o relatório de faturação tem precedência sobre o painel de controlo de utilização.

As operações que causam discrepâncias entre o painel de controlo de utilização e a utilização faturada incluem:

  • Operações de importação e exportação. As leituras e as escritas realizadas por estas operações não são apresentadas no painel de controlo de utilização.
  • Gravações de validação apenas de não operação. As escritas que apenas verificam a existência ou a não existência de um documento contribuem para as operações de leitura faturadas, mas são apresentadas como `UPDATE_NOOP` e `DELETE_NOOP`, respetivamente, no painel de controlo de utilização de escrita.
  • Escritas de ambiente autónomo. As operações que não resultam numa alteração à base de dados, como uma atualização que não altera os valores dos campos ou uma gravação num documento eliminado, podem ser apresentadas no painel de controlo de utilização como "UPDATE_NOOP" ou "DELETE_NOOP". Mesmo que sejam apresentadas como "NOOP", continuam a contribuir para as operações faturadas.
  • Escritas reduzidas. Nos casos com várias escritas no mesmo documento em rápida sucessão, o painel de controlo de utilização pode reduzir várias escritas e contá-las como uma. Quando a utilização é faturada, cada gravação continua a ser contabilizada separadamente.

    O painel de controlo de utilização também reduz as gravações para transformações de campos, como datas/horas do servidor, incrementos numéricos e operações de união de matrizes. Para transformações de campos, o painel de controlo de utilização pode contabilizar várias operações como uma única operação.

  • Consultas que não devolvem resultados. As consultas com zero resultados incorrem num custo de uma operação de leitura. Esta utilização é faturada, mas não aparece no painel de controlo de utilização.
  • Operações de leitura de entradas de índice lidas. Esta utilização é faturada, mas não aparece no painel de controlo de utilização. Por exemplo, as consultas de agregação são faturadas pelas entradas de índice lidas, mas esta utilização não aparece no painel de controlo de utilização.

O painel de controlo de utilização para eliminações não capta as operações de expiração automática realizadas pelas políticas de tempo de vida (TTL). Consulte as métricas de TTL do Cloud Monitoring.

Utilização de regras de segurança

Além disso, a consola do Firebase oferece um painel de controlo de avaliação das regras de segurança do Firebase, uma vista rápida e útil das invocações de regras. Também pode monitorizar a utilização das regras de segurança do Firebase através do Cloud Monitoring. Isto fornece as mesmas métricas de avaliação de regras, juntamente com a capacidade de criar painéis de controlo personalizados, analisar tendências e configurar alertas (por exemplo, quando os pedidos recusados aumentam). Consulte a referência de métricas do Cloud Monitoring para ver a lista completa de métricas disponíveis.

Aceda a Regras

Painel de controlo de monitorização das regras do Firestore na consola do Firebase.

Métricas do Cloud Monitoring

O Cloud Monitoring recolhe métricas, eventos e metadados de Google Cloud produtos. O painel de controlo de utilização na consola do Firestore comunica os mesmos dados de métricas. Para configurar painéis de controlo personalizados e alertas de utilização, use o Cloud Monitoring.

O Cloud Monitoring inclui as seguintes métricas do Firestore:

Nome da métrica Descrição
Leituras de documentos

O número de leituras de documentos bem-sucedidas. Pode discriminar esta métrica pelo tipo de leitura: LOOKUP ou QUERY.

Esta métrica não inclui leituras de operações de exportação geridas ou eliminação em massa.

Escritas do documento

O número de escritas de documentos bem-sucedidas. Pode discriminar a métrica pelo tipo de gravação: CREATE ou UPDATE.

Esta métrica não inclui gravações de operações de importação geridas.

Eliminações de documentos O número de eliminações de documentos bem-sucedidas.
Ligações ativas

O número de ligações ativas à sua base de dados.

Cada SDK para dispositivos móveis e Web ativo mantém uma única ligação, que pode ser partilhada entre vários ouvintes de instantâneos. As bibliotecas de cliente do servidor criam uma ligação por ouvinte de instantâneo.

Ouvintes de instantâneos

O número de ouvintes de instantâneos em todas as associações ativas.

Contagem de eliminações de tempo de vida

Número total de documentos eliminados pelas políticas de tempo de vida (TTL).

Atrasos na eliminação devido à expiração do tempo de vida

Tempo decorrido entre a data de expiração de um documento ao abrigo de uma política de tempo de vida (TTL) e a data em que foi efetivamente eliminado.

Utilização de atualizações em tempo real

Use as métricas de ligações ativas e de ouvintes de instantâneos para medir a sua utilização das atualizações em tempo real.

Suponhamos que um utilizador abre a sua app no telemóvel. Em seguida, a app liga-se ao Firestore e subscreve 10 consultas. Isto aumenta as suas métricas em 1 ligação ativa e 10 ouvintes de instantâneos.

Taxa de amostragem

As métricas do Firestore são amostradas a cada minuto, mas as atualizações podem demorar até 4 minutos a aparecer nos seus painéis de controlo.

Métricas de latência

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

Por exemplo, pode encontrar um gráfico da latência p50 na vista do explorador de métricas da Cloud Console.

Configure um painel de controlo do Cloud Monitoring

Para ver um painel de controlo predefinido ou configurar um painel de controlo, consulte o artigo Use o painel de controlo de monitorização.

O que se segue?