DTrace Becomes Usable on FreeBSD
daria42 writes "A project to port Sun Microsystems' Dynamic Tracing (DTrace) tool to FreeBSD appears to have achieved some initial success. DTrace was open sourced last year and is one of the coolest features in Solaris 10."
Here you got some dtrace scripts, direct from my firefox bookmarks.
--
Superb hosting 20GB Storage, 1_TB_ bandwidth, ssh, $7.95
The CDDL under which the code in question was released is a slightly modified version of the Mozilla Public License. So if you used Mozilla or firefox or whatever to post that screed, then you've clearly sinned against the church of RMS.
Oh, and the CDDL IS an OSI approved license, so that means DTrace IS (by the definition most programmers who don't wear Birkenstocks agree on) Open Source.
As a developer, if you value your work, the GPL is the better license under which to release code, as it means no-one can take your work, close the source, and sell it as their own.
CDDL Section 3.1:
So try again.Dtrace is the exact opposite of error vomit, and I dont recall ever hearing it called that anyway. The entire principle is that you dont need to go inserting metric shitloads of debugging and printf("we got here") statements all through your code, recompile it and then see that the error doesnt occur because all your debugging has now slowed your code enough to prevent the race condition that caused the original error.
True - its a L3 and developer tool for the most part, but there are plenty of scripts out there to show what it can do for an admin. Take a look at http://users.tpg.com.au/adsln4yb/dtrace.html for starters. Stuff like iosnoop, iotop, opensnoop and kill.d can be used quite regularly by admins without the need for putting debugging into active applications.
"If everybody is thinking alike, somebody isn't thinking" - Gen. George S. Patton
Dtrace is one of the best Unix development tools around, no joke. However the project is nowhere near available for FreeBSD users....
;)
From Bryan Cantrill's blog: "If you run FreeBSD in production, you're going to want John's port as it stands today -- and if you develop for the FreeBSD kernel (drivers or otherwise), you're going to need it."
Now compare this to Birrell's announcement: "There is still a lot of work to do and while that goes on, the code has to remain in the FreeBSD perforce server. It isn't ready to get merged into CVS-current yet."
Great news and nicely done... but, um, come back when it's ready for -CURRENT primetime before telling Zdnet it's ready
> It means every change is visible to you,
That's not always true. If you modify a GPL-ed web application (or server software) and don't distribute it (only run it for / show output to your visitors) -- the you don't have to publish (open source) the modifications.
Hi there, first I don't give a flying fsck whether i get l33t points over this or really whether I get modded down.
:-). I guess the real
I hope however that either of our posts get modded up so that people actually take notice of this thread.
That out of the way I don't really care whether droves of Linux/FreeBSD/OpenBSD etc.etc. users rush and adopt
(Open)Solaris. I would definitely switch to Solaris also at home instead of Linux if it supported all of my hardware
but I guess the home-user is besides the point I suppose you trying to make. Suffice it to say I can see no rush to
AIX on the pseries or to HP-UX either but that has more to do with market saturation than anything else.
The more interesting statistic to look into is how many Solaris 2.5-9 users have upgraded to Solaris 10. We admittedly
didn't get all excited about DTrace alone, actually it was Solaris Zones that pulled us in.
Oh I forgot. Microsoft Windows. Either risking to come off arrogant or preaching to the choir here, I suppose people
using that can't be expected to migrate to Solaris either, mainly because of their investment in "Microsoft Technologies" but also from my personal experience due to an (utter) lack of broad technical background on behalf of their staff.
These people for the most part don't trace first and see if they can tackle the problem. They consult "Knowledgebases" or call Microsoft.
So the question is, what rush are you expecting that nobody else is (well apart from the marketing/sales depts trying
to justify their upkeep) ??
2. Is it definitely going to work wonders for BSD. It made my life on Solaris a hell of a lot easier. It'll make
people's lives on (Free)BSD a hell of a lot easier. Soon I'm sure it will do that on Linux and after that on AIX,
HP-UX oh and maybe in a few years hence even on more esoteric systems like Stratus VOS etc.
As an administrator it does wonders for me over and over, because now I can trace SCSI cmds/responses from devices,
trace NFS problems like the one I just bragged about and the like. I get so much faster and easier clued in where
the problem is by looking at what's going on under the hood so yes it is making me vastly more productive as an admin.
3. DTrace is also useful for "regular IT folks" and I guess that's where our real mentality problem kicks in. Firstly,
even you who is definitely not an engineer can use DTRACE scripts other people develop. It's easy, at times all you
need to do is dtrace -s script.d and there you are. But going back to our mentality problem. You're right. I think
DTRACE is not really made for "regular IT folks" that are not fluent in C or don't have a working knowledge of processes/threads/user virtual address space vs. kernel address space etc. etc. I guess "regular IT folks" like that wont get much mileage out of DTRACE but still like I said they can use already developed scripts with maybe someone over the phone helping them. And that brings us to some Level 3 support guys @ SUN in Bulington... their main problem with DTRACE is not that it's of no help or no value. In fact our competition at one site opened a call with Sun on an issue we were already working on and then sent us a DTRACE script Sun support wanted to run. We compared it to our own script we had started on the problem and Sun support was looking exactly at the same cause of the problem we were
issue some of the Level 3 Support guys @ SUN in Bulington have is that DTRACE gives third parties like us a hell of a lot more clout in diagnosing problems which results in a lot less calls to them and that's making them vomit.
To tell you the truth I mulled this aspect of DTRACE over too, that it would give the customer and competitors more
insight and transparency into the system, but like you said yourself DTRACE is nothing for "regular IT folks" so
on the bottomline it's a definite plus for us.
http://sourceware.org/systemtap/
http://sourceware.org/frysk/
The whole point of DTrace is that it allows you to gather informationi nerst racehowto.jsp
that you couldn't obtain before. See some examples here:
http://blogs.sun.com/roller/page/bmc/20040805
here:
http://users.tpg.com.au/adsln4yb/dtrace.html#OneL
and here:
http://www.sun.com/software/solaris/howtoguides/d
Declaration of interest: I work for Sun, use DTrace, demonstrate it and
see the expressions of stunned delight on the faces of people
when they suddenly recognise its power.