Trazado de solicitudes

Tracing

Request trace through Service A, Service B, and database with latency panel.

El trazado de solicitudes rastrea cómo una solicitud pasa de un servicio a otro en sistemas distribuidos.

Los datos relacionados ayudan en las pruebas de rendimiento, la búsqueda de cuellos de botella y la optimización del comportamiento de la aplicación.

Span

Span

Un span es una unidad lógica de trabajo dentro de un servicio e incluye:

  1. ID, por ejemplo, f1db285a0893f9f6
  2. Nombre de la operación realizada por el servicio
  3. Nombre del servicio al que pertenece el span
  4. Etiquetas: datos adicionales en forma de «clave = valor» usados para filtrar spans
  5. Logs: información sobre la operación o un mensaje de error
  6. Tiempo: hora de inicio y duración de la operación

Ejemplo de span para una operación de solicitud de datos de cliente

span-example

Traza

Trace

Una traza, a su vez, muestra el camino que recorre una solicitud a través del sistema y está formada por muchos spans.

Los spans pueden referenciarse entre sí y formar un grafo acíclico dirigido. Los enlaces entre spans muestran el orden en que se ejecutan las operaciones.

trace-example

Diagrama del flujo de exportación de trazas

Veamos una configuración mínima de componentes para el trazado de solicitudes con Jaeger y OpenTelemetry.

La aplicación integra la biblioteca OpenTelemetry que proporciona generación y exportación de trazas. Las trazas de la aplicación se envían a Jaeger Collector, que luego los almacena en una base de datos.

El usuario accede a Jaeger UI, donde las consultas que realiza Jaeger Query a la base de datos permiten encontrar las trazas correctas por etiquetas y otros parámetros, y analizar los datos.

jaeger-schema

Análisis de trazas

Un buen punto de partida para analizar datos de trazado es el tiempo de ejecución de una operación, también conocido como latencia de la operación.

La latencia máxima permitida se describe en los requisitos no funcionales y normalmente no supera 1-2 segundos.

Por ejemplo, una latencia observada artificialmente alta puede deberse a una consulta SQL no optimizada; optimizarla puede mejorar el rendimiento del sistema.

También puedes buscar errores durante ciertas operaciones: esos spans se marcan en Jaeger UI con un icono de exclamación

Puedes profundizar en cada span para leer logs y otros detalles útiles.

Jaeger UI tracing example
Ejemplo de traza en Jaeger UI
Tarea
¡Tarea disponible para usuarios premium!

Desbloquea el acceso para aprender sin límites.

Acceso completo a todas las tareas prácticas
Verificación de respuestas
Intentos ilimitados
Sidebar arrow

INTRODUCCIÓN

CONCEPTOS BÁSICOS

NIVELES DE PRUEBAS

PRUEBAS DE UI

DISEÑO DE PRUEBAS

DOCUMENTACIÓN DE PRUEBAS

AUTENTICACIÓN Y AUTORIZACIÓN

POSTMAN

BASES DE DATOS

PRUEBAS DE RELEASE

ANÁLISIS DE LA APLICACIÓN

PREPARACIÓN PARA ENTREVISTAS

Cómo escribir un CV Preguntas frecuentes de entrevista Test Entrevista simulada