Introduction to profiling python performance with USDT

As of Python3.6 SystemTap/DTrace probes have been added to the python interpreter which mean that we have the ability to inspect GC pause, function entrance and exit and a few other internal procedures of the process. Using these markers, we can diagnose the most difficult of runtime issues with unprecedented access to the running state of the application, in particular allowing SysAdmins/DevOps/Production Engineers to better understand why a particular application is misbehaving.

In this talk, I'll explain what these probes are, how it works and provide examples as to how you can leverage the SystemTap and BPF interface to debug some of the more complex systems. I will cover when these tools are the right thing to use and give insight to when you should be using something different and more appropriate.

Presented by

Chris Miceli

Chris is a Production Engineer at Facebook in the Live Video Infrastructure team, working on Facebook Live. Building infrastructure tooling extensively in Python3 as well as being particularly excited in the BPF work done by Brendan Gregg and co, including the python tooling around that.