← All platforms

asyncio error tracking

Lots of tasks. One exception you didn’t expect. The Sentry asyncio integration sends Python error reports to Telebugs, where they stay on your server.

~/hoofnotes  pip install sentry-sdk
~/hoofnotes  nvim main.py
import asyncio
import sentry_sdk
from sentry_sdk.integrations.asyncio import AsyncioIntegration
from hoofnotes.sync import sync_notes
async def main():
sentry_sdk.init(
# Copy the complete DSN, key and path included.
dsn="YOUR_TELEBUGS_DSN",
integrations=[AsyncioIntegration()],
)
await sync_notes()
asyncio.run(main())
~/hoofnotes  python main.py

Space pauses or resumes. R replays. Escape shows the complete setup.

Hang on, I already use Sentry

Keep sentry-sdk and change its destination to your Telebugs DSN. Your error reports stay on your server. You don’t need a Sentry account.

Does the event loop get its own integration?

Yes. The asyncio integration connects task exceptions to the Python SDK. Exceptions you catch can also be reported explicitly; a handled failure needn’t disappear.

What about an async web framework?

Use its dedicated integration, such as AIOHTTP or Sanic, for request-specific context. The reports can all live on the same Telebugs server.