Рассчитать сквозное время для серии потоков kinesis, за которыми следуют лямбда-выражения

У нас есть система, которая принимает входную запись и применяет ряд преобразований, используя ряд кинетических потоков и лямбда-выражений, работающих с ней.

KinesisStream --> InputRecord --> Lambda1/Lambda2, работающие параллельно --> Output1 Kinesis Stream --> Lambda3 --> Output2 Kinesis Stream --> сохранить в DynamoDB

Документация Lambda cloudwatch @ http://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html содержит подробную информацию о времени, затраченном на лямбда-метрики.

Однако мы хотели бы также получить метрики общего времени, затраченного на прохождение входной записи по всей цепочке.

Кто-нибудь делал что-то подобное для сбора сквозной задержки?


person user3153360    schedule 30.09.2016    source источник


Ответы (1)


Вы можете рассчитать задержку для каждого события в последней лямбде (или в потоке обновлений DynamoDB, если вы также хотите рассчитать эту часть).

Например, в Lambda3 в вашем примере вы можете прочитать временную метку, которую вы поместили в свои записи, или временную метку Kinesis, вычислить diff из now и записать ее в console.log. Эти журналы записываются в журналы CloudWatch, где вы можете определить свою метрику и отобразить ее в CloudWatch и даже сгенерировать сигнал тревоги, чтобы уведомить вас, когда эта задержка превышает пороговое значение SLA.

person Guy    schedule 09.10.2016