Sun's DTrace taking off Java blindfold
Programmers inside and outside Sun Microsystems are beginning to fix a Solaris 10 weakness: the inability of a tool called DTrace to diagnose Java programs.
Sun executives love to boast about DTrace--the Dynamic Tracing, which lets experienced computer users see the inner workings of software. Ideally, experts can use the tool to pinpoint bottlenecks down to specific processes within software.
But DTrace isn't good at finding out what's happening with Java programs, which don't run directly on a computer but instead run in a higher-level software environment called a Java virtual machine.
"DTrace has cast light on parts of the system that were previously only dimly illuminated by previous tools, but there have been some parts of the system frustratingly left in the dark," said DTrace engineer Adam Leventhal. "Java has been relatively unobservable with DTrace."
That's starting to change now. Jarod Jenson, chief systems architect at consulting firm Aeyesis, began work developing software that would reveal some inner Java workings to DTrace. And earlier this month, Sun engineer Kelly O'Hair refined the idea and rebuilt it with more current Java technology.
DTrace engineer Bryan Cantrill has used the new software to deconstruct a Java game--down to the level of detail of watching how frequently program issued instructions to draw rectangles on the screen. However, he pointed out that unlike standard DTrace tests, a Java program must be restarted before the tool can diagnose it.
The Java interface for DTrace can be downloaded; like DTrace and soon the rest of Solaris, its source code may be scrutinized, shared and distributed under the terms of the Community Development and Distribution License. O'Hair cautioned that the software is experimental.
The software works with current and earlier versions of Java. The forthcoming version 6, code-named Mustang and due in the first half of 2006, will have built-in DTrace support, O'Hair said.