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 クライアントのみがトレースマップに表示されます。