翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
X-Ray SDK for Go を使用してダウンストリーム HTTP ウェブサービスの呼び出しをトレースする
注記
End-of-support通知 – 2027 年 2 月 25 日、 AWS X-Ray は AWS X-Ray SDKs とデーモンのサポートを終了します。2027 年 2 月 25 日以降、更新やリリースは配信されなくなります。サポートタイムラインの詳細については、「」を参照してくださいX-Ray SDK とデーモンのサポート終了タイムライン。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「X-Ray 計測から OpenTelemetry 計測への移行」を参照してください。
アプリケーションがマイクロサービスまたはパブリック HTTP API を呼び出すときは、次の例に示すように、xray.Client
を使用してこれらの呼び出しを Go アプリケーションのサブセグメントとして計測できます。次の例に示すように、http-client は HTTP クライアントです。
クライアントは、提供された HTTP クライアントのシャローコピーを作成します。これは http.DefaultClient
のデフォルトの xray.RoundTripper
でラウンドトリップされます。
myClient := xray.Client(http-client
)
次の例では、ctxhttp ライブラリを使用して発信 HTTP コールをインストルメントします。xray.Client
。ctx
アップストリームコールから渡すことができます。これにより、既存のセグメントコンテキストが使用されることが保証されます。たとえば、X-Ray では Lambda 関数内に新しいセグメントを作成できないので、既存の Lambda セグメントコンテキストを使用する必要があります。
resp, err := ctxhttp.Get(ctx, xray.Client(nil), url
)