====== DTrace on FreeBSD ====== %%FreeBSD%% includes a substantial port of DTrace: an advanced event-based performance analysis and troubleshooting tool. DTrace can help you identify and quantify the root cause of virtually any performance issue, in both user-level and kernel code. It can be executed using custom and powerful one-liners and scripts. ===== Getting Started ===== * [[DTrace/Tutorial|Tutorial: Learn DTrace for FreeBSD in 12 easy lessons]] * [[DTrace/One-Liners|Library of handy DTrace one-liners]] * [[DTrace/Examples|Examples for kernel performance or functional analysis]] * [[DTrace/KernelSupport|Enabling DTrace support in FreeBSD kernel]] * [[DTrace/Development|Developing DTrace on FreeBSD]] ===== See Also ===== * [[DTrace/HowToAddSDTProbes|How to add SDT probes to DTrace in the kernel]] ===== Ongoing Development and Meeting Notes ===== Ideas and new work are kept in the [[DTraceTODO]]. [[DTrace/08Nov2018|08 Nov 2018]] [[DTrace/11Oct2018|11 Oct 2018]] [[DTrace/27Sep2018|27 Sep 2018]] [[DTrace/10May2018|10 May 2018]] [[DTrace/26Apr2018|26 Apr 2018]] [[DTrace/18Jan2018|18 Jan 2018]] [[DTrace/04Jan2018|04 Jan 2018]] [[DTrace/07Dec2017|07 Dec 2017]] [[DTrace/26Oct2017|26 Oct 2017]] [[DTrace/12Oct2017|12 Oct 2017]] [[DTrace/14Sep2017|14 Sep 2017]] [[DTrace/31Aug2017|31 Aug 2017]] [[DTrace/20July2017|20 July 2017]] [[DTrace/22June2017|22 June 2017]] [[DTrace/25May2017|25 May 2017]] [[DTrace/11May2017|11 May 2017]] [[DTrace/27Apr2017|27 Apr 2017]] [[DTrace/30March2017|30 March 2017]] [[DTrace/02March2017|02 March 2017]] [[DTrace/16February2017|16 February 2017]] [[DTrace/02February2017|02 February 2017]] [[DTrace/19January2017|19 January 2017]] [[DTrace/05January2017|05 January 2017]] [[DTrace/22December2016|22 December 2016]] [[DTrace/27October2016|27 October 2016]] [[DTrace/13October2016|13 October 2016]] [[DTrace/29September2016|29 September 2016]] [[DTrace/15September2016|15 September 2016]] [[DTrace/01September2016|01 September 2016]] [[DTrace/18August2016|18 August 2016]] [[DTrace/21July2016|21 July 2016]] [[DTrace/07July2016|07 July 2016]] [[DTrace/23June2016|23 June 2016]] [[DTrace/26May2016|26 May 2016]] [[DTrace/12May2016|12 May 2016]] [[DTrace/28April2016|28 April 2016]] [[DTrace/31March2016|31 March 2016]] [[DTrace/03March2016|03 March 2016]] ===== External Resources ===== * The [[http://dtrace.org/guide/preface.html|Dynamic Tracing Guide (aka DTrace Guide)]] is the language and provider reference. Currently focuses on illumos DTrace. * Oracle's [[http://docs.oracle.com/cd/E19253-01/819-5488/819-5488.pdf|DTrace User Guide]] and [[http://docs.oracle.com/cd/E19253-01/817-6223/817-6223.pdf|Solaris Dynamic Tracing Guide]] for Oracle Solaris 11. * %%FreeBSD%% Handbook section on DTrace: https://docs.freebsd.org/en/books/handbook/dtrace/ * The website, which includes scripts, for the Prentice Hall 2011 book: [[http://www.dtracebook.com|DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X, and FreeBSD]] * USENIX 2004 paper on DTrace: [[http://www.usenix.org/event/usenix04/tech/general/full_papers/cantrill/cantrill_html/|Dynamic Instrumentation of Production Systems]] * ACM Queue 2006 article: [[http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=361|Hidden in Plain Sight]] * [[http://youtu.be/6chLw2aodYQ|DTrace Review]] in //Google tech talks// (2007) * jb@'s 2008 BSDCan presentation: {{dtrace/dtrace_bsdcan2008_jb.pdf?linkonly|dtrace_bsdcan2008_jb.pdf}} ---- {{tag>Dtrace}}