本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 Go 的 X-Ray 開發套件產生自訂子區段
注意
End-of-support通知 – 在 2027 年 2 月 25 日, AWS X-Ray 將停止支援 AWS X-Ray SDKs 和協助程式。2027 年 2 月 25 日之後,您將不再收到更新或版本。如需支援時間表的詳細資訊,請參閱 X-Ray SDK 和協助程式終止支援時間表。建議您遷移至 OpenTelemetry。如需遷移至 OpenTelemetry 的詳細資訊,請參閱從 X-Ray 檢測遷移至 OpenTelemetry 檢測。
子區段會延伸追蹤的區段,其中包含為處理請求而完成之工作的詳細資訊。每次您與經檢測的用戶端進行呼叫時,X-Ray 開發套件都會記錄子區段中產生的資訊。您可以建立其他子區段來分組其他子區段、測量程式碼區段的效能,或記錄註釋和中繼資料。
使用 Capture
方法來建立函數周圍的子區段。
範例 main.go – 自訂子區段
func criticalSection(ctx context.Context) {
//this is an example of a subsegment
xray.Capture(ctx, "GameModel.saveGame", func(ctx1 context.Context) error {
var err error
section.Lock()
result := someLockedResource.Go()
section.Unlock()
xray.AddMetadata(ctx1, "ResourceResult", result)
})
以下螢幕擷取畫面顯示 saveGame
子區段在 Scorekeep
應用程式追蹤中可能出現的方式。
