Los traces o rastros, son huellas de llamados específicos de registros temporales en el sistema.
Generalizando el concepto, los rastros son muestras causales de eventos, de origen transaccional, entre diferentes componentes de un sistema.
Dichos rastros, nos permiten abordar con exactitud, aquellos contextos donde un sistema transacciona operaciones temporales, abordando casos de uso como de comportamiento en conjunto.
¿Cómo funcionan los traces?
Supongamos que tenemos el siguiente registro de operación:
Sea un proceso de compra de un artículo con tarjeta de crédito, duró un tiempo estimado de 23 segundos en completar la transacción.
Pero ...
¿Qué encapsula los 23 segundos?
¿Es demasiado tiempo?
¿Fue nuestro servicio, o un proveedor de terceros?
Preguntas como las anteriores, son lo que los rastros deben abordar.
Qué es span
Un span o cadena, permite encapsular un conjunto de traces o rastros por transacción, logrando que para cada servicio transaccional, sea identificada una correlación o contexto de seguimiento.
De los registros, podemos obtener que el servicio externo a nuestro sistema tarda 18 segundos de 23 totales.
Del servicio externo, la respuesta de la compañía de crédito tardo 15 segundos, 3 cuando se lanzó la petición y 12 en procesarla para dar respuesta.
Se está tomando 12 de los 23 segundos, ¡eso es más de la mitad del tiempo para todo este seguimiento!
Los contexto de seguimiento, son necesarios cuando se preocupa por las relaciones entre servicios y/o entidades. Si solo tuviéramos eventos sin procesar para cada servicio de forma aislada, no se tendría forma de reconstruir una sola cadena entre servicios para una transacción en particular.
Para garantizar que nuestros rastros sean evidentes, deberán pasar por un contexto de seguimiento para identificar de manera única, una sola transacción a lo largo de una cadena de registros.
Contribución creada por: Emmanuel Rodríguez
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?