in source/lib/kda-monitoring.ts [280:318]
private addSourceMetrics(inputStreamName?: string, kafkaTopicName?: string) {
if (inputStreamName !== undefined) {
//---------------------------------------------------------------------
const kinesisMetric = new cw.Metric({
...this.DEFAULT_METRIC_PROPS,
metricName: 'millisBehindLatest',
statistic: 'Maximum',
dimensions: {
...this.DEFAULT_METRIC_PROPS.dimensions,
'Id': cdk.Fn.join('_', cdk.Fn.split('-', inputStreamName)),
'Flow': 'Input'
}
});
const millisBehindAlarm = new cw.Alarm(this, 'MillisBehindAlarm', {
...this.DEFAULT_ALARM_PROPS,
metric: kinesisMetric,
threshold: this.PROCESSING_DELAY_THRESHOLD
});
//---------------------------------------------------------------------
this.Dashboard.addWidgets(this.createMarkdownWidget('\n# Kinesis Source Metrics\n'));
this.Dashboard.addWidgets(this.createAlarmWidget('Kinesis MillisBehindLatest', millisBehindAlarm));
} else if (kafkaTopicName !== undefined) {
//---------------------------------------------------------------------
const kafkaMetric = new cw.Metric({
...this.DEFAULT_METRIC_PROPS,
metricName: 'records_lag_max',
statistic: 'Maximum',
dimensions: {
...this.DEFAULT_METRIC_PROPS.dimensions
}
});
//---------------------------------------------------------------------
this.Dashboard.addWidgets(this.createMarkdownWidget('\n# Kafka Source Metrics\n'));
this.Dashboard.addWidgets(this.createWidgetWithoutUnits('Kafka RecordsLagMax', kafkaMetric));
}
}