Solaris' Dtrace in Detail
paulkoan writes "The Register has a further details about the new Dtrace systems utility bundled with Solaris 10, along with pictures of the authors, and user testimonials. It also highlights Suns vague assurances that this (if it lives up to the hype) amazing utility may or may not end up in the public domain."
Dtrace is a lovely mechanism, and once it's out in production Solaris (and maybe Linux) I'm going to write a new TPS/response-time monitor using it.
davecb@spamcop.net
Sounds great and I am quite impatient to see how it works (take a mental note to increase the priority of the Solaris upgrade on one of my toy SPARCs). I can see a growing need for a non-obtrusive profiling tool. As a matter of fact I started writing something which may be similar to dtrace for Linux and it is for a long time in my TODO to port it to Solaris and maybe IRIX.
I'm not sure how much of an indicator the open sourcing of looking glass is for what Sun decide to do with dtrace. Looking Glass never seemed to be anything more than a nice piece of eye candy to showcase the java desktop (the real product they were flogging). dtrace on the other hand looks like being one of their biggest pieces of product differentiation for Solaris in years. We all know how finance departments like those transactions-per-second->cost-per-transaction figures in making procurement decisions...
I suppose we'll have to wait and see...
Not to be the devils advocate, but Microsoft has offered excellent detailed profile management via perfmon for quite some time now. You can inspect disk IO per-processes, memory per-processes, page faults, etc. etc.
It's a bit of a misnomer to characterize dtrace as the first application for doing this, although I will say it's among the first that I have seen that is scriptable (a huge advantage when troubleshooting problems remotely).
Eric Sarjeant
eric[@]sarjeant.com
Dictionary.com diagrees with you sir!
"A dramatic advance, especially in knowledge or method...This term originated as quantum jump in the mid-1900s in physics, where it denotes a sudden change from one energy state to another within an atom. Within a decade it was transferred to other advances, not necessarily sudden but very important ones."
(As a side note, I did a google on quantum leap definition and got a lot of results using the example sentence ""this may not insure success but it will represent a quantum leap from last summer"
The exact same sentence! Which if my knowledge of English serves, incorrectly uses 'insure' where 'ensure' was intended. Am I wrong? Either way, just goes to show the Internet is just a mass of plagiarism)
They seem to have a lot of praise from users, not just market speak. And technical users yet.
I'd be very, VERY surprised if Sun allows Dtrace into the open source world, at least not for a while. If Dtrace really is the supertool it seems to be, and is actually and massively UNIQUE, it represents a reason peole will move to Solaris and buy Sun's hardware to do it. Maybe the closest thing to a Unix killer app that has existed for a while.
Now eventually (as in five years down the road) it will probably pay for Sun to open it up. If I were them, I'd milk it for all its worth on the "get people to move to Sun boxes" mantra, while the rest of the world trys (and probably fails) to duplicate the tool. Then, when Sun has gotten all the converts they are likely to, start making the tool even BETTER by opening it up and letting the world go to town on it. (GPL or something similar so Sun can incorporate back in the goodies.)
Of course, that's just an off the cuff theory by someone who doesn't know.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
How does Dtrace for Solaris differ from Kprobes and Dprobes for Linux ??
VERY cool indeed. Seems better than any tool for any OS I've seen. The closest would be process explorer from sysinternals but the level of detail is nowhere near what dtrace provides. For instance one thing that I've never been able to figure out is how to backtrace a file lock to the owner process.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
I don't think Sun's open sourcing the thing will help Linux users much anyway, the kernel design is probably very different, with more evolved semantics. Which means Linux developers will hae to do the work themselves if they want their admins to have these facilites.
Note that this is finally a tool to resolve finger-pointing *it's your app that's slow - no it's the kernel etc* . I guess IBM will find it advantageous to create a similar Linux tool for their systems, as they bill Linux as an application serving environment. So we should see it soon on our own boxen.
The sad thing is this proves once again that closed source companies retain an edge at innovating.
This is not a signature.
actually that's not true. Kerninst does exactly that.
Kerninst is a framework for dynamically splicing code into a running kernel, almost anywhere, anytime. Code can be removed and changed at will. Kerninst works on standard (unmodified) Solaris and Linux kernels, *no* kernel re-compilation is necessary.