手动检测 Amazon SDK 客户端 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

手动检测 Amazon SDK 客户端

注意

终止支持通知:2027 年 2 月 25 日,Amazon X-Ray 将停止对 Amazon X-Ray SDK 和进程守护程序的支持。2027 年 2 月 25 日之后,您将不会再收到更新或发行版本。有关支持时间表的更多信息,请参阅 X-Ray SDK 和进程守护程序终止支持时间表。我们建议迁移到 OpenTelemetry。有关迁移到 OpenTelemetry 的更多信息,请参阅从 X-Ray 检测迁移到 OpenTelemetry 检测

当您在生成依赖项中包含 Amazon SDK Instrumentor 子模块时,X-Ray SDK for Java 自动检测所有 Amazon SDK 客户端。

您可以通过删除 Instrumentor 子模块来禁用自动客户端检测。这使您可以手动检测一些客户端而忽略另一些客户端,或者在不同客户端上使用不同跟踪处理程序。

为了说明为检测特定 Amazon SDK 客户端提供的支持,应用程序传递跟踪处理程序到 AmazonDynamoDBClientBuilder 作为用户、游戏和会话模型中的请求处理程序。此代码更改告知 SDK 使用这些客户端检测对 DynamoDB 的所有调用。

src/main/java/scorekeep/SessionModel.java - 手动 Amazon SDK 客户端检测
import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.handlers.TracingHandler; public class SessionModel { private AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard() .withRegion(Constants.REGION) .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder())) .build(); private DynamoDBMapper mapper = new DynamoDBMapper(client);

如果您从项目依赖项中删除 Amazon SDK Instrumentor 子模块,则只有手动检测的 Amazon SDK 客户端显示在跟踪地图中。