udistrital / autenticacion_mid

0 stars 0 forks source link

Refinamiento sobre las funciones de X-Ray implementadas #80

Open milo19980525 opened 9 months ago

milo19980525 commented 9 months ago

Se requiere refinar algunas características.

Especificaciones técnicas

Sub Tareas

Criterios de aceptación

Requerimientos

Dependencias

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

a52290451 commented 9 months ago

Documentación de Actividades


Optimización de Código (Eliminación de segmentos duplicados en APIs instrumentadas)

La solución consistió en transmitir, a través del Header de la petición, la confirmación de la creación de un segmento secundario en una API secundaria. Cuando se detecta esta confirmación desde la API principal, se elimina el segmento secundario creado desde la API principal. Con esto no se generan segmentos duplicados para una misma API.

Todo se implementa y se controla desde el paquete xray en utils_oas.

En esta porción de código de la función BeginSegmentWithContextTP, se detecta si se trata de un segmento secundario creado en una API secundaria y, con esto, se transmite la confirmación del segmento:

image

En la porción siguiente, asociada a la función UpdateSegmentSec que se encarga de actualizar los segmentos secundarios creados en la API principal, se obtiene la respuesta transmitida a través del Header de la petición, en caso de encontrar un valor marcado con "Resp-X-Amzn-Trace-Id", se elimina el segmento secundario creado desde la API principal.

image

Prueba de funcionamiento

image

image

image

Nota: anteriormente, cuando esta petición no contaba con el control de duplicados, generaba 4 segmentos con un estado 200. Esto se producía gracias a que se creaba un segmento secundario en la API principal y otro del mismo tipo en la API secundaria.


Documentación de Código

Se realiza la documentación en código del paquete xray en utils_oas.

Tanto el Init del paquete, como todas sus funciones se documentan, especificando su funcionamiento, los parámetros de entrada y las devoluciones.

A continuación se muestra una porción del código documentado:

image

a52290451 commented 9 months ago

Documentación de Actividades

Objetivo: Revisión de notificaciones personalizadas a nivel de API para que se identifique de manera más rápida el error.

Después de llevar a cabo una investigación exhaustiva sobre la posibilidad de incluir detalles específicos sobre las trazas que desencadenaban la alarma, hemos llegado a la conclusión de que alcanzar este nivel de detalle no es viable, y ello se debe a la siguiente razón:

Las alarmas están vinculadas a métricas que, a su vez, se relacionan con grupos de trazas de X-Ray predefinidos. Estos grupos de trazas se configuran mediante la aplicación de un filtro diseñado para detectar trazas que presenten errores. En este contexto, no resulta factible adjuntar la traza exacta que causó la activación de la alarma. Para esto sería necesario definir un grupo de trazas de X-Ray para cada API.

No obstante, a través de la alarma es posible identificar el grupo de X-Ray al que pertenecen las trazas que desencadenaron la alarma. Esta información resulta suficiente para reconocer los errores y tomar medidas correctivas de manera oportuna.

a52290451 commented 9 months ago

Actualización de implementación de X-Ray en cumplidos_dve_mid: https://github.com/udistrital/cumplidos_dve_mid/tree/feature/X-Ray_v2

Actualización de implementación de X-Ray en utils_oas: https://github.com/udistrital/utils_oas/pull/31

Actualización de implementación de X-Ray en cumplidos_dve_crud: https://github.com/udistrital/cumplidos_dve_crud/tree/feature/xray