Este tópico descreve como examinar um componente do Spanner para encontrar a origem da latência e visualizar essa latência usando o OpenTelemetry. Para uma visão geral de alto nível dos componentes neste 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 permite criar e gerenciar dados de telemetria, como traces, métricas e registros. Ele é 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 fornecem métricas e traces com o uso do 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, familiarize-se com a instrumentação manual com o OpenTelemetry. É necessário configurar o SDK do OpenTelemetry com as opções adequadas para exportar seus dados de telemetria. Há 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, use o Agente de operações 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
Em seguida, crie um objeto do OpenTelemetry com o exportador 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 o primeiro byte da solicitação da API Spanner que o cliente envia para o banco de dados (pelo GFE e pelo front-end da API Spanner) e o último byte da 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 um 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 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 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 é 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:
Confira um exemplo de um gráfico que ilustra a agregação de distribuição da 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
. Essa string 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 recebe e o último byte da resposta que o front-end da API Spanner envia.
Capturar a latência de solicitação da API Spanner
Por padrão, essa latência está disponível como parte das 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áficos 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 a latência do percentil para o 50o ou o 99o percentil, use o menu 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 visualizar 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 a latência do percentil para o 5o, 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.
Saiba como migrar para o OpenTelemetry.
Saiba como usar métricas para diagnosticar a latência.