dtrace

Uses your system voice; voice and rate in settings.

Q1155967Snapshot

≈ 5 min read

Names in other languages

  • EspañolDTrace (Sun Microsystems)
  • caDTrace
  • Deutschdtrace
  • Englishdtrace
  • FrançaisDTrace
  • 日本語DTrace
  • NederlandsDTrace
  • PolskiDTrace

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

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. Windows Server systems from Windows Server 2025 will have DTrace as part of the system. 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, as a fork on OpenSolaris OS/Net consolidation, including DTrace technology. In October 2011, Oracle announced the porting of DTrace to Linux, and in 2019 official DTrace for Fedora is available on GitHub.…

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. Windows Server systems from Windows Server 2025 will have DTrace as part of the system. 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, as a fork on OpenSolaris OS/Net consolidation, including DTrace technology. In October 2011, Oracle announced the porting of DTrace to Linux, 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. In August 2017, Oracle released DTrace kernel code under the GPLv2+ license, and user space code under GPLv2 and UPL licensing. In September 2018 Microsoft announced that they had ported DTrace from FreeBSD to Windows. 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. ==Command line examples== DTrace scripts can be invoked directly from the command line, providing one or more probes and actions as arguments. Some examples: New processes with arguments dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }' Files opened by process dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' Syscall count by program dtrace -n 'syscall:::entry { @num[execname] = count(); }' Syscall count by syscall dtrace -n 'syscall:::entry { @num[probefunc] = count(); }' Syscall count by process dtrace -n 'syscall:::entry { @num[pid,execname] = count(); }' Disk size by process dtrace -n 'io:::start { printf("%d %s %d",pid,execname,args[0]->b_bcount); }' Pages paged in by process dtrace -n 'vminfo:::pgpgin { @pg[execname] = sum(arg0); }' Scripts can also be written which can reach hundreds of lines in length, although typically only tens of lines are needed for advanced troubleshooting and analysis. Over 200 examples of open source DTrace scripts can be found in the DTraceToolkit, created by Brendan Gregg (author of the DTrace book ), which also provides documentation and demonstrations of each. Tech Talk on DTrace given by Bryan Cantrill Hidden in Plain Sight, Sun Microsystems, by Bryan Cantrill Official Oracle DTrace port to Linux: DTrace patches merged with recent Linux kernel releases Userspace portion of the DTrace port to Linux Compact Type Format library used by DTrace on Linux DTrace on Fedora

Text derived from https://en.wikipedia.org/w/index.php?oldid=1343153783 under CC BY-SA 4.0; modifications have been made.

Provenance

snapshot dtrace-134548-3d53038686351a7f · hash 3d53038686351a7f0eae2b851b9bfdb7c31791648e9e2d0b449d0664247343db · captured 1773327122.0 · version history

Cite this page as: encyclopegia.org, “dtrace”, snapshot dtrace-134548-3d53038686351a7f. https://encyclopegia.org/a/dtrace