Gems/AWSMetrics/cdk/aws_metrics/dashboard.py [102:167]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        "DeliveryStreamName": delivery_stream_name
                    }
                )
            )

        operational_health_graph_widgets.append(
            cloudwatch.GraphWidget(
                title="Events Ingestion",
                left=event_ingestion_left_widgets,
                live_data=True
            )
        )

        analytics_processing_lambda_errors_metrics, analytics_processing_lambda_error_rate_metrics = \
            self._get_lambda_operational_health_metrics(
                analytics_processing_lambda_name,
                "Analytics Processing Lambda"
            )

        lambda_processing_left_widgets = [analytics_processing_lambda_errors_metrics]
        lambda_processing_right_widgets = [analytics_processing_lambda_error_rate_metrics]

        if events_processing_lambda_name:
            events_processing_lambda_errors_metrics, events_processing_lambda_error_rate_metrics = \
                self._get_lambda_operational_health_metrics(
                    events_processing_lambda_name,
                    "Events Processing Lambda"
                )

            lambda_processing_left_widgets.append(events_processing_lambda_errors_metrics)
            lambda_processing_right_widgets.append(events_processing_lambda_error_rate_metrics)

        operational_health_graph_widgets.append(
            cloudwatch.GraphWidget(
                title="Lambda Processing",
                left=lambda_processing_left_widgets,
                right=lambda_processing_right_widgets,
                right_y_axis=cloudwatch.YAxisProps(
                    show_units=False,
                    min=0,
                    max=100
                ),
                live_data=True,
                view=cloudwatch.GraphWidgetView.TIME_SERIES
            )
        )

        operational_health_layout = LayoutWidget(
            layout_description=aws_metrics_constants.DASHBOARD_OPERATIONAL_HEALTH_DESCRIPTION,
            widgets=operational_health_graph_widgets,
            max_width=aws_metrics_constants.DASHBOARD_MAX_WIDGET_WIDTH // 2)

        return operational_health_layout

    def _get_lambda_operational_health_metrics(self, function_name: str, metrics_label_prefix: str):
        """
        Get the errors and error rate metrics for the provided Lambda function.

        @param function_name Name of the Lambda function.
        @param metrics_label_prefix Prefix for the metrics Label. Metrics Label needs to be unique in a graph.
        @return Error and error rate metrics of the Lambda function.
        """
        lambda_errors_metrics = cloudwatch.Metric(
            metric_name='Errors',
            label=f'{metrics_label_prefix} Errors',
            namespace='AWS/Lambda',
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



Gems/AWSMetrics/cdv1/aws_metrics/dashboard.py [100:165]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        "DeliveryStreamName": delivery_stream_name
                    }
                )
            )

        operational_health_graph_widgets.append(
            cloudwatch.GraphWidget(
                title="Events Ingestion",
                left=event_ingestion_left_widgets,
                live_data=True
            )
        )

        analytics_processing_lambda_errors_metrics, analytics_processing_lambda_error_rate_metrics = \
            self._get_lambda_operational_health_metrics(
                analytics_processing_lambda_name,
                "Analytics Processing Lambda"
            )

        lambda_processing_left_widgets = [analytics_processing_lambda_errors_metrics]
        lambda_processing_right_widgets = [analytics_processing_lambda_error_rate_metrics]

        if events_processing_lambda_name:
            events_processing_lambda_errors_metrics, events_processing_lambda_error_rate_metrics = \
                self._get_lambda_operational_health_metrics(
                    events_processing_lambda_name,
                    "Events Processing Lambda"
                )

            lambda_processing_left_widgets.append(events_processing_lambda_errors_metrics)
            lambda_processing_right_widgets.append(events_processing_lambda_error_rate_metrics)

        operational_health_graph_widgets.append(
            cloudwatch.GraphWidget(
                title="Lambda Processing",
                left=lambda_processing_left_widgets,
                right=lambda_processing_right_widgets,
                right_y_axis=cloudwatch.YAxisProps(
                    show_units=False,
                    min=0,
                    max=100
                ),
                live_data=True,
                view=cloudwatch.GraphWidgetView.TIME_SERIES
            )
        )

        operational_health_layout = LayoutWidget(
            layout_description=aws_metrics_constants.DASHBOARD_OPERATIONAL_HEALTH_DESCRIPTION,
            widgets=operational_health_graph_widgets,
            max_width=aws_metrics_constants.DASHBOARD_MAX_WIDGET_WIDTH // 2)

        return operational_health_layout

    def _get_lambda_operational_health_metrics(self, function_name: str, metrics_label_prefix: str):
        """
        Get the errors and error rate metrics for the provided Lambda function.

        @param function_name Name of the Lambda function.
        @param metrics_label_prefix Prefix for the metrics Label. Metrics Label needs to be unique in a graph.
        @return Error and error rate metrics of the Lambda function.
        """
        lambda_errors_metrics = cloudwatch.Metric(
            metric_name='Errors',
            label=f'{metrics_label_prefix} Errors',
            namespace='AWS/Lambda',
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



