def METHOD_NAME(namespace: str = METRICS_NAMESPACE):
    """
    Flushes metrics to an AWS Reporter.
    Warning not flush will not go through if it would hit
    PutMetricData's Limit See AWSCloudWatchReporter.PUT_METRIC_DATA_VALUES_LIMIT
    """
    try:
        reporter = AWSCloudWatchReporter(namespace)
        datums = []
        datums.extend([reporter.get_counter_datum(k, v) for k, v in counts.items()])
        for duration_name, value_count_mapping in timers.items():
            # if value_count_mapping is empty or > PUT_METRIC_DATA_VALUES_LIMIT,
            # method returns None. filter those out otherwise report will throw an error.
            if datum := reporter.get_multi_value_datums(
                name=duration_name,
                value_count_mapping=value_count_mapping,
                unit=AWSCloudWatchUnit.Milliseconds,
            ):
                datums.append(datum)
        reporter.report(datums)
    except Exception as e:
        logger.exception("Couldn't report metrics to cloudwatch")