Python 3.14+Асинхронное программированиепонятие
asyncio.FutureCallGraph
граф вызовов
Снимок графа ожиданий для задачи или future: кто её ждёт (awaited_by) и на каких кадрах она стоит (call_stack). Возвращается capture_call_graph(), Python 3.14+.
Синтаксис
graph = asyncio.capture_call_graph(future=None, *, depth=1, limit=None)
Это замороженный dataclass с полями future, call_stack и awaited_by — данные для отладки зависшей программы, а не управление задачами. Обычный traceback показывает только стек одной корутины, а граф видит и цепочку «задача A ждёт задачу B». Чтобы просто посмотреть, хватит asyncio.print_call_graph() или python -m asyncio ps PID; в Python 3.13 и раньше имени нет.
Примеры
import asyncio
async def child():
await asyncio.sleep(0.01)
return asyncio.capture_call_graph()
async def main():
graph = await asyncio.create_task(child(), name='child')
print(type(graph).__name__, graph.future.get_name()) # → FutureCallGraph child
print(len(graph.awaited_by)) # → 1 — её ждёт main
asyncio.run(main())
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности