PyCon 2019 in Cleveland, Ohio

Sunday 1:10 p.m.–1:40 p.m. in Grand Ballroom A

Logging for Scientific Computing: Reproducibility, Debugging, Optimization

Itamar Turner-Trauring


When it takes hours or days to run your computation, it can take a long time before you notice something has gone wrong, so your feedback cycle for fixes can be very slow. If you want to solve problems quickly—whether it's inconsistent results, crashes, or slowness—you need to understand what was going on in your process as it was running: you need logging. In this talk you'll learn how to use the Eliot logging library to create causal traces of your computation, including intermediate inputs and outputs. You'll then see how these traces can help you: * Ensure the computation ran as expected. * Debug problems that may have occurred far along within your computation. * Identify and localize performance problems: which parts of your computation were slow, and what arguments were involved.