マルチテナントのSaaSアプリケーションをLambdaとAPI Gatewayで構築している開発者が、AWS X-Rayでコードを計装しています。X-Rayコンソールのフィルタ式(例: `annotation.tenantId = "tenant-123"`)を使って特定テナントのトレースを絞り込み、レイテンシ問題を調査したいと考えています。tenantId を記録するために使用すべきX-Ray SDKのメソッドはどれですか?
X-RayのアノテーションとメタデータはAPIが異なり、用途が明確に分かれています。 選択肢Aは、putAnnotation()を使用してアノテーションとして記録します。アノテーションはインデックス化されるため、フィルタ式(annotation.tenantId = "tenant-123")でトレースを検索・絞り込みできます。テナントIDのようなフィルタリング用途の属性記録に最適なベストプラクティスです。 選択肢Bは、putMetadata()はメタデータを記録しますが、メタデータはインデックス化されないためフィルタ式では検索できません。デバッグ用の大きなオブジェクトの記録に向いており、トレースの絞り込みには使用できません。 選択肢Cは、beginSubsegment()はサブセグメントの作成に使用するAPIであり、アノテーションの記録機能はありません。サブセグメント名にtenantIdを含めてもフィルタ式での絞り込みはできません。 選択肢Dは、putAlarmData()はCloudWatch AlarmのAPIであり、X-Ray SDKのメソッドではありません。X-Rayのトレースフィルタリング機能とは無関係のサービスです。