Slashdot Mirror


Sun Wins Top Tech Innovation Award

Carl Bialik from WSJ writes "Sun's DTrace trouble-shooting software won top prize in the Wall Street Journal's 2006 Technology Innovation Awards competition. It's the second time in three years that Sun took the top award. From the article, which also names a dozen other winners: 'Where most debugging takes place as software is being developed, DTrace analyzes problems with systems that are in production — running a company's database, say, or executing stock trades. It does this with a process called "dynamic tracing," which enables a developer or systems administrator to run diagnostic tests on a system without causing it to crash. Before DTrace, such tests often took days or weeks to reproduce the problem and identify the cause. With DTrace, performance problems can be tracked to their underlying causes in hours, even minutes.'"

111 comments

  1. Strace?! by chroot_james · · Score: 0

    What about Linux's strace?

    --
    Reality is nothing but a collective hunch.
    1. Re:Strace?! by cortana · · Score: 4, Informative

      They are pretty much completely unrelated. I think you could get dtrace to do what strace does, but strace is a special-purpose tool of very limited scope. If you think they are comparable then you don't know anything about drace.

    2. Re:Strace?! by Anonymous Coward · · Score: 0

      RTFM...

      Seriously. Go read it now.

    3. Re:Strace?! by HaeMaker · · Score: 3, Insightful

      Yea, this is the Wall Street Journal. It's like that old joke about Hollywood Squares: "According to Redbook, what is Plank's constant?" Not really an authoritative source on technical innovation.

    4. Re:Strace?! by Albanach · · Score: 4, Informative

      And this is /. where folk think strace == dtrace

      With strace can you trace everything from I/O operations through to system calls to monitor your live application without taking anything offline and get almost no performance hit?

      Like it or not, dtrace is a huge innovation - it's also open sourced and coming really soon to an operating system near you. I think anyone involved in major application deployments is going to welcome dtrace and think it worthy of the award.

    5. Re:Strace?! by ForumTroll · · Score: 1

      You know who's really not an authoritative source on technical innovation?

      People who compare strace to dtrace. In this case, the Wall Street Journal knows a hell of a lot more than both you and the grand parent poster.

      --
      "A Lisp programmer knows the value of everything, but the cost of nothing." - Alan Perlis
    6. Re:Strace?! by chgros · · Score: 1

      With strace can you trace everything from I/O operations through to system calls to monitor your live application without taking anything offline and get almost no performance hit?
      With strace you can get system calls, without taking anything offline (you can attach to a running process); I don't know about any performance hit (the man page appears to say there are some). I/O operations are usually sytstem calls so they're covered.

    7. Re:Strace?! by Anonymous Coward · · Score: 0

      Try learning about computers before posting next time, kiddo.

    8. Re:Strace?! by pete6677 · · Score: 2, Funny

      If Sun was good at hyping their products, their stock would be trading above $5/share.

    9. Re:Strace?! by Anonymous Coward · · Score: 1

      Total troll. DTrace is indeed an amazing innovation. Having used it a bit myself, I can tell you how immensely powerful it is. Sun has problems, but DTrace is definitely NOT one of them.

    10. Re:Strace?! by jericho4.0 · · Score: 1
      I, also, thought that we had something equivilant (or close enough) in the linux world. We do not. dtrace is amazingly good.

      So good, in fact, that the anouncment that it will be in the next release of OS X has gotten Apple a new customer.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    11. Re:Strace?! by andyross · · Score: 4, Insightful
      The strace tool just traces system calls on a user process. It isn't really comparable to DTrace, which is essentially a scripting language that can be hooked to any function call, anywhere in the system, including the kernel. It's quite slick.


      The closest linux equivalent is the Systemtap project, which is based on the kprobes low level hooking API. These aren't yet billed as ready for production systems, but they'll get there soon enough. They look quite slick, also.

      That said, the WSJ award seems to me to be maybe a little overstated. While Sun fanboys will shout to the heavens (with some justification, even) that DTrace is an amazing tool with absolutely no counterpart in the linux world, the fact remains that DTrace is at best an incrementally amazing tool. System performance tuning is a hard task, requiring smart developers and lots of work. System performance tuning with DTrace is a hard task requiring smart developers and a little less work.

      System performance tuning using DTrace and a typical Solaris IT wonk (a population that tends to correlate highly with the fanboys pushing DTrace the hardest) is a recipe for disaster.

      If you find someone telling you that DTrace is a must have tool and indispensable to the systems developer, apply salt. But yeah, it's pretty slick.

    12. Re:Strace?! by E-Lad · · Score: 1

      System performance tuning using DTrace and a typical Solaris IT wonk (a population that tends to correlate highly with the fanboys pushing DTrace the hardest) is a recipe for disaster.

      Care to expound on how that could be? It sounds like the most you've done with dtrace is read some online docs about it (or worse, the wikipedia entry), said "hmph" to yourself, and quickly moved on. I'm curious as to why you feel that you must spare no effort in disparaging "Solaris IT wonks" for whatever reason. Let us talk about "Linux IT wonks" and what gets them all hot and bothered to the point of fanboyism, shall we? There certainly wouldn't be a shortage of subject matter for that discussion.

      The door swings both ways, bud. Good tools are good tools and there's no harm in letting the people who like the tool also be proud of the tool. To frown on that stinks of sour grapes.

    13. Re:Strace?! by jascat · · Score: 2, Insightful

      I think what he meant was the DTrace is a tool that most system admins would have no clue how to use. If they did start digging in code, attempting to "optimize" it, things would probably break...hard. He's not necessarily downing Solaris IT wonks, as much as he is the vast sea of IT wonks that are really bad at their job, but don't realize it. Basically, the majority of the IT industry. Since no one else (expect maybe a few FreeBSD wonks) has DTrace, it's fairly safe to narrow it down to Solaris wonks, and if you would trust a typical admin with DTrace and source code, you're a braver soul that most of us.

    14. Re:Strace?! by TheRaven64 · · Score: 1
      So good, in fact, that the anouncment that it will be in the next release of OS X has gotten Apple a new customer.

      This is one of the things I am really looking forward to in XCode 3.0. DTrace by itself is pretty amazing, but DTrace plus the UI that Apple have created for it is beyond comparison.

      --
      I am TheRaven on Soylent News
    15. Re:Strace?! by TheRaven64 · · Score: 3, Insightful
      That said, the WSJ award seems to me to be maybe a little overstated.

      Sun definitely deserves an innovation award this year, but I would not have said it was for DTrace. DTrace is an incredibly nice tool, but I would put it well behind ZFS. ZFS is the first filesystem I have looked at in detail and liked everything I've seen. BeFS came close (I only found one thing I disagreed with in the design there), but ZFS does much, much more.

      The UltraSPARC T1 is also a very nice chip, and possibly deserves this kind of thing, although I am more interested in the T2 since I tend to do a lot of FPU-intensive things.

      --
      I am TheRaven on Soylent News
    16. Re:Strace?! by assantisz · · Score: 1

      DTrace does more than just tracing system calls. You can trace any function entry and exit if you desire. Many so-called providers offer hooks you can trigger on. Whatever you like to instrument in your live system, name it, script it, get results. You can query the function parameters of any function call (not just system calls, btw) and act on it.

    17. Re:Strace?! by assantisz · · Score: 1

      I think what he meant was the DTrace is a tool that most system admins would have no clue how to use.

      Any good sysadmin loves to be able to look under the hood. Yes, most will not go ahead and fix any code but at least they have a handle on what's wrong and have a lot more info they can hand over to tech support if needed. I sure hope that any decent Solaris admin is able to use DTrace. It is a wonderful tool.

    18. Re:Strace?! by chegosaurus · · Score: 1

      Couldn't agree more. Of all the new stuff in Solaris 10, I find zfs far and away the most useful in the real world. Damn, I hope it gets the success it deserves and consigns ODS, VxVM, LVM etc to the nostalgia pages.

      DTrace is amazing, but to get the most of it you need to understand your system at a far lower level than most sys-admins honestly do. I use it and I love it, but I barely scratch the surface of what it can do, because it can produce a level of detail that's so far over my head as to be useless. I imagine it's priceless for developers.

      LOVING all the "we have strace" comments! Best /. cluelessness in ages.

      press: "state of the art Ferrari wins automotive award"
      slashdotters: "So what? We have that car from The Flintstones."

  2. This isn't so easy to copy by grahamsz · · Score: 5, Informative

    DTrace has a degree of OS integration that makes it non-trivial to copy, linux's alternatives don't even come close even though a tool like this would be very useful in linux.

    For the foreseeable future, if you want to have this type of debugging on your server then the server has to run Solaris. And if your server is bigger than a 4-way then it makes sense that it's a Sun server.

    There is value in premium gear, and while it won't make Sun the next Dell, it can hopefully help improve their standing in their core market.

    1. Re:This isn't so easy to copy by Poppler · · Score: 4, Informative
      For the foreseeable future, if you want to have this type of debugging on your server then the server has to run Solaris

      Actually, there is already a FreeBSD port in the works.
      --
      What's the ugliest part of your body? Some say your nose, some say your toes, but I think it's your mind. -Zappa
    2. Re:This isn't so easy to copy by TheAJofOZ · · Score: 4, Informative

      And DTrace will be included in OS X 10.5. Apparently Sun are very happy that the technology is being ported: http://www.symphonious.net/2006/08/09/how-happy-is -sun-now/

    3. Re:This isn't so easy to copy by j0el · · Score: 2, Interesting

      Dtrace is CDDL so it probably can not be ported to Linux. But systemtap is a good alternative and pretty far along. http://sources.redhat.com/systemtap/wiki/Systemtap DtraceComparison

      http://sourceware.org/systemtap/

      Overview

      SystemTap provides free software (GPL) infrastructure to simplify the gathering of information about the running Linux kernel. This assists diagnosis of a performance or functional problem. SystemTap eliminates the need for the developer to go through the tedious and disruptive instrument, recompile, install, and reboot sequence that may be otherwise required to collect data.

      The recent addition of kprobes to the Linux kernel provides the needed support but is not easy to use. SystemTap provides a simple command line interface and scripting language for writing instrumentation for a live running kernel. Over time, we plan to enlarge our script "tapset" library to aid instrumentation reuse and abstraction. We also plan to support probing userspace applications. We are investigating interfacing Systemtap with similar tools such as Frysk, Oprofile and LTT.

    4. Re:This isn't so easy to copy by comay · · Score: 4, Interesting

      One of the most intriguing mashups of technology that's available today via OpenSolaris is BrandZ and DTrace http://www.opensolaris.org/os/community/brandz/ BrandZ allows OpenSolaris Containers/Zones to take on different OS personalities and the primary personality is one that emulates Linux. Using DTrace, one can actually dynamically trace Linux applications running (without recompilation) under OpenSolaris.

    5. Re:This isn't so easy to copy by Anonymous Coward · · Score: 0

      Sun's description about DTrace mentions that:

      DTrace fully instruments the operating system.

      I am wondering how easy/difficult would it be to install DTrace not as part of OS but as a tool to install once I have my OS (let's say Sun 10 OS without DTrace) in place. Considering the above point, seems like it will be nontrivial.

    6. Re:This isn't so easy to copy by Anonymous Coward · · Score: 0
      Check out systemtap.


      Here is an article on it. Here project page.


      What can dtrace do that systemtap cannot?

  3. cardboard inspiration by User+956 · · Score: 5, Funny

    Sun's DTrace trouble-shooting software won top prize in the Wall Street Journal's 2006 Technology Innovation Awards competition. It's the second time in three years that Sun took the top award.

    Sounds like they've put those HP founders to work, instead of just parading them around in t-shirts.

    --
    The theory of relativity doesn't work right in Arkansas.
  4. Hmmm. by jd · · Score: 1, Flamebait
    I'm not 100% sure it's a good idea to have the application run in parallel to the analyzer in a production environment. Because the analyzer must have total access to the code and data spaces of the application, any bug in the analyzer could really ruin somebody's day.


    However, inline analyzers have existed. Intel's VTune is clunky, limited in supported architectures but useful where it applies. Parallel developers might well use DAKOTA and KOJAK to do the same for MPI applications, which traditional analyzers can't handle at all. I also would not advise anyone to just use analyzers. You would be wise to monitor events - there are patches for Linux, such as evlog, which give you very flexible event logging. Linux also provides the ability to monitor all kinds of other statistics - either as standard or through patches such as Web100 (for the network) or LTT-ng (for profiling).


    Does this mean I think Sun don't deserve the award? I've not used that tool, so I'm not in a position to say. It would have to do a lot in addition to basic analysis to earn the right to be innovative, never mind the title of "top technical innovation". If it can, that's great and can Sun kindly port it to Linux. If it can't, then all I can say is that the competition must've sucked this year.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Hmmm. by Anonymous Coward · · Score: 0

      The kind of level you think these tools should have is in fact rather common on IBM's AS/400s, and System 38s before them. So it's been around for at least two decades from my experience, maybe longer. And fscking useful it is too!

    2. Re:Hmmm. by jd · · Score: 0, Flamebait

      Which only reinforces my opinion that Sun's software is not innovative. It might be wonderful, it might be a lot of things, but from what I've seen and what you say innovative it is not.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:Hmmm. by Clover_Kicker · · Score: 1

      Yeah, but there's precious little genuine innovation in this field.

      Teh new hotness always seems to be a rehash of stuff done long ago on some freaky mainframe/mini architecture.

    4. Re:Hmmm. by TheGratefulNet · · Score: 4, Insightful

      If it can, that's great and can Sun kindly port it to Linux. If it can't, then all I can say is that the competition must've sucked this year.

      what an ODD way to think of things!

      "if it doesn't run on linux then its not worth an award"

      such a small universe you live in...

      --

      --
      "It is now safe to switch off your computer."
    5. Re:Hmmm. by twiddlingbits · · Score: 5, Informative

      I used to work for Sun and DTrace is da bomb to put it mildly. It has ZERO impact on real-time execution and can even see into the OS (if you use Solaris). I've built many a real-time system over the years and having this tool would have saved me countless hours of debugger time and logic analyzer time. The one down side to Dtrace is that it does so much it is hard to Master. There is a week long course Sun reccomends before you really can get the most for your efforts. I think it deserves a place on the Innovation shelf right beside the T1 chipset. And there are plans to port a version to Linux, but it may not be free. It also probably won't be able to see as deep into the OS layers as it does with Solaris but that will come in due time. Sun's license isn't 100% compatiable with the Linux GPL either so that could be another issue

    6. Re:Hmmm. by Anonymous Coward · · Score: 1, Insightful

      You need to improve your reading comprehension skills. That is not what he said at all.

    7. Re:Hmmm. by Anonymous Coward · · Score: 0

      Typical Linux-only small-minded felchmonkey. No surprise.

    8. Re:Hmmm. by jericho4.0 · · Score: 1
      Word.

      The next big thing? Virtualization. Just like IBM has been doing for 30 years.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    9. Re:Hmmm. by swordgeek · · Score: 2, Insightful

      "Does this mean I think Sun don't deserve the award? I've not used that tool, so I'm not in a position to say. It would have to do a lot in addition to basic analysis to earn the right to be innovative, never mind the title of "top technical innovation". If it can, that's great and can Sun kindly port it to Linux."

      First of all, it does. It's a new system tracing paradigm, and that's not a word I throw around lightly. Download OpenSolaris, install it, and then see what dtrace can do before you comment on it.

      Secondly, you want it in Linux? Then why don't YOU port it? Why should Sun be bothered, when not only the design document but the actual source code is already available? Years ago, that was the rallying cry of Linux boosters: "Go write it yourself if you want it." Now I'm increasingly seeing the Linux camp DEMANDING that someone else do all of their work.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    10. Re:Hmmm. by TheRaven64 · · Score: 1
      The one down side to Dtrace is that it does so much it is hard to Master.

      This is why I'm really looking forward to OS X 10.5. It includes DTrace, and XCode 3.0 includes a really snazzy UI for it.

      --
      I am TheRaven on Soylent News
    11. Re:Hmmm. by Otter · · Score: 1
      That is not what he said at all.

      Agreed, but what he *did* say -- "I have no idea what dtrace does, but it might deserve the award or it might suck!" -- is even sillier.

    12. Re:Hmmm. by jd · · Score: 1
      No, what I said was "these are the criteria I am claiming it needs to meet to qualify as excellent and innovative respectively, it needs to meet both to qualify as both, and no matter how good it is in just one category, if it does not have the necessary qualifications then it does not deserve an award that claims it does."


      DTrace may be excellent. It may be the best program since sliced silicon. But if it's not innovative, then whatever other award it may be entitled to, it is NOT entitled to an award for innovation UNLESS all other entrants also had zero innovation. But if zero is the top score then all other entrants suck with regards to innovation. I don't see how you can possibly avoid such a conclusion. If any other entrant exceeded zero innovation, but DTrace did not, or if any other entrant exceeded DTrace in innovation assuming comparable program quality, then the other entrant was more deserving of the award. I don't see how you can possibly avoid that conclusion, either.


      On the other hand, DTrace may be highly innovative, the most innovative program the Universe has ever seen. Alien races from a thousand light-years away may be gasping in awe at the staggering freshness and novelty of the concepts contained within it. However, if the coding is crap then it is NOT entitled to an award of excellence UNLESS all other entrants are also crap. But if the coding sucks that badly all round, then all other entrants are crap with regards to programming. As before, I don't see how you can possibly avoid such a conclusion. If any other entrant exceeded zero program quality, but DTrace did not, or if any other entrant exceeded DTrace in coding standards assuming equal innovation, then the other entrant was more deserving of the award.


      Since all of this directly follows from the stipulation that an award for excellence and innovation must offer excellence and innovation (except where the best effort in either category is zero), it seems much simpler to state the stipulations and treat the reader with the courtesy and respect of assuming they can perform simple expansion of the set of invariants that must be true.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    13. Re:Hmmm. by jd · · Score: 1
      Now THAT is a genuinely informative, useful and brilliant reply. Thank you! I don't care how steep the learning curve is, to me that's a non-issue, and if the course is only a week then I don't consider that to be effort. People are in so much of a rush, these days, and learn bugger all. Learning any true craft takes time, patience and practice. A week-long course (40 hours, if it's full-time, which would be unusual) seems awfully short, when a good solid understanding of the theory, how the program relates to that theory, how to make effective use of the program and how to stretch the program to its limits would - for most computer programs - take at least a year and would likely be obsolete within five to ten years after that. (Which is why I feel that it is stupid for America to insist that its population pay for education and not provide any time for that education to occur. It leads to skill shortages, stagnation and brain rot.)


      Sun's license is a non-issue iff (no, that's not a typo) it plugs into existing instrumentation or existing patches for such instrumentation. Soft linking is not deemed a GPL issue. The same is true if Sun added a module to the kernel. There are so many hooks (such as LSM), profilers and monitors in the kernel that can be exploited - even, as in the case of LSM, when that was not the purpose of the hook, that I can see no problems with getting all the information Sun could possibly want or need without the need to introduce code that would require the GPL. And if such code were added, ONLY the hooks and inlined data grabbers would need to be GPL. It would allow anyone to write a comparable module, but a standard Linux instrumentation API is badly needed anyway and is therefore inevitable. It would seem better to have Sun set the standard, than be cut out of the market - especially with a quality product. Remember Betamax vs VHS - it's the standard that wins, even when quality is truly important.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    14. Re:Hmmm. by jd · · Score: 1
      That's because Linux geeks are increasingly wary of "Thought Contamination", "Intellectual Property" and the ghosts of AT&T lawsuits past. (If you even SEE proprietary code, you can be accused of Intellectual Property Theft if you write something similar.) SCO is doing an amazingly bad job of going that route, but the laws now prohibiting reverse-engineering and favouring legal solutions to technical problems are strong indicators that we will see more and more such cases. For this reason, Linux coders are wary of even LOOKING at Sun's code. It may be available, but if you re-use an idea seen in that code, you are liable for horrific lawsuits. There is no evidence that Sun's current management would do this, but they won't manage Sun forever and policies shift like the desert sands when things get rough. The risks and liabilities are just too damn great. It is safer to ignore the gift horse entirely than to risk the fate of Troy, even when the technology is desperately needed. It is better to live in desperation than to be sacrified on the alter of the IP Gods. Alive, you can code an alternative.


      No, Sun have skewered themselves over their license. As good as the program may be, the DMCA Death Star and Darth IP are not worth it.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    15. Re:Hmmm. by Otter · · Score: 1
      Since all of this directly follows from the stipulation that an award for excellence and innovation must offer excellence and innovation (except where the best effort in either category is zero), it seems much simpler to state the stipulations and treat the reader with the courtesy and respect of assuming they can perform simple expansion of the set of invariants that must be true.

      I'm sure we all appreciate your cutting things as short as you did, but I'd suggest that your "stipulation that an award for excellence and innovation must offer excellence and innovation" is as crushingly obvious as whatever you declined to detail. At any rate, I'm still mystified that you chose the occasion of an award for a product with which you don't have the slightest familiarity to unveil your Grand Unified Theory of Awards.

    16. Re:Hmmm. by Anonymous Coward · · Score: 0

      There's a port to FreeBSD underway. FreeBSD is BSD licensed so makes me wonder if there really is a license issue? I guess a port to Net and Open will arrive after that too... :)

    17. Re:Hmmm. by jd · · Score: 1
      99.9% of everything that has been observed is obvious. Once it has been observed. I would claim that the blatant abuse of the term "innovative" by companies, trade magazines and even those programmers who should (in theory) know better is proof enough that what is blatantly obvious to you and me is NOT obvious to a great many others. Rather, the term has become diluted and polluted to the point where it fails to serve a useful purpose and is merely marketroid mind-mangling.


      The purpose of my post was two-fold, of which one was to draw attention to awards. I do not regard it as a grand unified theory to claim that awards (a) be honest, (b) serve a purpose beyond free advertising, and (c) have integrity. I don't know what degrees you have, but I'll bet you worked damn hard for everything you have been awarded, especially any industry commendations or professional society recognition. Yet corporations (be they music, film or computer software) can get a thousand times the recognition purely on the strength of buying a bunch of judges more drinks than everyone else. Whilst you or I can be convicted in court of lying in a resume = and rightly so, when was the last time a marketing manager or CEO did time for even the most blatantly fraudulant claims, when made through a trade journal's "reviews" or "awards"?


      The second purpose was to get REAL information on the product in question. Not a list of advertised features, or even a list of actually functional features (which can be much harder to obtain), but a definitive explanation of what innovation actually exists within the product. That's not something the company will tell you. That's not even something you can gather through a code inspection. That's something you learn through cold, hard experience alone. The answer, from what I can gather, is that it does not alter the relative sizes of the time-slices and does not introduce (or eliminate) timing errors or otherwise alter program behaviour. That's a damn hard thing to do, particularly in the cases of hard real-time and parallel applications (which, these days, can mean any multi-threaded program on a multi-core and/or multi-CPU system). I believe Sun's CPUs have 6 or 8 cores, so that would include virtually everything the program is used on that is not strictly serialized. A trivial example: when message passing, a send before a receive will NOT behave the same way as a receive before a send, One will be zero-copy, the other will be buffered. By introducing even the tiniest delay in one thread but not in the other, you can alter both the code used and resource requirements. If a fault exists in only one path, the mere presence of the product can totally skew the results, making it useless for tracking runtime behaviour. It takes a lot of effort to write a program that has no visible footprint whatsoever to the other programs being run.


      Damn good run-time inspection software has been around for a long time, as the mainframe experts noted. (Which is a valid point. Mainframe time is expensive and crashing a mainframe is an open invitation to feed deep ocean trench microbes.) The question then becomes one of whether the invisible footprint is an innovation of something genuinely new, or an evolution of a pre-existing technology. Are the mainframe tools precursors or a wholly independent branch? That is an entirely valid question and one I believe is eminently suitable for Slashdot. In fact, I'd argue that it's vastly more suitable for Slashdot than almost any other tech site, because you are going to find people who actually have an answer here. There will be people with the real-life experience and skills to be able to say.


      (It always amuses me when I'm modded informative, interesting and flamebait, particularly when some of the replies get in-depth and highly informative, as it shows how different perspectives can totally alter the interpretation of a posting. If there are any psychologists reading Slashdot, this would be superb research material for a paper on the tribal nature of western society at many levels and the mutual uninteligability of those groups outside of their scope. I'll even waive my usual fee.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  5. strace by omeg12121293 · · Score: 0, Redundant

    yea What about Linux's strace? that was mentiond by chroot james

    --
    GI
    1. Re:strace by HairyCanary · · Score: 5, Informative

      strace is more like Solaris's truss, except truss is quite a lot better. IMO dtrace is for more serious debugging, tools like truss & strace are quick and dirty tools for easy to solve problems where just knowing the system call and their return values is enough to diagnose the issue.

    2. Re:strace by Anonymous Coward · · Score: 1, Informative

      strace is a tool very similiar to truss or sotruss on Solaris. These tools can be used to watch an application at it runs monitoring system calls but is somewhat archaic.
      dtrace is a monitoring tool that provides access to the entire system without worring about causing any damage to a running system. I can choose what to monitor from
      everything on the system down to watching an individual thread execute I can even access every public variable in the kernel and it is easy to use.
      Dtrace provides much of the functionality of adb,mdb, truss, tnfextract, tnfdump, and lockstat plus much much more.

    3. Re:strace by Anonymous Coward · · Score: 0

      Could DTrace be used together with Valgrind? Would that be useful?

  6. The real kudos go to the WSJ by csoto · · Score: 5, Interesting

    After all, it takes a considerable amount of insight to pick a code analyzer (admittedly one as brilliant as dtrace) as important and newsworthy. Good job, guys! It shows you can look deeply at a topic and understand what makes computer systems valuable. A lesser effort would award something from Microsoft, Google or Apple, whose products are great, but lack the sophistication of many Sun innovations.

    --
    There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
    1. Re:The real kudos go to the WSJ by I+Like+Pudding · · Score: 3, Interesting

      Sun open-sourced Dtrace. As such, somebody ported it to FreeBSD, and Apple picked it up for Leopard. The next version of Xcode is going to have a guified version called Xray built on top.

      All in all, I'm really glad to see Sun getting back into the zone with some excellent products. Dtrace and Niagra might actually get me looking at Solaris once again. I don't particularly care for the that flavor, but it's stable as hell.

    2. Re:The real kudos go to the WSJ by TheRaven64 · · Score: 2, Interesting
      Dtrace and Niagra might actually get me looking at Solaris once again. I don't particularly care for the that flavor, but it's stable as hell.

      I have an UltraSPARC machine on my desk running Solaris 10. The kernel is a joy to work with; I write code to the POSIX specs and it just works. On Linux, OS X and FreeBSD I have to spend a few hours tracking down the little corner cases where they don't quite conform to the specs (don't talk to me about realtime signal delivery).

      The init system is nice, but a little overengineered; I prefer RCng, although Launchd isn't too bad. The management GUI tools are nice, although they are real memory hogs (I OOM'd on a large compile job a few weeks ago because I'd left one running).

      The rest of the userland, however, is a disaster. The filesystem hierarchy is GNU, BSD, or SysV depending on how you look at it, and many of the core utilities are missing useful options. The default shell doesn't do things like tab completion (or even have a history buffer), and the man pages seem to be formatted for printing not on-screen display.

      It's a real shame, because the amount of effort required to make Solaris a really nice OS would be so small, but Sun aren't doing it. Hopefully OpenSolaris will start to take off, because I'd still like a Solaris kernel and a few other chunks of the base system in my next OS.

      --
      I am TheRaven on Soylent News
    3. Re:The real kudos go to the WSJ by finkployd · · Score: 3, Informative

      The rest of the userland, however, is a disaster. The filesystem hierarchy is GNU, BSD, or SysV depending on how you look at it, and many of the core utilities are missing useful options.

      Blastwave.org - not always the most up to date releases, but certainly the best replacement for those utilities you don't like.

      The default shell doesn't do things like tab completion (or even have a history buffer), and the man pages seem to be formatted for printing not on-screen display.

      It is trivial to change your shell to bash (distributed with Solaris 10). Give that these are your complaints I have to advise you to NEVER touch AIX. You think Solaris is bad in userland...

      Finkployd

    4. Re:The real kudos go to the WSJ by Anonymous Coward · · Score: 0

      Just because you are not familiar with something does not make it a disaster.
      Not everything has to look and feel like Linux.
      Not everything has to ship with 50 shells, 500 editors, and most of it half working.

    5. Re:The real kudos go to the WSJ by TheRaven64 · · Score: 1
      Blastwave.org - not always the most up to date releases, but certainly the best replacement for those utilities you don't like.

      Thanks. My biggest complaints about Solaris basically boil down to 'it's not BSD;' I never was much of a SysV fan... Actually, the big thing I don't like is that it doesn't seem to be very easy to do a minimal install of Solaris and then install the bits you actually use; I tried that and ended up with CDE but no compiler. Probably, it all boils down to familiarity. I mainly use the machine for testing; if code will run on x86 and SPARC then it will probably work anywhere.

      It is trivial to change your shell to bash (distributed with Solaris 10).

      I know, and so is zsh which I prefer on non-GNU systems. My point is that the defaults are not good. A well designed system should 'Just Work' out of the box, and not need a load of tweaking to make it useable.

      Give that these are your complaints I have to advise you to NEVER touch AIX. You think Solaris is bad in userland.

      Ugh. AIX. Thanks. Now I'm going to have nightmares tonight...

      --
      I am TheRaven on Soylent News
    6. Re:The real kudos go to the WSJ by finkployd · · Score: 1

      Thanks. My biggest complaints about Solaris basically boil down to 'it's not BSD;' I never was much of a SysV fan... Actually, the big thing I don't like is that it doesn't seem to be very easy to do a minimal install of Solaris and then install the bits you actually use; I tried that and ended up with CDE but no compiler.

      That's a good point, I have resigned myself to just always insalling "everything". Safest option but then there is a lot of "svcadm disable blah" you gotta to do make it secure.

      Ugh. AIX. Thanks. Now I'm going to have nightmares tonight...

      I will say this for AIX, there is absolutely no better volume management system out there than Logical Volume Manager for AIX. Volume manamgent on Linux and Solaris does not hold a candle to this. I got really spoiled being able to quickly, dynamically resize partitions at will on a running system.

      Finkployd

    7. Re:The real kudos go to the WSJ by TheRaven64 · · Score: 1
      I will say this for AIX, there is absolutely no better volume management system out there than Logical Volume Manager for AIX. Volume manamgent on Linux and Solaris does not hold a candle to this.

      Are you including ZFS when you talk about Solaris here? From what I've seen, it is almost as good (and better in some cases) than the VMS system, which I always considered the gold standard.

      --
      I am TheRaven on Soylent News
  7. Wall St giving out tech awards? WTF? by EmbeddedJanitor · · Score: 0, Flamebait
    What next? The Walt Disney award for OS development?

    Wall St is packed with accountants and tie-wearing beancounter types isn't it? A tech award from them would surely be an insult to any true geek!

    --
    Engineering is the art of compromise.
    1. Re:Wall St giving out tech awards? WTF? by Anonymous Coward · · Score: 1, Funny

      A tech award from them would surely be an insult to any true geek!

      Yes, much like personal hygiene or the concept of heterosexuality.

    2. Re:Wall St giving out tech awards? WTF? by vonstroodl · · Score: 2, Insightful

      Careful with the accusations of Wall Street's credibility on the subject. The award was decided by a jury of fairly distinguished members of ye olde programming community. And just to be fair, "None of them voted on any entries in which their companies or organizations may have had an interest."

    3. Re:Wall St giving out tech awards? WTF? by AxelTorvalds · · Score: 1

      Sun stock has been in the toilet for so long, they have to do shit like this to try and raise it enough to get out.

  8. oprofile, not strace by Mad+Merlin · · Score: 5, Informative

    Several people have mentioned strace, but I have yet to see anyone mention oprofile. I haven't used dtrace before, but oprofile allows you to see where an application is spending it's time transparently, with negligible performance hit, and without restarting the application.

    oprofile has been around since late 2002 it seems, so it's not particularly new either. How does dtrace compare to oprofile?

    1. Re:oprofile, not strace by ahl_at_sun · · Score: 2, Informative
      This response (from 2+ years ago) from the author of OProfile is probably as close as authoritative as you're likely to find:
      http://slashdot.org/comments.pl?sid=113922&cid=965 1408
      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.
  9. Live app debugger in Squeak/Seaside by mattr · · Score: 3, Informative

    I noted in my article Boxing in the LLRing, which despite positive responses Slashdot rejected in favor of Roland Piquepaille's daily column and various political commentary, that Squeak has an amazing debugger (I am not going to call it a full-blown analyzer) that allows you to debug applications as they are running on the very interesting Seaside application server.

    As described in this paper (pdf), Seaside provides multiple control flows and a high level of abstraction that is very useful to web app developers.

    The 4500 word article is coverage of a 300 developer "Lightweight Languages" all-day seminar held in a real boxing ring in Tokyo, covering 30 languages and frameworks including Perl, Python, Ruby, Haskell, OCaml, Squeak, and many others.

    1. Re:Live app debugger in Squeak/Seaside by cryptoluddite · · Score: 1

      Writing a debugger for a high-level dynamic object oriented language where everything is at the same level (ie the application and the OS are indistiguishable) is pretty easy.

      Writing a debugger for a low-level compiled language that crosses memory protection spaces and also integrates with high-level languages, and making it actually useful and reliable. That's pretty hard.

      I think some people here get defensive that Linux doesn't have dtrace, but Sun really deserves kudos for dtrace and even more so for helping to port it to OSX and BSD. This is what sun has always been about. For an evil multinational corporation, they rock pretty hard.

    2. Re:Live app debugger in Squeak/Seaside by Anonymous Coward · · Score: 0, Funny

      my article Boxing in the LLRing, which despite positive responses Slashdot rejected in favor of Roland Piquepaille's daily column

        That's because Mr. Piquepaille has learned how to make his spam look like a slashdot post, while you seem to have learned how to make your slashdot post look like spam.

      an amazing debugger ... provides multiple control flows ... a high level of abstraction ... useful to web app developers.

        See what I mean? You should have said some stuff about nanoparticles and asked whether snot has an impact on global warming!

  10. Sure, it's in the works by grahamsz · · Score: 3, Informative

    But a few points.

    1) You need to boot bsd specially into a dtrace mode to use this. That presumably means that the BSD version either slows the system is isn't of production quality. When my database server is dying under the load, rebooting it isn't high on the list of things I want to do.

    2) FreeBSD are pretty nimble at developing this kind of thing. I'm more curious to see how long it takes MS or Dell to have something comparable.

    3) Sun provided the source and a development machine; presumably because of FreeBSD's favorable licensing. I'm not sure that's an option for any closed source product.

    1. Re:Sure, it's in the works by saleenS281 · · Score: 1

      2) FreeBSD are pretty nimble at developing this kind of thing. I'm more curious to see how long it takes MS or Dell to have something comparable.

      Exactly when did Dell start making operating systems?

    2. Re:Sure, it's in the works by Anonymous Coward · · Score: 0

      I don't know who is dumber, your parent poster or the two schmucks who modded him up.

    3. Re:Sure, it's in the works by Fweeky · · Score: 1

      Of course FreeBSD DTrace isn't "of production quality"; it's only in a special branch of -CURRENT.

      Re "You need to boot bsd specially into a dtrace mode to use this", I'm under the impression that option is just to enable DTrace probes during kernel startup, so you can trace driver probes, filesystem init etc.

      Speaking of ports from Solaris, FreeBSD ZFS recently had a good chunk of movement.

  11. dtrace is a great peice of software by QuantumG · · Score: 4, Interesting

    and maybe after it is ported to linux/*bsd and ten years have gone by, admins will actually start using it to its full potential. Now, if someone were to code a nice gui frontend to dtrace, that'd be innovation, because it would take an absolute master of UI design to turn using dtrace into something that was easy-to-do for the uninitiated.

    --
    How we know is more important than what we know.
    1. Re:dtrace is a great peice of software by o517375 · · Score: 1

      Well, you may be ballpark right about the time frame for porting, but the sad part is that even after that time Sun will be no better for it.

    2. Re:dtrace is a great peice of software by Anonymous Coward · · Score: 0

      and maybe after it is ported to linux/*bsd and ten years have gone by [...]

      Code is available for FreeBSD, and you can even download an ISO installer with all the patches applied. There's also Xcode 3.0 that will have it.

    3. Re:dtrace is a great peice of software by univgeek · · Score: 1

      DTrace will be in OS X.5 among other BSD's. Apparently there's a nice front-end too.

      --
      All bow to his Noodliness!! His Noodle Appendage has touched me!
    4. Re:dtrace is a great peice of software by bdash · · Score: 3, Interesting

      Apple announced that the Xray developers tool in the upcoming Leopard version of Mac OS X will leverage dtrace to perform application tracing, amongst other things. Take a look at the bottom section of http://www.apple.com/macosx/leopard/xcode.html for more information.

    5. Re:dtrace is a great peice of software by jericho4.0 · · Score: 1
      Yeah, cause my mom has been waiting for this for years.

      Seriously, I don't think too many of the folks drooling over dtrace are waiting for the GUI.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    6. Re:dtrace is a great peice of software by Anonymous Coward · · Score: 0

      It will never be ported to Linux because the license CDDL prevents it.

    7. Re:dtrace is a great peice of software by LarsWestergren · · Score: 2, Insightful

      and maybe after it is ported to linux/*bsd and ten years have gone by, admins will actually start using it to its full potential.

      Porting DTrace involves messing around in the kernel of the OS being instrumented, and since the GPL forbids mixing in non-GPL code, DTrace will never come to Linux.

      I believe it has already been ported to BSD and is on the way to Mac.

      I saw a demo of DTrace at Javaforum in Stockholm a week ago, it was VERY impressive stuff.

      --

      Being bitter is drinking poison and hoping someone else will die

    8. Re:dtrace is a great peice of software by swordgeek · · Score: 1

      Sure like whining, don't you?

      If people want it in Linux, they can figure out the GPL issues that are so near and dear to their heart. A port to *BSD is already happening, and it's going to be in OS X, complete with (gasp!) a GUI frontend.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    9. Re:dtrace is a great peice of software by QuantumG · · Score: 1

      Ya know, it's not exactly hard to get dtrace onto Linux. It's not a big system, simply rewrite it. The only hard part would be not improving it as you did. (That's not a dig at dtrace, I mean that you would inevitably find ways to customize it to Linux that may make your reimplementation incompatible with the Solaris version and it would take some discipline to avoid those changes). And as for GUIs, yes, as many others have pointed out, there are some in development.

      --
      How we know is more important than what we know.
    10. Re:dtrace is a great peice of software by assantisz · · Score: 1

      DTrace is *the* tool for admins. Never before were you able to have such a detailed look into a live system. Once you have an idea where the problem might be you write a D-script that installs specific probes and monitors them (and processes the returned values in any way you want). For some admins (including me) DTrace beats calling tech support.

    11. Re:dtrace is a great peice of software by QuantumG · · Score: 1

      Thank you Solaris marketing man. I am aware what dtrace is.

      --
      How we know is more important than what we know.
    12. Re:dtrace is a great peice of software by htd2 · · Score: 1

      That may be true but its largely irrelevant because there is no interest in providing a fully instrumanted Linux Kernel or at least that is Linus's public possition on the matter.

      When dtrace first hit the streets there was a rash of Linux advocacy comparing Dtrace with one or other of the Linux "alternatives" none matched up to Dtrace for a number of reasons one of which was the lack of interest in fully instrumenting the standard Linux kernel.

  12. Admins != Developers by ovapositor · · Score: 1

    Admins are not necessarily coder are they? You have to be a fairly savy developer to be able to use Dtrace.
    You ultimately need to fix the code and need someone to modify it.

    Having said that...I am sure it will get easier to use in the future. I for one welcome all the help I can get. Admins included!!

    1. Re:Admins != Developers by afidel · · Score: 1

      Not necessarily. I've used Oracle's tools to find a bug in JD Edwards which I forwarded to support to fix. I'm a sysadmin by trade with a couple years of programming from college, but no experience in the tools JD Edwards is written in. Good debug tools can help even the people who aren't coding an app analyze it and get the information to the people who CAN fix it, this is most critical when a vendor can't reproduce a bug.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:Admins != Developers by E-Lad · · Score: 2, Informative

      You might want to check out the DTrace Toolkit and take a look at the DTrace scripts it includes. Many of the tools you see there are very admin-oriented, and those are mostly simple examples of what can be done with DTrace

      Remember, it offers observability to most, if not all, of the system in a variety of ways which makes DTrace suitable for both admins and develoopers.

  13. Pfft. Already done in air traffic control systems by Anonymous Coward · · Score: 1, Informative

    Dynamic instrumentation (you know -- the "D" in DTrace's name) has been in-use on the live air traffic control systems of several countries' Air Traffic Control systems (http://www.ocsystems.com/cs_memoryleak.html, http://www.ocsystems.com/cs_injectingfaults.html) for more than a decade.

    Your worry about bugs in the dynamic instrumentation tool affecting the production system is no different than worrying about bugs in the operating system affecting the production system and addressed the same way -- by seriously thorough testing.

  14. dltrace - libraries too by ccoder · · Score: 2, Interesting
    try out dltrace http://labs.idefense.com/labs_05.php?show=5

    It was released about 4/25, but doesn't show up when you look for dtrace - its works great in Linux/UNIX environments for tracing errors through different packages / libraries.

    great job theif!

    -Iridium

    --
    "During times of universal deceit, telling the truth becomes a revolutionary act" -- George Orwell
    1. Re:dltrace - libraries too by Anonymous Coward · · Score: 0

      I assume you're aware DTrace was made public in September 2003...

    2. Re:dltrace - libraries too by ccoder · · Score: 1

      dtrace != dltrace.  But yes, I know dtrace is a lot older.

      Just stating there are tools out there that work in similar ways. I just happen to know the guy that wrote this one.

      --
      "During times of universal deceit, telling the truth becomes a revolutionary act" -- George Orwell
  15. Yeah, that and $2.95... by NotQuiteReal · · Score: 2, Funny

    To paraphrase the old saw... That award and $2.95 ought to cover a cup of coffee - er, I mean, a cup of Java!...

    --
    This issue is a bit more complicated than you think.
  16. LTT+dprobes is a better match by r00t · · Score: 2, Informative

    Oprofile is more for profiling.

    LTT helps you analyse events as they happen over time.
    Dprobes is one possible source of LTT events.

    http://dprobes.sourceforge.net/
    http://www.opersys.com/LTT/
    http://dprobes.sourceforge.net/documentation/man/d probes/

  17. It's about time the Sun was properly recognized by Anonymous Coward · · Score: 0

    The sun has the first working positive energy fusion reactor!!! Not to mention being responsible for all kinds of gravitational effects like keeping jupiter from hitting mars... Finally it gets it's day in the, er, No I didn't RTFA... why, does it say something important?

    Everybody now! The sun is a mass of incandescent gas, a gigantic nuclear furnace...

  18. Hollywood Squares by hullabalucination · · Score: 1

    Peter Marshall: Paul, according to Redbook, what is "Plank's Constant?"

    Paul Lynde: Well, if Plank were all that constant, he wouldn't be needing that Ex-Lax, would he?

    (Uproarious laughter from the studio audience.)

    http://www.classicsquares.com/lyndesquares.html

    * * * * *

    It's only when you look at an ant through a magnifying glass on a sunny day that you realise how often they burst into flames.
    --Harry Hill

  19. Just run VMS... by ClaudeVMS · · Score: 1, Insightful

    It's so reliable you never need to look for problems.

  20. Re:dtrace is a great piece of software by comay · · Score: 2, Interesting

    Please check out the Chime project which is about visualization software for DTrace. You can find more information at http://www.opensolaris.org/os/project/dtrace-chime / For those who think that DTrace is old news, I really suggest that you download one of the OpenSolaris-based distributions http://www.opensolaris.org/os/about/distributions/ and play around with DTrace. Yes, it's CLI is aimed at the geek in all of us but there is software like Chime and MacOS X's upcoming Xray which will help with those who prefer a different sort of UI.

  21. Re:Pfft. Already done in air traffic control syste by Anonymous Coward · · Score: 0

    I wonder how much of choice Sun had in releasing this as an open source? Is Sun's DTrace is a direct descendant of military contracts such that Sun MUST release the code for free, since it was written on the people's dime, i.e. the US Mil that payed for it?

  22. Article with background by the author of DTrace by MeerCat · · Score: 3, Informative

    For those who, like me, had heard of dtrace but little more (is it like strace, for example), this is very handy article written by one of the authors in Communications of The ACM

    http://www.acmqueue.org/modules.php?name=Content&p a=showpage&pid=361&page=1

    Yeah,it's 5 pages long, so those won't RTFA are even less likely to read this, but it's a good read covering motivation, history, solution compromises and some anecdotes that could qualify for http://thedailywtf.com/

    --
    I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best
    1. Re:Article with background by the author of DTrace by swordgeek · · Score: 1

      Interesting stuff.

      I attended a lecture by Bryan Cantrill just before OpenSolaris hit the public with dtrace, zones, zfs, and persistent self-healing services. Talking to him is pretty amazing--he can make developing traces on kernel hooks an interesting and dynamic lecture topic, and then can talk about football in the next breath. Then he'll regale you (yes, I said regale) with tales of the development groups outsmarting the marketing standards board within Sun. You reaalise very quickly that he's brilliant, focussed, passionate, coherent, and genuinely likeable. He also believes in what he's doing. We need more people like him in IT, and in fact in most of the business world.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  23. Zero for sufficiently large values of zero by Anonymous Coward · · Score: 0
    It has ZERO impact on real-time execution and can even see into the OS (if you use Solaris).

    Zero as in for sufficiently large values of zero, you mean.

    A disabled dtrace probe point is a NOP or two, which certainly adds a tiny bit of overhead (icache space and instruction fetch time probably count more than the cycle it takes to run the NOP); and an enabled dtrace obviously does more (increments some counters).

    Agreed dtrace has a very elegant way of minimizing overhead; but when you write ZERO in all caps like that, you might trick people into thinking it's actually zero. OTOH, since you use phrases like "da bomb" I guess most people would have dismissed whatever you said anyway.

  24. Ugh! by jotaeleemeese · · Score: 1

    Glad to see you have rightfully been modded down....

    --
    IANAL but write like a drunk one.
  25. Mod up parent! by Anonymous Coward · · Score: 0

    Mod up the parent!

  26. Original USENIX paper on DTrace by whyde · · Score: 1

    Geesh, why does no one link to the original USENIX paper on DTrace:
    Dynamic Instrumentation of Production Systems

    Quite a fascinating read, actually.

  27. Re:Pfft. Already done in air traffic control syste by jd · · Score: 1
    It's interesting that it's done in mission-critical systems like ATC - it shows that the dynamic probes used must be of a very high grade. High-profile high-risk systems aren't the kind of thing where you fix the serious bugs later. (Can you imagine what your average 747 pilot would say if they were told to stay in a holding pattern until Patch Tuesday?)


    Oh, I worry about bugs throughout the infrastructure. OS bugs, compiler bugs, system library bugs, firmware bugs - all of these can turn even a 100% perfect application (were such a thing to exist) into a smouldering heap of junk. They are unpredictable and almost impossible to trace in those situations where the programmer only has the application to look at. Dynamic instrumentation is, I believe, slightly worse in that non-fatal bugs in a system call, for example, would eventually be inferred by observing that data is mangled after such a call in all places in the system. With dynamic instrumentation that uses embedded operations in the code, the same holds true. Instrumentation that runs in parallel and dips in at intervals is much more of a problem, as there is then almost certainly no correlation between anything in the code and side-effects from the instrumentation. You can eventually deduce that the errors must be external to the code (and all functions linked to it), but in any seriously large application, or if the OS is complex (or, worse, black-box), this can take a hellish long time.


    Probably the worst-case scenario is where the side-effects aren't direct. The instrumentation might very occasionally add a delay that, on rare occasions, causes a time-sensitive component of the application to miss a critical deadline. The bug would then not be in the code of either program, but would be in the sequence of operations of successive time-slices. Sequencing bugs are bloody murder, because they are not programming bugs. The code can be 100% clean and still have this class of bug. (Sequencing bugs are much more general than, say, race conditions, and would typically be at a much lower level.)


    Debugging programs is extremely difficult and time-consuming to do right, because by the very fact that you are running in a debugging environment, you have changed the characteristics of the environment the program is running in (unless it is ALWAYS running in such a mode). Even disregarding all the above problems, I feel certain that the vast majority of programmers have encountered bugs that cease to exist when debugging information is added, or where the program is placed in a debugger... or, for that matter, ONLY exist when debugging information is added. The last of these is particularly nasty for those in rigid work environments. If there's some bug X that users are seeing that is obscured by bug Y that is introduced by debugging/instrumentation data, there are workplaces where fixing bug Y is not permitted as it is not a user-documented bug and so no time/money has been budgetted for fixing it. That can make fixing X really fun. You can spot projects that are likely a victim of the "no complaint, no fix" attitude - they eventually work just well enough but no better, ran way over on time and are likely to be fragile under unusual conditions.


    Surprisingly, this is not a dig at the Usual Target of Slashdot Gripe. Rather, I've seen this attitude when employed within the public sector, which is notorious for producing an amazing amount of crap. Which is ironic, because the less formal and informal projects from the public sector are equal to or better than commercial projects. Sure, there are a lot of crap projects on Freshmeat, but if you look at the really good stuff, you'll see a lot comes from Government research groups, Universities and - occasionally - the US DoD, but they're all projects managed by geeks, not wannabe accountants. (How bad does a person have to be if they can only pretend to be an accountant?)

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)