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."
It also highlights Suns vague assurances that this amazing utility may or may not end up in the public domain."
so, we are assured of a and !a ???
Trolling using another account since 2005.
It looks like it's an allround system monitoring and administration tool. But how is it different/better than a well-sorted collection of individual tools, each doing one job as good as possible?
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
This article seems like it was written by Sun. I bet it's one of them junket articles, Sun must be a major sponsor of theregister.co.uk or something...
The article says what this D-Trace does, but yet, doesn't... Not to mention it's neither objective, review like, and even fails to mention alternatives or relative tools
Definately one of the poorest software article's I've seen in a while
Slashdot is making me bitter (-;
Complete CCTV Security Cameras
Gamblers Forum
Bingo!
In fact, you can bet your life that it will or won't show up in public domain.
Now this is what I call a nice and reputable company! At least they keep what they promise!
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.
An excellent article at sys admin mag.
No, linux does not already do this.
Solaris users could not care less whether Sun ports it to linux or not.
Sun are *not* evil because they don't immediately give away the source to a product which has taken them years and $$$s to develop and which gives them an edge in a competetive market.
Some people just prefer Solaris. If you prefer linux, that's fine.
I bet someone has to DTrace his slashdotted server real soon now..
So if some software isn't in the Gentoo portage tree you won't run it on your Solaris boxes at work?
This is proprietary software for a version of Solaris which isn't even out yet.
Remind me not to employ you as a Solaris sysadmin. Hell, remind me not to employ you to make the tea - we might have different cups at work and you wouldn't know what to do with them.
Chernobyl 'not a wildlife haven' - BBC News
No, he means that it's a relatively large change with no intermediate positions.
"very small" is only your perception of the size of change. Moving between a base state and an excited state is a pretty big thing for an atom.
No, we're vaguely assured that [i]true[/i].
It's a hugely complicated problem and it doesn't have a simple solution except in the minds of markedroids.
I think you do not have a good understanding of the meaning of the word quantum.
Quantum means 'a level, or fixed amount'. In Quantum mechanics this refers to the smallest observable physical effects. At which point changes in energy are in fixed 'Levels' (ohh like Qunatums) rather than smooth functions.
So in this article he is saying that this has reached the next level. And that you are a dimwit.
Thank you very much,
QED
----- 70% of all statistics are completely made up.
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
Sun's vacillation about open source reminds me of the philosophers in the Hitchhiker's guide.
``But who the devil are you?'' exclaimed an outraged Fook.
``We,'' said Majikthise, ``are Philosophers.''
``Though we may not be,'' said Vroomfondel waving a warning finger at the programmers.
``Yes we are,'' insisted Majikthise. ``We are quite definitely here as representatives of the Amalgamated Union of Philosophers, Sages, Luminaries and Other Thinking Persons, and we want this machine off, and we want it off now!''
``What's the problem?'' said Lunkwill.
``I'll tell you what the problem is mate,'' said Majikthise, ``demarcation, that's the problem!''
``We demand,'' yelled Vroomfondel, ``that demarcation may or may not be the problem!''
``You just let the machines get on with the adding up,'' warned Majikthise, ``and we'll take care of the eternal verities thank you very much. You want to check your legal position you do mate. Under law the Quest for Ultimate Truth is quite clearly the inalienable prerogative of your working thinkers. Any bloody machine goes and actually finds it and we're straight out of a job aren't we? I mean what's the use of our sitting up half the night arguing that there may or may not be a God if this machine only goes and gives us his bleeding phone number the next morning?''
``That's right!'' shouted Vroomfondel, ``we demand rigidly defined areas of doubt and uncertainty!''
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
Dynamic Instrumentation of Production Systems - this paper was presented at Usenix, and describes how Dtrace is actually implemented.
Dtrace user guide.
A collection of Dtrace scripts
Grr. No-one understands what I meant.
Which is what - you don't have an opportunity to play with it at home? But you do - you can get a Solaris 10 preview through their Sun Express program (linked in the article) and install it on another box, in VMWare, etc.
How does Dtrace for Solaris differ from Kprobes and Dprobes for Linux ??
Give system catchy name, vaguely reminiscent of Eminem's rap group
I'm sure they did this to appeal to the disproportionately-large numbers of African-Americans in the field of computer science.
Not sure what all the hype is about, DTrace sounds alot like HP's Measureware and PerfView. Bundling it with the OS for no addition cost, that sounds good to me.
Slashdot - Where the slash is most definitely to the left.
Well you CAN get Solaris 10 preview from the Express program. It's free for non-commercial use and available for x86. Downloads available here. Check out the hardware compatibility list for x86 here (don't see one specifically for Solaris 10 Express, probably the Solaris 9 list applies).
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
If it doesn't make me say "Oh boy..." in a resigned kind of way it is no Quantum leap.
As opposed to humans, who usually exhibit more of their base states when excited.
The Kernel Instrumentation Process has already started creating the foundation for a kind of dtrace functionality. The profiling mechanisms appear to echo some of what Sun has done to Solaris to enable this kind of process-less profiling. Hope someone is still pushing this along...
DaGoodBoy
My God! It's full of Voids!
- The execution path is different between the profiled and non-profiled library, so you can not be 100% assured you are getting the same result.
- To engage a profiled library you have to stop and start the target process, and often play all sorts of pre-load and path games.
- Looking into the kernel requires even more invasion, and can mean rebooting the server.
Basically, the idea here is that you don't have to use a possibly "different" library, and you can instrument code on the fly (without stopping the process or the box). This is really nice for production boxes where any interruption or change of software is a really big deal.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.
I'll have to start using that in my conversations about lusers. "I wouldn't call him stupid; let's just say he doesn't have a good relationship with his brain..." :)
Sinepaw.org: Grape Winos
Aside from the fact that this tool works with non-profiled binaries, I fail to see the revolutionary aspect.
try reading some of the related links (like the bigadmin dtrace site, the usenix paper, the com.unix.solaris post, or the sys admin magazine article) and you'll quickly realize why this is a revolutionary tool.
the profiling facility is only one of the information providers that dtrace has.
other providers include:
- a function provider (allows you to monitor calls into any kernel function entry or exit point )
- a system call provider
- io provider
- process scheduler provider
- process provider (allows you to place probes in userland processes.)
- the list goes on
these providers taken together allow you to place probe points all over the kernel and userland processes where each probe point can return whatever information you want. (ie, you can get function argument/return values, you can access globals, you can troll kernel data structures, you can collect you own statistics, etc.)
that's a lot of potential information, so dtrace provides you with an easy programmatic way to drop data your not interested in. how about only collecting data when a particular function returns an error after being called from a particular process with a certain parameter set. easily done in dtrace.
then your simple dtrace script can correlate information from all these providers and display it clearly. (with a language which was designed to make simple statistical analysis easy via built in functions for aggregations, averages, etc.)
and of course the best part is that you can do all of this on a production system, running production software, and under normal load.
obvious disclaimer: i work for sun.
I wrote OProfile, and I currently use DTrace daily, and I can assure you that you are wrong when you claim they do the same thing.
OProfile is useful for measuring system-wide resource consumers (for example, you can see what pieces of code are causing cache misses in the kernel when your apache process is in the kernel etc, or which user processes take up the most CPU time).
DTrace can also do something similar (though it needs a little more work yet). But DTrace does a LOT more than this. Imagine a system-wide (kernel, binaries, libraries) 'strace', where you can trivially choose what to print out, and what parts to strace, and under what circumstances. DTrace does even more than that.
OProfile can't tell you exactly why your system call is returning EINVAL. OProfile can't tell you why your application is causing cross-calls. OProfile can't tell you what processes are writing to what files, in real time. OProfile can't debug race conditions.
OProfile is a profiler: it does its job and nothing more. DTrace is, essentially, an instrumentation suite; one of its abilities is to function as a simple profiler.
You won't really get a notion of why DTrace is so useful until you try it.
-- Remove the trailing '\0' to email me.
There's an old saying, "you are what you hold yourself accountable to".
In that sense, Sun is no Microsoft. They are a hardware company that provides services, plain and simple. The only reason why they are cold to Linux is because it pits Sun servers directly against x86 commodity PC's - otherwise they are all for it.
Once the dust settles on their bread and butter revenue stream, you can better believe that they will be open-source all the way. But right now they need to force some differentation with their hardware because in most cases they simply can't compete against an x86 farm in the server space. All the rest of the BS about new accomplishment is just propaganda, I would ignore it.
I know I would pay big dollars, say like $28, for a box that ran infinitely fast.
This could be the diet pill for software bloat that we've all been looking for.
Sounds just like Shark for Mac OS X.
. ht ml
If DTrace is better than Shark, it must be an awesome tool. Shark does everything this article describes and far, far more:
http://developer.apple.com/tools/shark_optimize
The 4.0 version of Shark shown at WWDC was even better. In many cases, Shark can actually give you specific directions on how to optimize your code: both at the source and instruction level.
DTrace is not the SE toolkit. The SE toolkit used a similar method (little langugae scripts) to collect data that was made public by the kernel.
DTrace takes advantage of monitoring hooks placed throughout the kernel and in every system call, and it does things that SE never could.
Furthermore, one look at the DTrace manual and your boss will shit his pants. This is not PHB material by any means.
Chapter 1: The D prograsmming Language...
I was reading the examples of using DTrace to spot performance issues.
It seems to be that most of them could have been caught with code reviews.
Perhaps with tools like DTrace, you can spot performance issues more quickly. But I believe a good code inspection regime could catch these problems and more.