def publish_metrics()

in src/handler.py [0:0]


def publish_metrics(cloud_watch: CloudWatchClient, s3: S3Client, comprehend: ComprehendClient, processed_document: bool,
                    processed_pii_document: bool, language_code: str, s3ol_access_point: str, pii_entities: List[str]):
    """Publish metrics from the function execution."""
    try:
        cloud_watch.publish_metrics(s3.download_metrics.metrics + s3.write_get_object_metrics.metrics +
                                    comprehend.classify_metrics.metrics + comprehend.detection_metrics.metrics)
        if processed_document:
            cloud_watch.put_document_processed_metric(language_code, s3ol_access_point)
            if processed_pii_document:
                cloud_watch.put_pii_document_processed_metric(language_code, s3ol_access_point)
                cloud_watch.put_pii_document_types_metric(pii_entities, language_code, s3ol_access_point)
    except Exception as e:
        LOG.error(f"Error publishing metrics to cloudwatch. :{e} {traceback.print_exc()}")