使用追蹤AWS X-Ray - AWS AppSync

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

使用追蹤AWS X-Ray

您可以使用AWS X-Ray來追蹤在執行的請求AWSAppSync。您可以將 X-RayAWS在所有 AppSyncAWS提供 X-Ray 的區域。X-Ray 為您提供整個 GraphQL 請求的詳細概述。這可讓您分析 API 及其基礎解析程式和資料來源中的延遲。您可以使用 X-Ray 服務對應來檢視請求的延遲,包括任何AWS與 X-Ray 集成的服務。您也可以設定取樣規則,以根據您指定的條件告知 X-Ray 要記錄哪些請求,以及使用何種取樣率。

如需 X-Ray 取樣的詳細資訊,請參見在AWS X-Ray主控台

設定與組態

您可以 GraphQL 過AWSAppSync 主控台。

  1. 前往登入AWSAppSync 主控台。

  2. 在導覽窗格中選擇 Settings (設定)

  3. X-Ray 下,開啟 Enable X-Ray (啟用 X-Ray)

  4. 選擇 Save (儲存)。現在已為您的 API 啟用 X-Ray 追蹤。

如果您使用AWS CLI或者AWS CloudFormation,您還 X-Ray 以在創建新AWS應用同步 API,或更新現有AWS應用同步 API,通過設置xrayEnabled屬性設置為true

X-Ray 為AWSAppSync API,AWS Identity and Access Management 服務連結角色會利用適當的許可,在您的帳户中自動建立。這允許AWSAppSync 以安全的方式將追蹤傳送給 X-Ray。

使用 X-Ray 跟蹤您的 API

抽樣

透過取樣規則,您可以控制AWSAppSync,並且可迅速修改取樣行為,而無需修改或重新部署程式碼。例如,此規則使用 API ID 3n572shhcpfokwhdnq1ogu59v6 對 GraphQL API 的請求進行取樣。

  • 規則名稱test-sample

  • 優先順序10

  • 儲槽大小10

  • 固定頻率10

  • 服務名稱*

  • 服務類型AWS::AppSync::GraphQLAPI

  • HTTP 方法*

  • 資源 ARNarn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6

  • 主機*

了解追蹤

為 GraphQL API 啟用 X-Ray 追蹤時,您可以使用 X-Ray 追蹤詳細資訊頁面檢視對 API 提出請求的詳細延遲資訊。以下範例顯示此特定請求的追蹤檢視以及服務對應。請求是針對名稱為postAPI,其資料包含 Amazon DynamoDB 稱為PostTable-Example

下列追蹤影像對應下列 GraphQL 查詢:

query getPost { getPost(id: "1") { id title } }

針對getPost查詢會使用底層 DynamoDB 資料源。以下追蹤檢視顯示對 DynamoDB 的調用,以及查詢執行各部分的延遲:

  • 在上述影像中,/getPost 表示要解析之元素的完整路徑。在這種情況下,因為 getPost 是根 Query 類型的欄位,它直接出現在路徑的根之後。

  • requestMappingTemplateEvaluation表示AWSAppSync 為查詢中此元素評估請求映射範本。

  • Query.getPost 表示類型和欄位 (格式為 Type.field)。它可以包含多個子區段,取決於 API 的結構和要追蹤的請求而定。

    • DynamoDB 表示附加至此解析程式的資料來源。它包含對 DynamoDB 進行網路呼叫以解析字段的延遲。

    • responseMappingTemplateEvaluation表示AWSAppSync 為查詢中此元素評估回應映射範本。

當您在 X-Ray 中檢視追蹤時,您可以在AWSAppSync 區段,方法是選擇子段並瀏覽詳細視圖。

對於某些深度嵌套或複雜的查詢,請注意AWSAppSync 可以大於段文檔允許的最大大小,如AWS X-Ray區段文件。X-Ray 不顯示超過限制的段。