January 14, 2012

DTrace: printf debugging for seventh-level wizards


DTrace is an extremely powerful tool for examining what a computer is doing. Even in production. Without invoking the ire of the Munin Gods.

It's also an indispensible tool for programmers who are trying to debug, optimize, or otherwise investigate what their code is doing when it ventures (and venture it must!) outside of the cozy, warm, abstract world of the Perl interpreter.

If you tend towards printf debugging, then DTrace lets you break through to some seriously next-level shit. You don't have to pollute your application's code, or even restart it(!), to begin tracing it. You can also trace the execution of other Perl modules you're using, your operating system kernel, and other applications such as MySQL or Apache. It is awesome!

This talk is intended as an introduction to DTrace for those who have maybe heard that it rocks but haven't ever used it. I'll also describe specifically Perl's support for DTrace and how to make use of the probes we've been adding.

Creative Commons License

This talk is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.