Missing information when using ensure_future (Python)

Problem

Detailed function trace information does not appear when using asyncio.ensure_future in coroutines.

Solution

Futures created from ensure_future must be awaited in the same coroutine in which they've been created. For example,in the Before section, await is not present with ensure_future, which would result in missing information:

Before:

import asyncio

async def foo():
  ensure_future(bar())

async def bar():
  await asyncio.sleep(0.5)

After:

import asyncio

async def foo():
  await ensure_future(bar())

async def bar():
  await asyncio.sleep(0.5)

For more help

Recommendations for learning more: