DTrace exists to help you figure out how the system works and why the system is sluggish or acting in an unexpected manner. The name is short for Dynamic Tracing: a powerful idea pioneered by DTrace. Dynamic tracing allows one to peer into all parts of the system – kernel, device drivers, libraries, services, web servers, applications, databases – without any restarts, recompilations,or overhead. DTrace is a powerful tool in any programmer’s toolkit, and has been included by default with various operating systems including Illumos, Solaris, Mac OS X, FreeBSD, and QNX. A Linux port is in development.
DTrace works by dynamically patching live running instructions with instrumentation code. The DTrace facility also supports Static Tracing: where user-friendly trace points are added to code and compiled-in before deployment.
DTrace provides a language, ‘D’, for writing DTrace scripts and one-liners. The language is like C and awk, and provides powerful ways to filter and summarize data in-kernel before passing to user-land. This is an important feature that enables DTrace to be used in performance-sensitive production environments, as it can greatly reduce the overhead of gathering and presenting data. …more
For a good overview and wrap-up, see Adam’s blog post on dtrace.conf.
| Title | Speaker | | —– | ——- | | State of the Union - video | Bryan Cantrill | | Setting the Agenda - video | | | User-Level CTF - video | Adam Leventhal | | Dynamic Translators - video | Dave Pacheco | | Control flow & language enhancements - video | Eric Schrock | | Carousel ride! | | | Clang Parser for DTrace - video | John Thompson | | Visualizations - video | Brendan Gregg | | Visualizations, Enabling toolchain for seamless USDT - video | Theo Schlossnagle | | Visualizations - video | Richard Elling | | DTrace in node.js - video | Mark Cavage | | User-land probes for Erlang virtual machine - video | Scott Lystig Fritchie | | DTrace on Linux - video | Kris Van Hees | | ZFS DTrace provider | Matt Ahrens | | DTrace on FreeBSD - video | Ryan Stone | | Barriers to Adoption - video | Jarod Jenson |