AWS SDK クライアントを手動で実装する - AWS X-Ray

AWS SDK クライアントを手動で実装する

AWS SDK Instrumentor サブモジュールをビルド依存関係に含めると、X-Ray SDK for Java では自動的にすべての AWS SDK クライアントを実装します。

クライアントの自動実装は、Instrumentor サブモジュールを削除することで無効にできます。これにより、他を無視しながら一部のクライアントを手動で実装するか、異なるクライアントで異なるトレースハンドラーを使用できるようになります。

特定の AWS SDK クライアントの実装のサポートを説明するために、アプリケーションはトレーシングハンドラーをユーザー、ゲーム、セッションモデルのリクエストハンドラーとしてAmazonDynamoDBClientBuilder に渡します。このコード変更により、これらのクライアントを使用する DynamoDB に対するすべての呼び出しを実装するように SDK に指示します。

src/main/java/scorekeep/SessionModel.java – AWS 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);

AWS SDK Instrumentor サブモジュールをプロジェクト依存関係から削除すると、手動で実装される AWS SDK クライアントのみがトレースマップに表示されます。