本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 X-Ray 開發套件產生自定義子區段
子段擴展追蹤的段,詳細介紹了為了服務請求而完成的工作。每次與分析客户端進行呼叫時,X-Ray SDK 都會記錄在子段中生成的信息。您可以創建其他子段來對其他子段進行分組、測量代碼部分的性能或記錄註釋和元數據。
若要管理子區段,請使用 begin_subsegment
和 end_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"
}
},