Замеры с помощью cProfile в определенный промежуток
в определенный промежуток времени, бот начинает лагать, и именно в определенный промежуток времени нужно вывести график времени работы функций cProfile, я находил аналоги такие как pyflame которые нужно атачить к процессу python, и можно делать запись 60 секунд каждые 10 мс к примеру, но с ним так и не получилось взаимодействовать тк как у меня arm64 архитектура. Я пробовал делать что то такое: но он не показывает мне именно нужный тайлампс(
def run(self):
"""Run the application."""
with cProfile.Profile() as profile:
logger.info(f"Total plugins: {len(self._plugins)}")
logger.info("Starting...")
if platform.lower().startswith("win"):
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
# Set up the signal handlers
signal.signal(signal.SIGINT, self.stop)
signal.signal(signal.SIGTERM, self.stop)
self._loop.create_task(self._main_loop_wrapper())
self._loop.run_forever()
results = pstats.Stats(profile)
results.sort_stats(pstats.SortKey.TIME)
results.print_stats()
results.dump_stats("results.prof")
logger.info("Stopped...")
os._exit(0)