Monitoring Asynchronous Applications

Accepted Session
Short Form
Scheduled: Wednesday, June 22, 2016 from 2:30 – 3:15pm in B302/303


The lure of asynchronous programming is that it will make your application run faster and your code simpler to reason about. So we have our wonderfully efficient non-blocking app; how do we check that it's delivering the goods performance wise?


Is your asynchronous application as good as you think it is? Other activity in an asynchronous app affects response time and task completion, differently than it does in a synchronous one. Now that pieces of code are flying around in a mixed up order, what should we measure to make sure we are really seeing this fast magic, and how do we measure it?

I’ll quickly walk through building an app using coroutines and event loop callbacks in Python. Then we’ll look at things like response time, wait time, and total duration, and how to connect the pieces together. In the end, we’ll have a cohesive picture of what’s actually happening while our application is in flight.

I will be giving examples in Python, but the principles should be applicable to any framework that uses an event loop and/or coroutines.


performance, async

Speaking experience

In the last year I've given talks at OSCON, PyCarribbean and OSB (2015). I'm also an organizer for PyLadies PDX where I lead workshops.


Leave a private comment to organizers about this proposal