DTrace

DTrace
Original author(s)Bryan Cantrill, Adam Leventhal, Mike Shapiro (Sun Microsystems)
Developer(s)Sun Microsystems, Oracle, Microsoft
Initial releaseJanuary 2005; 19 years ago (2005-01)
Repositorygithub.com/opendtrace
Written inC
Operating systemSolaris, illumos, macOS, FreeBSD, NetBSD, Linux,[1] Windows[2]
TypeTracing
LicenseCDDL, GPLv2, UPL
Websitedtrace.org

DTrace is a comprehensive dynamic tracing framework originally created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released under the free Common Development and Distribution License (CDDL) in OpenSolaris and its descendant illumos, and has been ported to several other Unix-like systems.

DTrace can be used to get a global overview of a running system, such as the amount of memory, CPU time, filesystem and network resources used by the active processes. It can also provide much more fine-grained information, such as a log of the arguments with which a specific function is being called, or a list of the processes accessing a specific file.

In 2010, Oracle Corporation acquired Sun Microsystems and announced the discontinuation of OpenSolaris. As a community effort of some core Solaris engineers to create a truly open source Solaris, illumos operating system was announced via webinar on Thursday, 3 August 2010,[3] as a fork on OpenSolaris OS/Net consolidation, including DTrace technology.

In October 2011, Oracle announced the porting of DTrace to Linux,[4] and in 2019 official DTrace for Fedora is available on GitHub. For several years an unofficial DTrace port to Linux was available, with no changes in licensing terms.[5]

In August 2017, Oracle released DTrace kernel code under the GPLv2+ license, and user space code under GPLv2 and UPL licensing.[6] In September 2018 Microsoft announced that they had ported DTrace from FreeBSD to Windows.[2]

In September 2016 the OpenDTrace effort began on github with both code and comprehensive documentation of the system's internals. The OpenDTrace effort maintains the original CDDL licensing for the code from OpenSolaris with additional code contributions coming under a BSD 2 Clause license. The goal of OpenDTrace is to provide an OS agnostic, portable implementation of DTrace that is acceptable to all consumers, including macOS, FreeBSD, OpenBSD, NetBSD, and Linux as well as embedded systems.

  1. ^ Wim Coekaerts (2011-10-09). "Trying out dtrace". blogs.oracle.com. Retrieved 2018-02-15.
  2. ^ a b "OS internals: Technical deep-dive into operating system innovations - BRK3365". Microsoft Ignite Channel. 2018-10-08.
  3. ^ D'Amore, Garrett (3 August 2010). "Illumos - Hope and Light Springs Anew - Presented by Garrett D'Amore" (PDF). illumos.org. Retrieved 3 August 2010.
  4. ^ "Oracle To Bring Dtrace To Linux". Slashdot. 2011-10-04. Retrieved 2020-11-11.
  5. ^ [1] "The original DTrace is licensed under Sun's (now Oracle) CDDL license. Original copyrights are left intact. No GPL code is incorporated into the release, to avoid legal conflicts."
  6. ^ Wielaard, Mark J. (2018-02-14). "dtrace for linux; Oracle does the right thing". Mark J. Wielaard blog. Retrieved 2018-02-14.