O Cloud Monitoring coleta métricas, eventos e metadados de produtos do Google Cloud . Com o Cloud Monitoring, também é possível configurar painéis personalizados e alertas de uso.
Este documento orienta você no uso de métricas, no aprendizado sobre o painel de métricas personalizadas e na configuração de alertas.
Recursos monitorados
Um recurso monitorado no Cloud Monitoring representa uma entidade lógica ou física, como uma máquina virtual, um banco de dados ou um aplicativo. Os recursos monitorados contêm um conjunto exclusivo de métricas que podem ser analisadas, informadas em um painel ou usadas para criar alertas. Cada recurso também tem um conjunto de rótulos de recurso, que são pares de chave-valor com informações adicionais sobre o recurso. Os rótulos de recurso estão disponíveis para todas as métricas associadas ao recurso.
Usando a API Cloud Monitoring, a performance do Firestore no modo Datastore é monitorada com os seguintes recursos:
Recursos | Descrição | Modo de banco de dados compatível |
firestore.googleapis.com/Database (recomendado) | Tipo de recurso monitorado que fornece detalhamentos para project , location * e database_id . O marcador database_id será (default) para bancos de dados criados sem um nome específico. |
Isso se aplica aos dois modos. |
datastore_request | Tipo de recurso monitorado para projetos do Datastore e não fornece detalhamento de bancos de dados. |
Métricas
O Firestore está disponível em dois modos diferentes: Firestore nativo e Firestore no modo Datastore. Para uma comparação de recursos entre esses dois modos, consulte Escolher entre modos de banco de dados.
Para uma lista completa de métricas do Firestore no modo Datastore, consulte Métricas do Firestore no modo Datastore.
Métricas de tempo de execução do serviço
As métricas de serviceruntime
fornecem uma visão geral de alto nível do tráfego de um projeto. Essas métricas estão disponíveis para a maioria das APIs Google Cloud . O tipo de recurso monitorado consumed_api
contém essas métricas comuns. Essas métricas são coletadas a cada 30 minutos, o que resulta em dados suavizados.
Um rótulo de recurso importante para as métricas de serviceruntime
é method
. Esse rótulo representa o método RPC subjacente chamado. O método do SDK que você chama não precisa ter o mesmo nome do método RPC subjacente. O motivo é que o SDK oferece abstração de API de alto nível. No entanto, ao tentar
entender como seu aplicativo interage com o Firestore, é
importante entender as métricas com base no nome do método RPC.
Se você precisar saber qual é o método RPC subjacente para um determinado método do SDK, consulte a documentação da API.
api/request_count
Essa métrica fornece a contagem de solicitações concluídas em todos os protocolos(protocolo de solicitação, como HTTP, gRPC etc.), código de resposta (código de resposta HTTP), response_code_class
(classe do código de resposta, como 2xx, 4xx etc.) e grpc_status_code
(código de resposta gRPC numérico). Use essa métrica para observar a solicitação geral da API e calcular a taxa de erros.

Na figura 1, é possível ver as solicitações que retornam um código 2xx agrupadas por serviço e método. Os códigos 2xx são códigos de status HTTP que indicam que a solicitação foi bem-sucedida.

Na Figura 2, é possível ver commits agrupados por response_code
. Neste exemplo, só vemos respostas HTTP 200, o que implica que o banco de dados está íntegro.
Use as seguintes métricas de tempo de execução do serviço para monitorar seu banco de dados.
api/request_count no tipo de recurso datastore_request
A métrica api/request_count
também está disponível no tipo de recurso datastore_request
com detalhamentos api_method
e response_code
. Use essa métrica para aproveitar o período de amostragem mais refinado, que ajuda a detectar picos.

api/request_latencies
A métrica api/request_latencies
fornece distribuições de latência em todas as solicitações concluídas.
O Firestore registra métricas do componente Serviço do Firestore. As métricas de latência incluem o tempo entre o momento em que o Firestore recebe a solicitação e o momento em que ele termina de enviar a resposta, incluindo interações com a camada de armazenamento. Por isso, a latência de ida e volta (rtt) entre o cliente e o serviço do Firestore não está incluída nessas métricas.

api/request_sizes e api/response_sizes
As métricas api/request_sizes
e api/response_sizes
fornecem insights sobre os tamanhos de payload (em bytes). Eles podem ser úteis para entender cargas de trabalho de gravação que enviam grandes quantidades de dados ou consultas muito amplas e retornam payloads grandes.

Na Figura 5, é possível ver um mapa de calor dos tamanhos de resposta do método RunQuery
.
Podemos ver que os tamanhos são constantes, com mediana de 50 bytes e, no geral, entre 10 bytes e 100 bytes. Os tamanhos de payload são sempre medidos em bytes não compactados, sem incluir sobrecarga de controle de transmissão.
Métricas de operação de entidade
Essas métricas fornecem distribuições em bytes de tamanhos de payload para leituras (pesquisas e consultas) e gravações em um banco de dados do Firestore. Os valores representam o tamanho total do payload. Por exemplo, os resultados retornados por uma consulta.
Essas métricas são semelhantes às de api/request_sizes
e api/response_sizes
. A principal diferença é que as métricas de operação de entidade fornecem uma amostragem mais granular, mas detalhamentos menos granulares.
Por exemplo, as métricas de operação de entidade usam o recurso monitorado datastore_request
, então não há detalhamento de serviço ou método.
entity/read_sizes
: distribuição dos tamanhos das entidades lidas, agrupadas por tipo.entity/write_sizes
: distribuição dos tamanhos das entidades gravadas, agrupadas por operações.
Métricas de índice
As taxas de gravação de índice podem ser comparadas com a métrica document/write_ops_count
para entender a proporção de fanout do índice.
index/write_count
: contagem de gravações de índice.

Na Figura 7, é possível ver como a taxa de gravação de índice pode ser contrastada com a taxa de gravação de documentos. Neste exemplo, para cada gravação de documento, há aproximadamente seis gravações de índice, o que é uma taxa de fanout de índice relativamente pequena.
Métricas de TTL
As métricas de TTL estão disponíveis para o Firestore Native e o Firestore em bancos de dados no modo Datastore. Use essas métricas para monitorar o efeito da política de TTL aplicada.
entity/ttl_deletion_count
: contagem total de entidades excluídas pelos serviços de TTL.entity/ttl_expiration_to_deletion_delays
: tempo decorrido entre a expiração de uma entidade com um TTL e o momento em que ela foi excluída.Se você perceber que os atrasos na exclusão de TTL estão demorando mais de 24 horas, entre em contato com o suporte.
O que vem a seguir
- Saiba como usar o painel do Cloud Monitoring para visualizar métricas.