smartos-docs

DTrace

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

DTrace for Beginners

More DTrace

Books

Videos on DTrace

dtrace.conf 2012 Videos

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 |