Happy 10th Birthday, DTrace!
Ten years ago this morning — at 10:27a local time, to be exact — DTrace was integrated. On the occasion of DTrace’s fifth birthday a half-decade ago, I reflected on much of the drama of the final DTrace splashdown, but much has happend in the DTrace community in the last five years; some highlights:
- DTrace was ported to Linux — twice
- Brendan‘s DTrace book became the canonical guide to using DTrace in practice, bringing DTrace to a new generation of practitioners
- Chris Andrews lit the way for bringing USDT to dyanamic languages with his terrific libusdt, using it to bring DTrace to node.js, bring DTrace to Lua, bring DTrace to Perl and bring DTrace to Ruby.
- Dave Pacheco became a master of the black art of DTrace ustack helpers, and developed a DTrace ustack helper for node.js, allowing for Brendan Gregg‘s amazing flamegraphs for node.js programs on SmartOS. Dave’s work was both extended to 64-bit and explained beautifully by the incomparable Fedor Indutny.
- In part shamed by Joyent customers, I expanded DTrace in the non-global zone — which was embarrassingly a problem that I had previously ducked by claiming it was “technically impossible.” (If you don’t know by now, this is often correctly translated as “I really, really don’t feel like it.”)
- Eric Schrock added the print action — which saved my butt as recently as this past weekend.
- We got the DTrace community together at the first DTrace unconference — dtrace.conf(08) — and then followed that up at an Olympiad cadence with dtrace.conf(12). The International DTrace Committee will soon be selecting the host city for dtrace.conf(16), so get those bribes ready!
And a bunch of other stuff that’s either more esoteric (e.g., llquantize) or that I now use so frequently that I’ve forgotten that there was a time that we didn’t have it (-x temporal FTW!). But if I could go back to my five-year-ago self, the most surprising development to my past-self may be how smoothly DTrace and its community survived the collapse of Sun and the craven re-closing of Solaris. It’s a testament to the power of open source and open communities that DTrace has — along with its operating system of record, illumos — emerged from these events empowered and invigorated. So I would probably show my past-self my LISA talk on the rise of illumos, and he and I would both get a good chuckle out of it all — and then no doubt erupt in fisticuffs over the technical impossibility of fds in the non-global zone…
And lest anyone think that we’re done, the future is bright, as the El Dorado of user-land types in DTrace may be gleaming on the horizon courtesy of Adam and Robert Mustacchi. I think I speak on behalf of all of us in the broader DTrace community when I say that I’m very much looking forward to continuing to use, improve and expand DTrace for the next decade and beyond!