DIY::Thread.profile - Light-Weight Profiling in Pure Ruby

Short Form


Whether your application is concurrent or not, there's insight to be gained from Ruby's threading support.


This talk demonstrates building a light-weight sampling profiler in pure Ruby. The techniques are simple enough to integrate into almost any application, and fast enough for even a production environment. If you’ve ever wondered exactly what your application is doing at any given moment, this will show you how to find out.

Along the way we’ll expose gotchas and pitfalls of thread introspection on the many versions and implementations of Ruby. Based on experience implementing thread profiling for New Relic, we’ll also touch on how to debug and work around problems when they come up.


Ruby, threading, profiling

Speaking experience

This talk was given previously at MtWest Ruby Conf 2013.

I've spoken at several Ruby conferences over the past year including Mt. West Ruby, RubyConf, CodeMash and Ruby on Ales.

Slides from prior talks are available at
Videos at