def METHOD_NAME(
    self,
    name: str,
    value_count_mapping: t.Mapping[t.Union[int, float], int],
    unit: AWSCloudWatchUnit,
) -> t.Optional[AWSCloudWatchMetricDatum]:
    """
    For reporting multiple values. Requires a dict from values ->
    recurrence_count.
    Returns a list of datums you can then report.
    eg. If you saw the following latencies, [1, 2, 2, 3, 3, 3, 4, 5, 5, 1],
    value_count_mapping would look like
    {
        1: 2,
        2: 2,
        3: 3,
        4: 1,
        5: 1
    }
    """
    if (
        not value_count_mapping
        or len(value_count_mapping) >= self.PUT_METRIC_DATA_VALUES_LIMIT
    ):
        logger.warning(
            "Skipping `AWSCloudWatchReporter.get_multi_value_datums`:  number of metric subvalues would have errored on write."
        )
        return None
    values = []
    counts = []
    for k, v in value_count_mapping.items():
        values.append(k)
        counts.append(v)
    return AWSCloudWatchMetricDatum(
        metric_name=name, values=values, counts=counts, unit=unit
    )