async def METHOD_NAME(self) -> None:
    loop = asyncio.get_running_loop()
    next_loop_time = loop.time()
    while not self._stopped:
        try:
            await self.report_now(self.registry)
        except Exception:
            LOGGER.warning("Could not send metrics report", exc_info=True)
        next_loop_time += self.reporting_interval
        wait = max(0, next_loop_time - loop.time())
        await asyncio.sleep(wait)