使用适用于 Go 的 X-Ray 开发工具包跟踪对下游 HTTP Web 服务的调用 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用适用于 Go 的 X-Ray 开发工具包跟踪对下游 HTTP Web 服务的调用

当您的应用程序对微服务或公共 HTTP API 发出调用时,您可以使用 xray.Client 以 Go 应用程序子分段的方式分析这些调用,如以下示例中所示,其中 http-client 是一个 HTTP 客户端。

客户端创建所提供的 HTTP 客户端的阴影副本,默认为http.DefaultClient,用圆形旅行器包裹xray.RoundTripper

main.go 客户端
myClient := xray.Client(http-client)
主 .go — 使用 ctxhttp 库跟踪下游 HTTP 调用

下面的示例使用 ctxhttp 库测试传出 HTTP 调用xray.Clientctx可以从上游调用传递。这可确保使用现有的段上下文。例如,X-Ray 不允许在 Lambda 函数中创建新段,因此应使用现有的 Lambda 段上下文。

resp, err := ctxhttp.Get(ctx, xray.Client(nil), url)