def METHOD_NAME(self) -> Dict[str, torch.Tensor]:
    ret = {self._total_examples_key: self.total_examples}
    if self._steps > self._warmup_steps and (
        not math.isclose(self.time_lapse_after_warmup.item(), 0)
    ):
        lifetime_throughput = (
            self.total_examples - self.warmup_examples
        ) / self.time_lapse_after_warmup
        if not math.isclose(self._window_time_lapse, 0):
            window_throughput = (
                len(self._window_time_lapse_buffer)
                * self._batch_examples
                / self._window_time_lapse
            )
        else:
            window_throughput = 0.0
        if not math.isclose(lifetime_throughput.item(), 0):
            ret.update(
                {
                    self._lifetime_throughput_key: torch.tensor(
                        lifetime_throughput, dtype=torch.double
                    ),
                    self._window_throughput_key: torch.tensor(
                        window_throughput, dtype=torch.double
                    ),
                }
            )
    return ret