適用於 Go 的 AWS X-Ray 開發套件 - AWS X-Ray

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

適用於 Go 的 AWS X-Ray 開發套件

適用於 Go 的 X-Ray 開發套件集合,其提供類別與方法,可用於產生及傳送追蹤資料至 X-Ray 守護程式。追蹤資料包含應用程式處理的傳入 HTTP 請求相關資訊,以及應用程式使用AWSSDK、HTTP 客户端或 SQL 數據庫連接器。您也可以手動建立區段,並將除錯資訊新增至註釋和中繼資料中。

使用 go get 以從軟體開發套件的 GitHub 儲存庫下載軟體開發套件:

$ go get -u github.com/aws/aws-xray-sdk-go/...

若是 Web 應用程式,請先使用 xray.Handler 函數來追蹤傳入請求。訊息處理常式會為每個追蹤的請求建立區段,並在傳送回應時完成區段。當區段開啟時,您可以使用軟體開發套件用戶端的方法,將資訊新增到區段,並建立子區段以追蹤下游呼叫。軟體開發套件也會在區段為開啟時自動記錄應用程式擲回的例外狀況。

對於由分析應用程序或服務調用的 Lambda 函數,Lambda 讀取追蹤標頭並自動跟蹤採樣請求。對於其他函數,您可以設定 Lambda以抽樣和追蹤傳入的請求。無論哪種情況,Lambda 都會創建區段並將其提供給 X-Ray SDK。

注意

在 Lambda 上,X-Ray 開發套件是可選的。如果您不在函數中使用它,則服務映射仍將包含 Lambda 服務的一個節點,每個 Lambda 函數都會包含一個節點。通過添加 SDK,您可以測試函數代碼,將子段添加到 Lambda 記錄的函數段。如需詳細資訊,請參閱 AWS Lambda 而且 AWS X-Ray

接著,請呼叫 AWS 函數以包裝您的用戶端。此步驟可確保 X-Ray 檢測到對任何用戶端方法的呼叫。您也可以檢測對 SQL 資料庫的呼叫

開始使用軟體開發套件之後,請設定配置記錄器和中間件。您可以新增外掛程式,以記錄執行應用程式所需的運算資源相關資料、定義抽樣規則以自訂抽樣行為,並設定日誌層級以在應用程式日誌中查看更多或更少的軟體開發套件資訊。

使用註釋與中繼資料,記錄應用程式所做的請求和工作等其他資訊。註釋是簡單的鍵/值對,系統會為其建立索引以用於篩選條件表達式,因此您可以搜尋包含特定資料的追蹤。元數據條目的限制性較小,並且可以記錄整個對象和數組-任何可以序列化為 JSON 的內容。

標註與中繼資料

註釋和元數據是使用 X-Ray 開發套件添加至區段的任意文本。註釋會建立索引以與篩選條件表達式搭配使用。元數據不是索引的,但可以使用 X-Ray 控制台或 API 在原始數據段中查看。您授予 X-Ray 讀取訪問權限的任何人都可以查看此數據。

當程式碼中有很多經過檢測的用戶端時,單一請求區段可能包含大量子區段,每個使用經檢測用戶端進行的呼叫都有一個子區段。您可以將用戶端呼叫包裝在自訂子區段中,以組織和群組子區段。您可以為整個函數或任何部分的程式碼建立自訂子區段,並記錄子區段上的中繼資料和註釋,而不必寫入父區段上的所有項目。

要求

適用於 Go 的 X-Ray 開發套件需要 Go 1.9 或更高版本。

軟體開發套件在編譯和執行時間需仰賴下列程式庫:

  • AWSSDK for Go 開發套件 1.10.0 或更新版本

軟體開發套件的 README.md 檔案中有宣告這些相依性。

參考文件

下載軟體開發套件之後,請本機建置和託管文件以在 Web 瀏覽器中檢視。

檢視參考文件
  1. 導覽至 $GOPATH/src/github.com/aws/aws-xray-sdk-go (Linux 或 Mac) 目錄或 %GOPATH%\src\github.com\aws\aws-xray-sdk-go (Windows) 資料夾

  2. 執行 godoc 命令。

    $ godoc -http=:6060
  3. 在瀏覽器中開啟 http://localhost:6060/pkg/github.com/aws/aws-xray-sdk-go/ 網址。