使用 X-Ray 開發套件產生自定義子區段 - AWS X-Ray

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

使用 X-Ray 開發套件產生自定義子區段

子段擴展追蹤的,詳細介紹了為了服務請求而完成的工作。每次與分析客户端進行呼叫時,X-Ray SDK 都會記錄在子段中生成的信息。您可以創建其他子段來對其他子段進行分組、測量代碼部分的性能或記錄註釋和元數據。

若要管理子區段,請使用 begin_subsegmentend_subsegment 方法。

subsegment = XRay.recorder.begin_subsegment name: 'annotations', namespace: 'remote' my_annotations = { id: 12345 } subsegment.annotations.update my_annotations XRay.recorder.end_subsegment

若要建立函數的子區段,請將它包裝在對 XRay.recorder.capture 進行的呼叫中。

XRay.recorder.capture('name_for_subsegment') do |subsegment| resp = myfunc() # myfunc is your function subsegment.annotations.update k1: 'v1' resp end

當您在某區段或其他子區段內建立子區段時,則會為其產生一個 ID,並記錄開始時間和結束時間。

範例 使用中繼資料的子區段
"subsegments": [{ "id": "6f1605cd8a07cb70", "start_time": 1.480305974194E9, "end_time": 1.4803059742E9, "name": "Custom subsegment for UserModel.saveUser function", "metadata": { "debug": { "test": "Metadata string from UserModel.saveUser" } },