DTrace -- Most
Exposing Solaris Tool Ever
Peter Baer Galvin
DTrace is a powerful new tool that's part of the Solaris 10 release and is
available in pre-release via the Software Express for Solaris mechanism discussed
in the April 2004 Solaris Companion. Because it is unique, DTrace is a bit difficult
to describe. In this column, I'll summarize the features of DTrace, but I'll
leave it to the Solaris kernel engineers who wrote DTrace to explore it with
me in a series of questions and answers. I think that by the time you are finished
hearing the engineers talk about DTrace, and once you experience it yourself,
you'll agree with me that it's a brilliant piece of work that adds greatly to
the ability to understand the workings of Solaris.
Q&A with the DTrace Team
The following questions and answers were excerpted from an email discussion
with Bryan Cantrill, Michael Shapiro, and Adam Leventhal, of Sun's Solaris Kernel
Development team:
Q: How large was the team that worked on DTrace?
A: There were three engineers on the team -- we're a big believer in the
power of small, highly motivated teams.
Q: What was the motivation for DTrace?
A: Bluntly, when the system misbehaved, we had only ad hoc techniques for
figuring out what the hell was going on. One incident is particularly illustrative
of this: in December 1997, we were called in on a benchmarking crisis on what
was then Sun's biggest machine -- a 64 processor E10K.
When running the benchmark, the machine would periodically enter a state
where performance would drop off exponentially. The machine would stay in
this state for up to several minutes, after which time it seemed to magically
recover.
|