Neste tópico, descrevemos como examinar um componente do Spanner para encontrar a fonte da latência e visualizá-la usando o OpenTelemetry. Para uma visão geral de alto nível dos componentes deste tópico, consulte Pontos de latência em uma solicitação do Spanner.
O OpenTelemetry é um framework e um kit de ferramentas de observabilidade de código aberto que crie e gerencie dados de telemetria, como traces, métricas e registros. É o resultado de uma fusão entre o OpenTracing e o OpenCensus. Para mais informações, consulte O que é o OpenTelemetry?
As bibliotecas de cliente do Spanner oferecem métricas e traces com a usando o framework de observabilidade do OpenTelemetry. Siga o procedimento Identifique o ponto de latência para encontrar as ou componentes que estejam mostrando latência no Spanner.
Antes de começar
Antes de começar a capturar métricas de latência, conheça as práticas com o OpenTelemetry. É preciso configurar o SDK do OpenTelemetry. as opções apropriadas para exportar seus dados de telemetria. Existem várias Opções de exportador do OpenTelemetry disponíveis. Recomendamos usar o OpenTelemetry Exportador de protocolo (OTLP). Outras opções incluem o uso de um coletor OTel com o Google Cloud Exporter ou o Google Managed Service para Prometheus Exporter.
Se você estiver executando seu aplicativo no Compute Engine, poderá usar o Agente Agente para coletar métricas e traces do protocolo do OpenTelemetry. Para mais informações, consulte Coletar métricas e traces do OTLP.
Adicionar dependências
Para configurar o SDK do OpenTelemetry e o exportador do OTLP, adicione o seguinte: dependências ao aplicativo.
Java
Go
Injetar o objeto do OpenTelemetry
Depois, crie um objeto do OpenTelemetry com o exportador do OTLP e injete o
Objeto do OpenTelemetry usando SpannerOptions
.
Java
Go
Capturar e visualizar a latência de ida e volta do cliente
A latência de ida e volta do cliente é o período (em milissegundos) entre primeiro byte da solicitação da API Spanner que o cliente envia para no banco de dados (pelo GFE e pelo front-end da API Spanner), e o último byte de resposta que o cliente recebe do banco de dados.
Capturar a latência de ida e volta do cliente
A métrica de latência de ida e volta do cliente do Spanner está indisponível usando o OpenTelemetry. É possível instrumentar a métrica usando o OpenCensus com uma ponte e migrar os dados para o OpenTelemetry.
Visualizar a latência de ida e volta do cliente
Depois de recuperar as métricas, é possível visualizar a latência de ida e volta do cliente na Cloud Monitoring:
Aqui está um exemplo de gráfico que ilustra a latência do 5o percentil para o métrica de latência de ida e volta do cliente. Para alterar a latência do percentil para no 50o ou 99o percentil, use o menu Agregador.
O programa cria uma visualização chamada roundtrip_latency
. Essa string se torna parte
do nome da métrica quando ela é exportada para o Cloud Monitoring.
Capturar e visualizar a latência do GFE
A latência do Google Front End (GFE) é o período (em milissegundos) entre quando a rede do Google recebe uma chamada de procedimento remoto do cliente e quando o GFE recebe o primeiro byte da resposta.
Capturar a latência do GFE
É possível capturar métricas de latência do GFE ativando as seguintes opções usando a biblioteca de cliente do Spanner.
Java
Go
Visualizar a latência do GFE
Depois de recuperar as métricas, é possível visualizar a latência do GFE no Cloud Monitoring:
Este é um exemplo de gráfico que ilustra a agregação de distribuição a métrica de latência do GFE. Para mudar o percentil de latência para o quinto, 50o, 95o ou 99o percentil, use o menu Agregador.
O programa cria uma visualização chamada spanner/gfe_latency
. Isso
se torna parte do nome da métrica quando é exportada para o
Cloud Monitoring:
Capture e visualize a latência da solicitação da API Spanner
A latência da solicitação da API Spanner é o período (em segundos) entre o primeiro byte da solicitação que o front-end da API Spanner e o último byte da resposta que a API Spanner recebe front-end envia.
Capturar a latência de solicitação da API Spanner
Por padrão, essa latência está disponível como parte Métricas do Cloud Monitoring. Você não precisa fazer nada para capturar e exportar essas informações.
Conferir a latência da solicitação da API Spanner
Use o Metrics Explorer
ferramenta de gráfico para visualizar o gráfico
spanner.googleapis.com/api/request_latencies
no Cloud Monitoring.
Aqui está um exemplo de gráfico que ilustra a latência do 5o percentil para o Métrica de latência de solicitação da API Spanner. Para mudar o percentil latência para o 50o ou 99o percentil, use o método Agregador .
Capturar e visualizar a latência da consulta
Latência de consulta é o tempo (em milissegundos) necessário para executar um SQL consultas no banco de dados do Spanner.
Capturar latência da consulta
É possível capturar a latência da consulta nos seguintes idiomas:
Java
Go
Visualizar a latência da consulta
Depois de recuperar as métricas, é possível conferir a latência da consulta no Cloud Monitoring:
Este é um exemplo de gráfico que ilustra a agregação de distribuição a métrica de latência do GFE. Para mudar o percentil de latência para o quinto, 50o, 95o ou 99o percentil, use o menu Agregador.
O programa cria uma visualização do OpenCensus chamada query_stats_elapsed
.
Essa string se torna parte do nome da métrica quando é exportada para o
Cloud Monitoring:
A seguir
Saiba mais sobre o OpenTelemetry.
Aprenda a migrar para o OpenTelemetry.
Saiba como usar metrics para diagnosticar a latência.