Este documento descreve como capturar métricas personalizadas do cliente usando o OpenTelemetry. As métricas personalizadas do cliente estão disponíveis usando as bibliotecas de cliente Java e Go.
As métricas personalizadas do lado do cliente podem ajudar a encontrar a origem da latência no sistema. Para mais informações, consulte Pontos de latência em uma solicitação do Spanner.
As bibliotecas de cliente do Spanner também fornecem estatísticas e rastros usando o framework de observabilidade do OpenTelemetry. Para mais informações, consulte Configurar a coleta de rastros usando o OpenTelemetry.
O OpenTelemetry é um framework e um kit de ferramentas de observabilidade de código aberto que permite criar e gerenciar dados de telemetria, como traces, métricas e registros.
Antes de começar
É necessário configurar o SDK do OpenTelemetry com as opções adequadas para exportar seus dados de telemetria. Recomendamos o uso do exportador do protocolo do OpenTelemetry (OTLP, na sigla em inglês).
Para configurar métricas personalizadas do lado do cliente usando o OpenTelemetry, você precisa configurar o SDK do OpenTelemetry e o exportador OTLP:
Adicione as dependências necessárias ao app usando o seguinte código:
Java
Go
Crie um objeto do OpenTelemetry com o exportador OTLP e injete-o no Spanner usando
SpannerOptions
:Java
Go
Capturar a latência do GFE
A latência do Google Front End (GFE) é a duração em milissegundos entre o momento em que a rede do Google recebe uma chamada de procedimento remoto do cliente e quando o GFE recebe o primeiro byte da resposta.
É possível capturar a latência da GFE usando o seguinte código:
Java
Go
O exemplo de código anexa a string spanner/gfe_latency
ao nome da métrica quando ela é exportada para o Cloud Monitoring. É possível pesquisar essa métrica no
Cloud Monitoring usando a string anexada.
Capturar a latência da solicitação da API Cloud Spanner
A latência de solicitação da API Cloud Spanner é o tempo em segundos entre o primeiro byte da solicitação do cliente que o front-end da API Cloud Spanner recebe e o último byte da resposta que o front-end da API Cloud Spanner envia.
Essa métrica de latência está disponível como parte das métricas do Cloud Monitoring.
Capturar a latência de ida e volta do cliente
A latência de ida e volta do cliente é a duração em milissegundos entre o primeiro byte da solicitação da API Cloud Spanner que o cliente envia para o banco de dados (pelo GFE e pelo front-end da API Cloud Spanner) e o último byte de resposta que o cliente recebe do banco de dados.
A métrica de latência de ida e volta do cliente do Spanner não é compatível com o OpenTelemetry. Você pode conferir a métrica de latência da operação do lado do cliente. Para mais informações, consulte Descrições de métricas do lado do cliente.
Também é possível instrumentar a métrica usando o OpenCensus com uma ponte e migrar os dados para o OpenTelemetry.
Capturar latência da consulta
A latência da consulta é a duração em milissegundos para executar consultas SQL no banco de dados do Spanner.
É possível capturar a latência da consulta usando o seguinte código:
Java
Go
O exemplo de código anexa a string spanner/query_stats_elapsed
ao nome da métrica quando ela é exportada para o Cloud Monitoring. É possível pesquisar essa métrica no
Cloud Monitoring usando a string anexada.
Conferir métricas no Metrics Explorer
No console Google Cloud , acesse a página Metrics Explorer.
Selecione o projeto.
Clique em Selecionar uma métrica.
Pesquise métricas de latência usando as seguintes strings:
roundtrip_latency
: para a métrica de latência de ida e volta do cliente.spanner/gfe_latency
: para a métrica de latência do GFE.spanner/query_stats_elapsed
: para a métrica de latência da consulta.
Selecione a métrica e clique em Aplicar.
Para mais informações sobre como agrupar ou agregar a métrica, consulte Criar consultas usando menus.
A seguir
- Saiba mais sobre o OpenTelemetry.
- Saiba como configurar o SDK do OpenTelemetry.
- Saiba como migrar para o OpenTelemetry.
- Saiba como usar métricas para diagnosticar a latência.