En este documento, se describe cómo capturar métricas personalizadas del cliente con OpenTelemetry. Las métricas del cliente personalizadas están disponibles a través de las bibliotecas cliente de Java y Go.
Las métricas personalizadas del cliente pueden ayudarte a encontrar la fuente de latencia en tu sistema. Para obtener más información, consulta Puntos de latencia en una solicitud de Spanner.
Las bibliotecas cliente de Spanner también proporcionan estadísticas y registros de seguimiento con el framework de observabilidad de OpenTelemetry. Para obtener más información, consulta Configura la recopilación de registros con OpenTelemetry.
OpenTelemetry es un framework y un kit de herramientas de observabilidad de código abierto que te permite crear y administrar datos de telemetría, como registros, métricas y seguimientos.
Antes de comenzar
Debes configurar el SDK de OpenTelemetry con las opciones adecuadas para exportar tus datos de telemetría. Te recomendamos que uses el exportador de OpenTelemetry Protocol (OTLP).
Para configurar métricas personalizadas del cliente con OpenTelemetry, debes configurar el SDK de OpenTelemetry y el exportador de OTLP:
Agrega las dependencias necesarias a tu aplicación con el siguiente código:
Java
Go
Crea un objeto OpenTelemetry con el exportador de OTLP y, luego, insértalo en Spanner con
SpannerOptions
:Java
Go
Captura la latencia de GFE
La latencia de Google Front End (GFE) es la duración en milisegundos entre el momento en que la red de Google recibe una llamada a procedimiento remoto del cliente y el momento en que GFE recibe el primer byte de la respuesta.
Puedes capturar la latencia de GFE con el siguiente código:
Java
Go
La app de muestra de código agrega la cadena spanner/gfe_latency
al nombre de la métrica cuando se exporta a Cloud Monitoring. Puedes buscar esta métrica en Cloud Monitoring con la cadena agregada.
Captura la latencia de solicitud de la API de Cloud Spanner
La latencia de la solicitud a la API de Cloud Spanner es el tiempo en segundos entre el primer byte de la solicitud del cliente que recibe el frontend de la API de Cloud Spanner y el último byte de la respuesta que envía el frontend de la API de Cloud Spanner.
Esta métrica de latencia está disponible como parte de las métricas de Cloud Monitoring.
Cómo capturar la latencia de ida y vuelta del cliente
La latencia de ida y vuelta del cliente es la duración en milisegundos entre el primer byte de la solicitud de la API de Cloud Spanner que el cliente envía a la base de datos (a través del GFE y el frontend de la API de Cloud Spanner) y el último byte de respuesta que el cliente recibe de la base de datos.
La métrica de latencia de ida y vuelta del cliente de Spanner no se admite con OpenTelemetry. En su lugar, puedes ver la métrica de latencia de la operación del cliente. Para obtener más información, consulta Descripciones de métricas del cliente.
También puedes instrumentar la métrica con OpenCensus y un puente, y migrar los datos a OpenTelemetry.
Captura la latencia de las consultas
La latencia de la consulta es la duración en milisegundos para ejecutar consultas de SQL en la base de datos de Spanner.
Puedes capturar la latencia de la consulta con el siguiente código:
Java
Go
La app de muestra de código agrega la cadena spanner/query_stats_elapsed
al nombre de la métrica cuando se exporta a Cloud Monitoring. Puedes buscar esta métrica en Cloud Monitoring con la cadena agregada.
Visualiza métricas en el Explorador de métricas
En la Google Cloud consola, ve a la página Explorador de métricas.
Elige tu proyecto.
Haz clic en Elige una métrica.
Busca métricas de latencia con las siguientes cadenas:
roundtrip_latency
: Para la métrica de latencia de ida y vuelta del cliente.spanner/gfe_latency
: Para la métrica de latencia de GFE.spanner/query_stats_elapsed
: Para la métrica de latencia de la búsqueda.
Selecciona la métrica y, luego, haz clic en Aplicar.
Para obtener más información sobre cómo agrupar o agregar tu métrica, consulta Compila consultas con menús.
¿Qué sigue?
- Obtén más información sobre OpenTelemetry.
- Obtén información para configurar el SDK de OpenTelemetry.
- Obtén información para migrar a OpenTelemetry.
- Obtén más información para usar las métricas y diagnosticar la latencia.