En este documento se describe cómo registrar métricas de cliente personalizadas con OpenTelemetry. Las métricas de cliente personalizadas están disponibles mediante las bibliotecas de cliente Java y Go.
Las métricas personalizadas del lado del cliente pueden ayudarte a encontrar la fuente de la latencia de tu sistema. Para obtener más información, consulta Puntos de latencia en una solicitud de Spanner.
Las bibliotecas de cliente de Spanner también proporcionan estadísticas y trazas mediante el framework de observabilidad OpenTelemetry. Para obtener más información, consulta Configurar la recogida de trazas con OpenTelemetry.
OpenTelemetry es un marco de trabajo y un conjunto de herramientas de observabilidad de código abierto que te permiten crear y gestionar datos de telemetría, como trazas, métricas y registros.
Antes de empezar
Debes configurar el SDK de OpenTelemetry con las opciones adecuadas para exportar tus datos telemétricos. Te recomendamos que uses el exportador del protocolo OpenTelemetry (OTLP).
Para configurar métricas personalizadas del lado del cliente con OpenTelemetry, debes configurar el SDK de OpenTelemetry y el exportador OTLP:
Añade las dependencias necesarias a tu aplicación con el siguiente código:
Java
Go
Crea un objeto OpenTelemetry con el exportador OTLP e insértalo en Spanner con
SpannerOptions
:Java
Go
Capturar la latencia de GFE
La latencia del frontend de Google (GFE) es el tiempo, en milisegundos, que transcurre entre el momento en que la red de Google recibe una llamada a procedimiento remoto del cliente y el momento en que el GFE recibe el primer byte de la respuesta.
Puedes registrar la latencia de GFE con el siguiente código:
Java
Go
El ejemplo de código añade 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 añadida.
Capturar la latencia de las solicitudes de la API Cloud Spanner
La latencia de las solicitudes de la API de Cloud Spanner es el tiempo en segundos que transcurre 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 en las métricas de Cloud Monitoring.
Captura la latencia de ida y vuelta del cliente
La latencia de ida y vuelta del cliente es el tiempo en milisegundos que transcurre entre el primer byte de la solicitud a la API de Cloud Spanner que el cliente envía a la base de datos (a través de GFE y del frontend de la API de Cloud Spanner) y el último byte de la 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, puede consultar la métrica de latencia de la operación del lado del cliente. Para obtener más información, consulta las descripciones de las métricas del lado del cliente.
También puedes instrumentar la métrica con OpenCensus mediante un puente y migrar los datos a OpenTelemetry.
Latencia de la consulta de captura
La latencia de las consultas es el tiempo que se tarda en ejecutar consultas de SQL en la base de datos de Spanner, medido en milisegundos.
Puedes registrar la latencia de las consultas con el siguiente código:
Java
Go
El ejemplo de código añade 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 añadida.
Ver métricas en el explorador de métricas
En la Google Cloud consola, ve a la página Explorador de métricas.
Selecciona el proyecto.
Haz clic en Seleccionar 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 las consultas.
Seleccione la métrica y, a continuación, haga clic en Aplicar.
Para obtener más información sobre cómo agrupar o agregar métricas, consulta el artículo Crear consultas con menús.
Siguientes pasos
- OpenTelemetry
- Consulta cómo configurar el SDK de OpenTelemetry.
- Consulta cómo migrar a OpenTelemetry.
- Consulta cómo usar las métricas para diagnosticar la latencia.