DTrace Topics OSes
 DTrace Topics: OSes
This article is about DTrace support on different Operating Systems, and is part of the DTrace Topics collection. A general understanding of DTrace is assumed knowledge, which can be studied from the DTrace Topics: Intro section.
DTrace is a dynamic troubleshooting and analysis tool first introduced in the Solaris 10 and OpenSolaris operating systems.
Completion Audience Everyone
DTrace is fully supported and integrated in Solaris 10, and future Solaris releases.
- 2001, October - work began
- 2003, November - DTrace was released as beta software as part of Solaris Express 11/03. See Bryan Cantrill's newsgroup posting.
- 2005, March - DTrace was released in Solaris 10 3/05
DTrace is fully integrated.
- ?, DTrace was integrated in build 43
 MacOS X
Apple has successfully ported DTrace, which appears ready to be shipped with MacOS X Leopard sometime soon.
- 2006? - work began
Apple engineers: James McIlree, Tom Duffy, Steve Peters and Terry Lambert.
- OpenSolaris allows Linux apps to be DTraced in a BrandZ zone.
- SystemTap is in development, a beta version can be downloaded.
- 2006, Sep - BrandZ integrated into Solaris and OpenSolaris
- 2005? - BrandZ work begins
- 2005? - SystemTap work begins
 Microsoft Windows
It is not known of any planned port of DTrace to the Windows operating system. (Yes, I'd love to DTrace Windows too).
It may be possible to DTrace the operation of an emulator, such as Wine, and as such see the operation of a program. This would not be able to troubleshoot all issues, such as certain interactions with the operating system.
Most of the initial porting-work was already done 2006, but licensing issues prevented the integration into the source-tree of the FreeBSD-project. After working around this problem by putting everything into a seperate module, so no parts of the kernel-source have to contain CDDL-licensed code (just like ZFS on FreeBSD), the porting was finished. DTrace is now part of FreeBSD-CURRENT (development branch, 8.x) and it's planned to merge the code into 6.x and 7.x as well.