Life without DTrace

As a member of the Solaris Kernel Group, I’ve obviously developed an affinity for using Solaris. There are tools like truss(1) and pstack(1) that come out of my fingers before I know what I’m typing, and now DTrace has taken such a central role in how I develop software, administer boxes, and chase down problems that I can’t imagine doing without it.

Except sometimes I do have to do without it. As much as I love Solaris, I still own a PowerBook G4 from a few years ago which has survived thousands of miles, and dozens of drops. It’s a great laptop, but I have no idea how anyone does any serious work on it. I think DTrace must have made me lazy, but even finding out simple information is incredibly arduous: tonight the VPN application was being cranky so I wanted to look at what was going on in the kernel; how do I do that? When Safari‘s soaking up all my CPU time, what’s it doing? There are some tools I can use, but they’re clunky and much more cumbersome than DTrace.

When I was shopping for a car a few years ago, I looked at one with a very reasonable 190-horsepower engine and pricier one with a 250-horsepower bi-turbo. From the moment I test drove the latter on the freeway, dropped it into 4th, and felt it leap up to 75mph in an instant, I knew I’d never be satisfied with the former. Be warned: you should only test drive DTrace if you think you’ll have the chance to buy it — I doubt you’ll be able to settle for puttering your way up to 65mph again. Luckily, Solaris won’t put such a big ding in your wallet ;-)

Posted on June 24, 2004 at 1:15 am by ahl · Permalink
In: DTrace

3 Responses

Subscribe to comments via RSS

  1. Written by Ben Humphreys
    on June 24, 2004 at 3:00 am

    I work for the backline kernel support group at Sun, where we have had a taste good of DTrace but still obviously have to deal with customers systems running Solaris 9 and prior.
    I can tell you one of the most common phrases you hear in our group these days is….. “if only they were running Solaris Express”.

  2. Written by Adam Leventhal
    on June 24, 2004 at 10:26 am

    Seriously! When we in kernel development are looking at a problem in Solaris 9 or earlier, our first step is to try to reproduce it on Solaris 10 — and we’ve been doing this now for more than a year on prototypes of DTrace. It’s like when I go to a hotel room and try to use the remote to fast-forward through commercials…

  3. Written by Keith Adams
    on June 24, 2004 at 11:10 am

    DTrace is off the hizzle. Having played with it for just a week or so, I never want to have to work in an environment without it again.
    Sadly, Solaris is not, and may never be, my primary development environment. Sun has customers running Linux, no? How hard would it be for you guys to hire some Danish masters student and pay him in Slashdot moderation points to do a Linux port? Obviously the probes would be different, but a lot of the stable abstractions you discuss could be the same. It’s conceivable that you could use the same D scripts to make apples to apples comparisons of Linux and Solaris behavior.
    Of course, the patch against the kernel would have to be GPL, unless you could structure it all as a module. Pretty please…

Subscribe to comments via RSS