def METHOD_NAME(self, value=1.0, time_ms=None):
    """
    Record a value at a known time.
    Arguments:
        value (double): The value we are recording
        time_ms (int): A POSIX timestamp in milliseconds.
            Default: The time when record() is evaluated (now)
    Raises:
        QuotaViolationException: if recording this value moves a
            metric beyond its configured maximum or minimum bound
    """
    if time_ms is None:
        time_ms = time.time() * 1000
    self._last_record_time = time_ms
    with self._lock:  # XXX high volume, might be performance issue
        # increment all the stats
        for stat in self._stats:
            stat.METHOD_NAME(self._config, value, time_ms)
        self._check_quotas(time_ms)
    for parent in self._parents:
        parent.METHOD_NAME(value, time_ms)