def METHOD_NAME(self, key: str, value: float, step: Optional[int] = None) -> None:
    """Log a metric under the current run.
    Args:
        key (str): Metric name. This string may only contain alphanumerics, underscores (_), dashes (-),
            periods (.), spaces ( ), and slashes (/). All backend stores will support keys up to length 250,
            but some may support larger keys.
        value (float): Metric value. Note that some special values such as +/- Infinity may be replaced by other
            values depending on the store. For example, the SQLAlchemy store replaces +/- Infinity with
            max / min float values. All backend stores will support values up to length 5000, but some may
            support larger values.
        step (int, optional): Metric step. Defaults to zero if unspecified.
    """
    self.sender.add(tag=key, value=value, data_type=AnalyticsDataType.METRIC, global_step=step)