AWS X-Ray SDK for Go - AWS X-Ray

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS X-Ray SDK for Go

は、X-Ray SDK for Go アプリケーション用のライブラリのセットです。トレースデータを作成して X-Ray デーモンに送信するためのクラスとメソッドを提供します。トレースデータには、アプリケーションによって処理された受信 HTTP リクエスト、およびアプリケーションから AWS SDK を使用したダウンストリームサービス、HTTP クライアント、または SQL データベースコネクターに対して行われる呼び出しに関する情報が含まれています。セグメントを手動で作成し、注釈およびメタデータにデバッグ情報を追加することもできます。

go get を使用して GitHub リポジトリから SDK をダウンロードします。

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

ウェブアプリケーションの場合は、xray.Handler 関数を使用して受信リクエストをトレースします。メッセージハンドラーでは、トレース対象リクエストごとに「セグメント」を作成し、レスポンスが送信されるとセグメントを完了します。セグメントが開いている間、SDK クライアントのメソッドを使用してセグメントに情報を追加し、サブセグメントを作成してダウンストリーム呼び出しをトレースできます。また、SDK では、セグメントが開いている間にアプリケーションがスローする例外を自動的に記録します。

インストルメント済みアプリケーションまたはサービスによって呼び出される Lambda 関数の場合、Lambda は トレースヘッダー を読み取り、サンプリングされたリクエストを自動的にトレースします。その他の関数については、Lambda の設定 から受信リクエストのサンプリングとトレースを行うことができます。いずれの場合も、Lambda はセグメントを作成し、X-Ray SDK に提供します。

注記

Lambda では、X-Ray SDK はオプションです。関数でこれを使用しない場合、サービスマップには Lambda サービスのノードと Lambda 関数ごとに 1 つのノードが含まれます。SDK を追加することで、関数コードをインストルメントして、Lambda で記録された関数セグメントにサブセグメントを追加することができます。詳細については、「AWS Lambda および AWS X-Ray」を参照してください。

次に、クライアントをAWS 関数の呼び出しでラップします。このステップでは、X-Ray 計測が任意のクライアントメソッドを呼び出すようにします。 計測が SQL データベースを呼び出すようにすることもできます。

SDK を入手したら、レコーダーとミドルウェアを設定して、その動作をカスタマイズします。プラグインを追加して、アプリケーションを実行しているコンピューティングリソースに関するデータを記録したり、サンプリングルールを定義することでサンプリングの動作のカスタマイズしたり、アプリケーションログに SDK からの情報をより多くあるいは少なく表示するようにログレベルを設定できます。

アプリケーションが注釈やメタデータで行うリクエストや作業に関する追加情報を記録します。注釈は、フィルタ式で使用するためにインデックス化されたシンプルなキーと値のペアで、特定のデータが含まれているトレースを検索できます。メタデータのエントリは制約が緩やかで、JSON にシリアル化できるオブジェクトと配列全体を記録できます。

注釈とメタデータ

注釈およびメタデータとは、X-Ray SDK を使用してセグメントに追加する任意のテキストです。注釈は、フィルタ式用にインデックス付けされます。メタデータはインデックス化されませんが、X-Ray コンソールまたは API を使用して raw セグメントで表示できます。X-Ray への読み取りアクセスを許可した人は誰でも、このデータを表示できます。

コードに多数の計測されたクライアントがある場合、単一のリクエストセグメントには計測されたクライアントで行われた呼び出しごとに 1 個の多数のサブセグメントを含めることができます。カスタムサブセグメントで、クライアント呼び出しをラップすることで、サブセグメントを整理してグループできます。関数全体またはコードの任意のセクションのサブセグメントを作成し、親セグメントにすべてのレコードを記述する代わりにサブセグメントにメタデータと注釈を記録できます。

要件

X-Ray SDK for Go 1.9 以降が必要です。

SDK は、コンパイル時および実行時に次のライブラリに依存します。

  • AWS SDK for Go バージョン 1.10.0 以降

これらの依存関係は SDK の README.md ファイルで宣言されています。

リファレンスドキュメント

SDK をダウンロードしたら、ドキュメントをビルドしてローカルにホストし、ウェブブラウザで表示します。

リファレンスドキュメントを表示するには
  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/ でブラウザを開きます。