檢測指令碼 - AWS X-Ray

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢測指令碼

您也可以檢測不屬於您應用程式部分的程式碼。當 X-Ray 精靈執行時,它會將接收到的任何區段轉送至 X-Ray,即使這些區段不是由 X-Ray SDK 產生也一樣。Scorekeep 會使用自己的指令碼檢測在部署期間編譯應用程式的建置。

範例 bin/build.sh— 已檢測的建置指令碼
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.pyxray_error.pyxray_success.py 是簡易的 Python 指令碼,可建構區段物件,將它們轉換成 JSON 文件,並透過 UDP 傳送到精靈。如果 Gradle 構建失敗,則可以通過單擊 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.