5

私はDynamoDB Streams + Kinesisクライアントライブラリ(KCL)を使用しています。 イベントがストリーム内で作成されたときと、それがKCL側で処理されたときの間のレイテンシを測定するにはどうすればよいですか?DynamoDBストリームの伝搬遅延を測定するにはどうすればよいですか?

私が知る限り、KCLのMillisBehindLatestメトリックは、Kinesis Streams(DynamoDBストリームではない)に固有です。 approximateCreationDateTimeレコード属性には分レベルの近似値があります。これは、1秒未満のレイテンシシステムでは監視できません。

monitoringDynamoDBストリームのレイテンシを監視するための有用なメトリックを教えてください。

答えて

0

アプリケーションで書き込みを行う方法を変更して、アプリケーションがテーブルのストリーム内の突然変異の伝搬遅延を追跡できるようにすることができます。たとえば、アイテムを作成して更新するときに、常に 'last_updated ='タイムスタンプ属性を更新できます。こうすることで、ストリームにクリエーションと更新が表示されたときに、ストリームレコードのNEW_IMAGEのlast_updatedから現在の時刻を引くことで、伝搬遅延を見積もることができます。

削除は、ストリーム記録のNEW_IMAGEを持っていないので、あなたの削除が二段階で場所を取る必要があります:

  1. あなたが「logically_deleted =」 項目にタイムスタンプと
  2. を書き論理削除すぐに1

その後、次のあなたが実際にDeleteItemを呼び出す

  • 物理的な削除は、あなたが作品や更新、あなたはときPR OLD_IMAGEを使用することが唯一の違いと同じ数学を使用します論理削除(手順1)を実行するのにかかる時間を考慮に入れるには、少なくとも約10msを減算する必要があります。

  • 関連する問題