Este documento descreve como capturar métricas de cliente personalizadas através do OpenTelemetry. As métricas do cliente personalizadas estão disponíveis através das bibliotecas cliente Java e Go.
As métricas personalizadas do lado do cliente podem ajudar a encontrar a origem da latência no seu sistema. Para mais informações, consulte o artigo Pontos de latência num pedido do Spanner.
As bibliotecas cliente do Spanner também fornecem estatísticas e rastreios através da framework de observabilidade OpenTelemetry. Para mais informações, consulte o artigo Configure a recolha de rastreios através do OpenTelemetry.
O OpenTelemetry é uma estrutura e um conjunto de ferramentas de observabilidade de código aberto que lhe permitem criar e gerir dados de telemetria, como rastreios, métricas e registos.
Antes de começar
Tem de configurar o SDK do OpenTelemetry com as opções adequadas para exportar os seus dados de telemetria. Recomendamos que use o exportador do protocolo OpenTelemetry (OTLP).
Para configurar métricas personalizadas do lado do cliente com o OpenTelemetry, tem de configurar o SDK do OpenTelemetry e o exportador OTLP:
Adicione as dependências necessárias à sua aplicação através do seguinte código:
Java
Go
Crie um objeto OpenTelemetry com o exportador OTLP e injete-o no Spanner através de
SpannerOptions
:Java
Go
Capture a latência do GFE
A latência do front-end da Google (GFE) é a duração em milissegundos entre o momento em que a rede Google recebe uma chamada de procedimento remoto do cliente e o momento em que o GFE recebe o primeiro byte da resposta.
Pode capturar a latência do GFE através do seguinte código:
Java
Go
A app de exemplo de código anexa a string spanner/gfe_latency
ao nome da métrica quando
é exportada para o Cloud Monitoring. Pode pesquisar esta métrica no Cloud Monitoring através da string anexada.
Capture a latência dos pedidos da API Cloud Spanner
A latência do pedido da API Cloud Spanner é o tempo em segundos entre o primeiro byte do pedido 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.
Esta métrica de latência está disponível como parte das métricas do Cloud Monitoring.
Capture 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 do pedido da API Cloud Spanner que o cliente envia para a base de dados (através do GFE e do front-end da API Cloud Spanner) e o último byte da resposta que o cliente recebe da base de dados.
A métrica de latência de ida e volta do cliente do Spanner não é suportada com o OpenTelemetry. Em alternativa, pode ver a métrica do lado do cliente de latência da operação. Para mais informações, consulte as descrições das métricas por parte do cliente.
Também pode instrumentar a métrica através do OpenCensus com uma ponte e migrar os dados para o OpenTelemetry.
Capture a latência da consulta
A latência de consulta é a duração em milissegundos para executar consultas SQL na base de dados do Spanner.
Pode capturar a latência da consulta através do seguinte código:
Java
Go
A app de exemplo de código anexa a string spanner/query_stats_elapsed
ao nome da métrica quando
é exportada para o Cloud Monitoring. Pode pesquisar esta métrica no Cloud Monitoring através da string anexada.
Veja métricas no explorador de métricas
Na Google Cloud consola, aceda à página Explorador de métricas.
Selecione o seu projeto.
Clique em Selecionar uma métrica.
Pesquise métricas de latência através das 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, de seguida, clique em Aplicar.
Para mais informações sobre como agrupar ou agregar a sua métrica, consulte o artigo Crie consultas com menus.
O que se segue?
- Saiba mais acerca do OpenTelemetry.
- Saiba como configurar o SDK OpenTelemetry.
- Saiba como migrar para o OpenTelemetry.
- Saiba como usar métricas para diagnosticar a latência.