Jump to content

DTrace

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 12.197.183.194 (talk) at 14:02, 14 June 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems. It was released under the Common Development and Distribution License (CDDL) in January 2005 and included in Sun's Solaris 10 for troubleshooting system problems in real time. DTrace was the first component of the OpenSolaris project to be released under the CDDL.

DTrace is designed for tuning and troubleshooting of applications and the OS itself, giving its user operational insights with which they can make performance gains. Special consideration has been taken to make it safe to use in a production environment. For example, there is minimal probe effect when tracing is underway, and no performance impact associated with any disabled probe; this is important since there are literally tens of thousands of DTrace probes that can be enabled.

Tracing programs (also referred to as scripts) can be written using the D programming language (not to be confused with other programming languages named "D"). The D language for DTrace is a subset of C with added functions and variables specific to tracing. D programs most resemble awk programs in structure; they consist of a set of actions rather than a top-down structured program. In a DTrace program, one or more probes (instrumentation points) are enabled; whenever the condition for the probe is met (the probe "fires"), the action associated with the probe in the DTrace program is executed.

DTrace was designed and implemented by Bryan Cantrill, Mike Shapiro, and Adam Leventhal. The authors received recognition in 2005 for the innovations in DTrace from InfoWorld and Technology Review.[1][2] DTrace won the top prize in the Wall Street Journal's 2006 Technology Innovation Awards competition.[3]

DTrace implementations require tight integration with the operating system kernel. Although DTrace was initially written for Solaris, its source code is freely available as part of the OpenSolaris project, and work is in progress to port it to FreeBSD (in which there has been initial success[4] as a substitute for the ktrace utility). On August 7, 2006, Apple announced that DTrace will be built into Mac OS X 10.5 "Leopard".[5]

References

  • Bryan Cantrill (2006). "Hidden in Plain Sight". ACM Queue. 4 (1): 26–36. doi:10.1145/1117389.1117401. ISSN 1542-7730. Retrieved 2006-09-08. {{cite journal}}: Unknown parameter |month= ignored (help)
  • Bryan M. Cantrill, Michael W. Shapiro and Adam H. Leventhal (2004). "Dynamic Instrumentation of Production Systems". Proceedings of the 2004 USENIX Annual Technical Conference. Retrieved 2006-09-08. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |month= ignored (help)

Notes

  1. ^ "Tracing software in real time". Technology Review. MIT. 2005. Retrieved 2007-03-31.
  2. ^ McAllister, Neil (2005). "Innovation is alive and well in 2005". InfoWorld. IDG. Retrieved 2007-03-31. {{cite web}}: Unknown parameter |month= ignored (help)
  3. ^ Totty, Michael (2006). "The Winners Are..." The Wall Street Journal. Dow Jones & Company, Inc. Retrieved 2007-03-31. {{cite web}}: Unknown parameter |month= ignored (help)
  4. ^ LeMay, Renai (2006-05-29). "DTrace reaches prime time on FreeBSD". ZDNet Australia. Retrieved 2007-04-15. {{cite web}}: Check date values in: |date= (help)
  5. ^ "Mac OS X Leopard Sneak Peek - Xcode 3.0". Apple, Inc. Retrieved 2007-04-15. (this link is invalid)