Instrumentación de scripts - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instrumentación de scripts

nota

End-of-support aviso: el 25 de febrero de 2027, AWS X-Ray dejará de ofrecer soporte para AWS X-Ray SDKs and daemon. A partir del 25 de febrero de 2027, dejaréis de recibir actualizaciones ni versiones. Para obtener más información sobre el cronograma de soporte, consulteCronología del fin del soporte de X-Ray SDK y daemon. Se recomienda migrar a OpenTelemetry. Para obtener más información sobre la migración a OpenTelemetry, consulte Migración de una instrumentación de rayos X a una instrumentación. OpenTelemetry

También puede instrumentar código que no forme parte de su aplicación. Cuando el daemon de X-Ray se está ejecutando, transmitirá los segmentos que reciba a X-Ray, incluso si no los ha generado el SDK de X-Ray. Scorekeep utiliza sus propios scripts para instrumentar la compilación que compila la aplicación durante la implementación.

ejemplo bin/build.sh: script de compilación instrumentado
SEGMENT=$(python bin/xray_start.py) gradle build --quiet --stacktrace &> /var/log/gradle.log; GRADLE_RETURN=$? if (( GRADLE_RETURN != 0 )); then echo "Gradle failed with exit status $GRADLE_RETURN" >&2 python bin/xray_error.py "$SEGMENT" "$(cat /var/log/gradle.log)" exit 1 fi python bin/xray_success.py "$SEGMENT"

xray_start.py, xray_error.py y xray_success.py son scripts de Python sencillos que construyen objetos de segmento, los convierten a documentos JSON y los envían al demonio sobre UDP. Si la compilación Gradle falla, puede encontrar el mensaje de error haciendo clic en el nodo scorekeep-build en el mapa de rastros de la consola de X-Ray.

Diagram showing client connection to Scorekeep-build with average time of 14.6s and 0.07/min.
Timeline view showing Scorekeep-build process with 14.6 second duration and warning icon.
Error message showing build failure due to missing ElasticBeanstalkPlugin symbol in RdsWebConfig class.