Print

DTrace: Anatomy of a ‘Rock Star’ Application


The makers of the mega-hit dynamic tracing framework discuss changes in development


Alex Handy
Email
October 15, 2006 —  (Page 1 of 6)
Adam Leventhal, Mike Shapiro and Bryan Cantrill are rock stars at Sun Microsystems. The three have spent almost the entire new millennium working on DTrace, the ground-breaking dynamic tracing framework in Solaris 10 that has won a dedicated following and much praise in the industry and press.

DTrace gives developers a view from the top of an application to the bottom. Using either prewritten probes or those written in the tool’s D language, DTrace follows a process or thread from its initiation to its termination. That gives developers a view into what resources are being used, where slowdowns occur, and where serious errors enter the data stream.

We sat down with staff engineer Leventhal, distinguished engineer Shapiro, and senior staff engineer Cantrill to discuss the genesis of the DTrace project, and to talk about how software has changed over the past 10 years.

Adam Leventhal: DTrace…was designed to be able to answer arbitrary questions with concision. There are two aspects to the power of DTrace. One is the dynamic nature of it: being able to ask arbitrary questions from any place in the system, from the lowest levels like the I/O subsystems and scheduling, through the kernel and system calls, all the way up to areas of Java and userland and things like that—aspects of any piece of the system. The other is that you can gather arbitrary data that is not just a predetermined payload, but rather anything you can think of. It was designed for production systems, meaning that it needs to always be safe. There can never be some way you could instrument the system in a way that could crash it or cause data corruption. Which is very different than any other tracing framework that's been designed in the past, or any sort of analysis tool that was designed in the past. They've either been these static tools which don't let you have the sort of breadth or depth or observability. Or they've been designed for developers in development, not for production systems.




Pages 1 2 3 4 5 6 


Share this link: http://sdt.bz/29691
 
Most Read  Latest News  Resources

close
NEXT ARTICLE
Application Developers Alliance grows in first year
Coder advocacy group creates resources to aid in business development Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
MAY 2013 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?