private addSourceMetrics()

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));
        }
    }