def _value_of_point(point):
    """Extracts the actual numeric value of a point.

    Only supports int64 and double point values.
    Strings, booleans, distribution and money are not supported.
    See cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#ValueType
    """
    pval = point['value']

    int64_value = pval.get('int64Value')
    if int64_value is not None:
        return int(int64_value)

    double_value = pval.get('doubleValue')
    if double_value is not None:
        return float(double_value)

    raise ValueError('point must have int or double value', point)