使用 X-Ray SDK 將註釋和中繼資料新增至區段。 NET - AWS X-Ray

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

使用 X-Ray SDK 將註釋和中繼資料新增至區段。 NET

您可以使用註釋和中繼資料記錄有關請求、環境或應用程式的其他資訊。您可以將註釋和中繼資料新增至 X-Ray SDK 建立的區段,或新增至您建立的自訂子區段。

註釋是與字符串,數字或布爾值鍵-值對。註釋會編製索引以與篩選器運算式搭配使用 使用註釋來記錄您要用來在主控台中分組追蹤的資料,或在呼叫 GetTraceSummariesAPI.

中繼資料是索引鍵-值配對,可以具有任何類型的值 (包括物件和清單),但不會編製索引以供篩選運算式使用。使用元數據記錄要存儲在跟踪中但不需要與搜索一起使用的其他數據。

使用 X-Ray SDK 記錄註釋。 NET

針對您想要建立索引以用於搜尋的區段或子區段,請使用標註來記錄這些區段上的資訊。

X-Ray 中的所有註記都需要以下內容:

註釋要求
  • 按鍵 — X-Ray 註解的金鑰最多可包含 500 個英數字元。您不能使用點或句點 (.) 以外的空格或符號

  • — X-Ray 註釋的值最多可包含 1,000 個 Unicode 字元。

  • 註釋的數量 — 每個追蹤最多可以使用 50 個註釋。

若要記錄 AWS Lambda 函數外部的註釋
  1. 取得 AWSXRayRecorder 的執行個體。

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. 使用字串鍵、布林值、Int32、Int64、雙精確度浮點數或字串值,呼叫 addAnnotation

    recorder.AddAnnotation("mykey", "my value");

    下列範例顯示如何putAnnotation使用包含點和布林值、數字或字串值的 String 索引鍵來呼叫。

    document.putAnnotation("testkey.test", "my value");
若要在 AWS Lambda 函數內記錄註釋

Lambda 函數中的區段和子區段都是由 Lambda 執行階段環境管理。如果要將註釋新增至 Lambda 函數內的區段或子區段,則必須執行下列動作:

  1. 在 Lambda 函數內建立區段或子區段。

  2. 將註釋加入至段或子段。

  3. 結束段或子段。

下列程式碼範例示範如何將註解新增至 Lambda 函數內的子區段:

#Create the subsegment AWSXRayRecorder.Instance.BeginSubsegment("custom method"); #Add an annotation AWSXRayRecorder.Instance.AddAnnotation("My", "Annotation"); try { YourProcess(); #Your function } catch (Exception e) { AWSXRayRecorder.Instance.AddException(e); } finally #End the subsegment { AWSXRayRecorder.Instance.EndSubsegment(); }

X-Ray 會將註釋SDK記錄為區段文件中annotations物件中的鍵值配對。使用相同索引鍵呼叫addAnnotation作業兩次,會覆寫相同區段或子區段上先前記錄的值。

若要尋找具有特定值之註釋的繪線,請在篩選器運算式中使用annotation[key]關鍵字。

使用的 X-Ray SDK 記錄中繼資料。 NET

使用中繼資料來記錄您不需要編製索引以便在搜尋中使用的區段或子區段的資訊。元數據值可以是字符串,數字,布爾值或任何其他可以被序列化為對象或數組的JSON對象。

記錄中繼資料
  1. 取得的執行個體AWSXRayRecorder,如下列程式碼範例所示:

    using Amazon.XRay.Recorder.Core; ... AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
  2. AddMetadata使用字串命名空間、字串索引鍵和物件值呼叫,如下列程式碼範例所示:

    recorder.AddMetadata("my namespace", "my key", "my value");

    您也可以只使用索引鍵和值組來呼叫AddMetadata作業,如下列程式碼範例所示:

    recorder.AddMetadata("my key", "my value");

如果您沒有為命名空間指定值,X-Ray SDK 會使用default。使用相同索引鍵呼叫AddMetadata作業兩次,會覆寫相同區段或子區段上先前記錄的值。