Improving Debuggability of Complex Asyncio Applications
Offered By: PyCon US via YouTube
Course Description
Overview
Explore techniques for improving the debuggability of complex asyncio applications in this PyCon US talk. Learn about the challenges of observability and reproducibility in real-world asyncio applications, particularly when multiple libraries and code are combined. Discover aiomonitor-ng, an enhanced version of aiomonitor, which provides live access to running asyncio processes and offers new features like task creation and termination trackers. Gain insights into tracking silently swallowed cancellations and resource-hogging task floods. Examine case studies of successful production bug debugging using aiomonitor-ng, and understand how to create more stable, complex asyncio applications at scale. Delve into topics such as tracebacks in asyncio, task creation chain trackers, and solutions for "hard" problems in asyncio debugging.
Syllabus
Intro
About Lablup
Production debugging
Solutions for "hard" problems
Traceback in asyncio
Task creation chain tracker
Task termination tracker
Task cancellation chain tracker
Task termination & cancellation chain tracker
Case: Backend.Al "hangs"
Case: Backend.Al "hogs the CPU"
Case: Hidden bomb inside a 3 party dependency
Lessons
Future Work
Taught by
PyCon US
Related Courses
Intro to Python for Brand New ProgrammersPyCon US via YouTube Comprehending Comprehensions
PyCon US via YouTube Data Analysis with SQLite and Python
PyCon US via YouTube Build a Production Ready GraphQL API Using Python
PyCon US via YouTube Web Development With A Python-backed Frontend - Featuring HTMX and Tailwind
PyCon US via YouTube