Open milo19980525 opened 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:
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.
Prueba de funcionamiento
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:
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.
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
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