DTrace on Geek Muse

Guest Author

DTrace was recently featured on episode 35 of Geek Muse. DTrace was brought to their attention because of John Birrell's recent work to port it to FreeBSD (nice work, John!). The plug was nice, but I did want to respond to a few things:

DTrace was referred to as "a scripting language for debugging". While I can understand why one might get that impression, it's kind of missing the point. DTrace, concisely, is a systemic observability framework that's designed explicitly for use on mission-critical systems. It lets users and system administrators get concise answers to arbitrary questions. The scripting language aspect to DTrace lets you express those questions, but that's really just a component. James Dickens took a stab at an all-encompassing definition of DTrace....

One of the podcasters said something to the effect of "I'm just a web developer..." One of the great things about DTrace is that it has uses for developers at almost any layer of the stack. Initially DTrace could only view the kernel, and C and C++ code, but its release in Solaris 10 well over a year ago, DTrace has been extended to
python, perl,
and a handful of other dynamic languages that folks who are "just web developers" tend to use. In addition to being able to understand how your own code works, you'll be able to see how it interacts with every level of the system all the way down to things like disk I/O and the CPU scheduler.

Shortly after that, someone opined "I could use it for looking at XML-RPC communication". For sure! DTrace is crazy useful for understanding communication between processes, and in particular for XML-RPC for viewing calls and replies quickly and easily.

At one point they also identified the need to make sure users can't use DTrace to spy on each other. By default, DTrace is only executable by the root user. System administrators can dole out various levels of DTrace privilege to users as desired. Check out the manual -- and the security chapter in particular.

Technorati Tags:

Join the discussion

Comments ( 3 )
  • Nem Schlecht Friday, June 16, 2006
    Hey Adam.
    I'm the one who said "scripting language", Travis had the XML-RPC comment. Like I said in the podcast, I just started looking at Dtrace, and I was immediately impressed (I hope I at least got that across in the podcast).
    Being a UNIX guy, I consider remarking that something is like a scripting language to be a compliment. ;-)
    If you're interested, we'd love to you have on the show to talk more about Dtrace (and set me straight!)
    -- Nem
  • Adam Leventhal Friday, June 16, 2006

    Done and done. I'll send you some mail.
  • trav Saturday, June 17, 2006
    Yeah, that was me with the (in hindsight) self-depricating "just a web developer" bit. I use FreeBSD on my server here at home, so I'll have to play with the PHP extensions. I've got a really big web engine project coming up where I'll need to squeeze every ounce of performance I can, so this could turn out to be really useful.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.