[38;5;12m                                  [39m[38;2;255;187;0m[1m[4mAwesome DTrace [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://github.com/sindresorhus/awesome)[0m

[38;5;12mA curated list of awesome DTrace books, articles, videos, tools and resources.[39m

[38;2;255;187;0m[4mContents[0m

[38;5;12m- [39m[38;5;14m[1mLearn[0m[38;5;12m (#learn)[39m
[38;5;12m- [39m[38;5;14m[1mArticles[0m[38;5;12m (#articles)[39m
[38;5;12m- [39m[38;5;14m[1mVideos[0m[38;5;12m (#videos)[39m
[38;5;12m- [39m[38;5;14m[1mSoftware[0m[38;5;12m (#software)[39m
[38;5;12m- [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
[38;5;12m- [39m[38;5;14m[1mCommunity[0m[38;5;12m (#community)[39m
[38;5;12m- [39m[38;5;14m[1mContributing[0m[38;5;12m (#contributing)[39m

[38;5;12m- - -[39m

[38;2;255;187;0m[4mLearn[0m

[38;5;12mRecommended reading for learning DTrace.[39m

[38;2;255;187;0m[4mBooks[0m

[38;5;12m- [39m[38;5;14m[1mDynamic Tracing Guide[0m[38;5;12m (http://dtrace.org/guide/preface.html) - Illumos.org DTrace guide.[39m
[38;5;12m- [39m[38;5;14m[1mDTrace: Dynamic Tracing in Oracle Solaris, Mac OS X, and FreeBSD[0m[38;5;12m (http://www.dtracebook.com/index.php/Main_Page) - Official DTrace book.[39m
[38;5;12m- [39m[38;5;14m[1mDynamic Tracing with DTrace & SystemTap[0m[38;5;12m (http://myaut.github.io/dtrace-stap-book/) - A book introduces both DTrace and SystemTap.[39m

[38;2;255;187;0m[4mOther[0m

[38;5;12m- [39m[38;5;14m[1mdtrace(1m) man page[0m[38;5;12m (https://illumos.org/man/1m/dtrace) - DTrace manual page.[39m
[38;5;12m- [39m[38;5;14m[1mDTrace cheatsheet[0m[38;5;12m (http://www.brendangregg.com/DTrace/DTrace-cheatsheet.pdf) - DTrace cheatsheet by Brendan Gregg.[39m
[38;5;12m- [39m[38;5;14m[1mDTrace one-liners[0m[38;5;12m (http://www.brendangregg.com/DTrace/dtrace_oneliners.txt) - DTrace one liners. Handy commands.[39m
[38;5;12m- [39m[38;5;14m[1mDTrace one-liners (FreeBSD)[0m[38;5;12m (https://wiki.freebsd.org/DTrace/One-Liners) - DTrace one liners from FreeBSD.[39m
[38;5;12m- [39m[38;5;14m[1mDTrace QuickStart[0m[38;5;12m (http://www.tablespace.net/quicksheet/dtrace-quickstart.html) - DTrace quick starting guide.[39m
[38;5;12m- [39m[38;5;14m[1mUsing DTrace stories[0m[38;5;12m (https://github.com/NanXiao/using-dtrace-stories) - A collection of using DTrace to debug system stories.[39m
[38;5;12m- [39m[38;5;14m[1mAdvanced DTrace Tips, Tricks and Gotchas[0m[38;5;12m (http://dtrace.org/resources/bmc/dtrace_tips.pdf) - A collection of advanced tips for using DTrace.[39m

[38;2;255;187;0m[4mArticles[0m

[38;5;12mInteresting articles about DTrace and real-world use cases.[39m

[38;2;255;187;0m[4mPID Provider[0m

[38;5;12m- [39m[38;5;14m[1mpid provider: entry probe[0m[38;5;12m (http://dtrace.org/blogs/brendan/2011/02/09/dtrace-pid-provider/) - DTrace PID Provider.[39m
[38;5;12m- [39m[38;5;14m[1mpid provider: entry arguments[0m[38;5;12m (http://dtrace.org/blogs/brendan/2011/02/11/dtrace-pid-provider-arguments/) - DTrace PID Provider Arguments.[39m
[38;5;12m- [39m[38;5;14m[1mpid provider: return[0m[38;5;12m (http://dtrace.org/blogs/brendan/2011/02/14/dtrace-pid-provider-return/) - DTrace PID Provider return.[39m
[38;5;12m- [39m[38;5;14m[1mpid provider: instructions[0m[38;5;12m (http://dtrace.org/blogs/brendan/2011/02/16/dtrace-pid-provider-instructions/) - DTrace PID Provider Instructions.[39m
[38;5;12m- [39m[38;5;14m[1mpid provider: overhead[0m[38;5;12m (http://dtrace.org/blogs/brendan/2011/02/18/dtrace-pid-provider-overhead/) - DTrace PID Provider Overhead.[39m
[38;5;12m- [39m[38;5;14m[1mpid provider exposed[0m[38;5;12m (http://dtrace.org/blogs/ahl/2005/03/01/pid-provider-exposed/) - PID providers internals by Adam Leventhal.[39m
[38;5;12m- [39m[38;5;14m[1mWhen magic collides[0m[38;5;12m (http://dtrace.org/blogs/bmc/2011/03/09/when-magic-collides/) - PID provider bug deep dive by Bryan Cantrill.[39m

[38;2;255;187;0m[4mUSDT provider[0m

[38;5;12m- [39m[38;5;14m[1mUnderstanding DTrace ustack helpers[0m[38;5;12m (http://dtrace.org/blogs/dap/2013/11/20/understanding-dtrace-ustack-helpers/) - DTrace ustack helpers.[39m
[38;5;12m- [39m[38;5;14m[1mUSDT Providers Redux[0m[38;5;12m (http://dtrace.org/blogs/dap/2011/12/13/usdt-providers-redux/) - Reference for building USDT providers in custom applications.[39m

[38;2;255;187;0m[4mSysevent provider[0m

[38;5;12m- [39m[38;5;14m[1mDTrace sysevent provider[0m[38;5;12m (https://blogs.oracle.com/eschrock/entry/dtrace_sysevent_provider) - Solaris/illumos sysevent provider for DTrace.[39m

[38;2;255;187;0m[4mRuby and DTrace[0m

[38;5;12m- [39m[38;5;14m[1mUsing DTrace to measure mutex contention in Ruby[0m[38;5;12m (https://vaneyckt.io/posts/using_dtrace_to_measure_mutex_contention_in_ruby/) - Mutex contention measuring in Ruby.[39m

[38;2;255;187;0m[4mVisualization methods[0m

[38;5;12m- [39m[38;5;14m[1mFlamegraphs[0m[38;5;12m (http://www.brendangregg.com/flamegraphs.html) - A visualization of profiled software, allowing the most frequent code-paths to be identified quickly and accurately.[39m
[38;5;12m- [39m[38;5;14m[1mHeat Maps[0m[38;5;12m (http://brendangregg.com/heatmaps.html) - Heat maps allow three dimensions of data to be visualized, similar to weather radar maps where color is used as a dimension.[39m

[38;2;255;187;0m[4mVideos[0m

[38;5;12mInteresting videos about DTrace.[39m

[38;5;12m- [39m[38;5;14m[1mDTrace review[0m[38;5;12m (https://www.youtube.com/watch?v=TgmA48fILq8) - Bryan Cantrill explains how to significantly improve debugging both for development and live systems with DTrace.[39m

[38;2;255;187;0m[4mdtrace.conf[0m

[38;5;12m- [39m[38;5;14m[1mdtrace.conf 2008[0m[38;5;12m (https://youtu.be/RvyP61WeFdM?list=PL8516982CBF9FADCC)[39m
[48;5;235m[38;5;249m- **NFSv3 and iSCSI providers** (https://www.youtube.com/watch?v=sgBCz7bXkSo&index=4&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                       [49m[39m
[48;5;235m[38;5;249m- **DTrace for hardware** (https://www.youtube.com/watch?v=1Bc2Dz8aS6s&list=PL8516982CBF9FADCC&index=5)[49m[39m[48;5;235m[38;5;249m                             [49m[39m
[48;5;235m[38;5;249m- **Zones & DTrace** (https://www.youtube.com/watch?v=D8_onK0pSvA&index=8&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                                  [49m[39m
[48;5;235m[38;5;249m- **DTracing a Solaris build** (https://www.youtube.com/watch?v=e55iXXYj-74&index=10&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                       [49m[39m
[48;5;235m[38;5;249m- **War Stories** (https://www.youtube.com/watch?v=yR39YqVXQOM&index=11&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                                    [49m[39m
[48;5;235m[38;5;249m- **Sun Benchmarks** (https://www.youtube.com/watch?v=uK0DjEXo99w&list=PL8516982CBF9FADCC&index=12)[49m[39m[48;5;235m[38;5;249m                                 [49m[39m
[48;5;235m[38;5;249m- **Erlang** (https://www.youtube.com/watch?v=PXIGE5GFAkE&index=13&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                                         [49m[39m
[48;5;235m[38;5;249m- **Erlang (continued)** (https://www.youtube.com/watch?v=YTNiCv9Za2Y&index=14&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                             [49m[39m
[48;5;235m[38;5;249m- **Instrumenting Adobe AIR** (https://www.youtube.com/watch?v=4astU1_X5xM&index=15&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                        [49m[39m
[48;5;235m[38;5;249m- **HotSpot Runtime & Java** (https://www.youtube.com/watch?v=8kdJDHqiByI&list=PL8516982CBF9FADCC&index=16)[49m[39m[48;5;235m[38;5;249m                         [49m[39m
[48;5;235m[38;5;249m- **PostgreSQL: Looking Under the Hood with Solaris** (https://www.youtube.com/watch?v=p5NKcxDny_4&list=PL8516982CBF9FADCC&index=17)[49m[39m
[48;5;235m[38;5;249m- **PostgreSQL Provider** (https://www.youtube.com/watch?v=SJykRURWgeU&list=PL8516982CBF9FADCC&index=18)[49m[39m[48;5;235m[38;5;249m                            [49m[39m
[48;5;235m[38;5;249m- **Distributed DTrace** (https://www.youtube.com/watch?v=oYK1kgFwxk4&index=19&list=PL8516982CBF9FADCC)[49m[39m[48;5;235m[38;5;249m                             [49m[39m
[48;5;235m[38;5;249m- **Apple Port of DTrace** (https://www.youtube.com/watch?v=OKSuox4eFrk&list=PL8516982CBF9FADCC&index=21)[49m[39m[48;5;235m[38;5;249m                           [49m[39m

[38;5;12m- [39m[38;5;14m[1mdtrace.conf 2012[0m[38;5;12m (https://www.youtube.com/watch?v=l_7v7Fn7uMQ&list=PL973D48F273EB0360)[39m
[48;5;235m[38;5;249m- **DTrace State of the Union** (https://www.youtube.com/watch?v=l_7v7Fn7uMQ&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                   [49m[39m
[48;5;235m[38;5;249m- **User-Level CTF** (https://www.youtube.com/watch?v=0QF04ivO_WE&list=PL973D48F273EB0360&index=3)[49m[39m[48;5;235m[38;5;249m                                      [49m[39m
[48;5;235m[38;5;249m- **Dynamic Translators** (https://www.youtube.com/watch?v=CqLcj0lVnp4&index=4&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                 [49m[39m
[48;5;235m[38;5;249m- **Clang Parser for DTrace** (https://www.youtube.com/watch?v=6NqV_Uj8Ba4&index=7&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                             [49m[39m
[48;5;235m[38;5;249m- **Visualizations** (https://www.youtube.com/watch?v=XD5hdaWnQM4&index=8&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                      [49m[39m
[48;5;235m[38;5;249m- **Visualizations, Enabling Toolchain for Seamless USDT** (https://www.youtube.com/watch?v=3Sqa8mmtnMM&index=9&list=PL973D48F273EB0360)[49m[39m
[48;5;235m[38;5;249m- **More Visualizations** (https://www.youtube.com/watch?v=-B6u6wY3Iro&index=10&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                [49m[39m
[48;5;235m[38;5;249m- **DTrace in Node.js** (https://www.youtube.com/watch?v=0ZMvSh7lUdM&list=PL973D48F273EB0360&index=11)[49m[39m[48;5;235m[38;5;249m                                  [49m[39m
[48;5;235m[38;5;249m- **DTrace and Erlang** (https://www.youtube.com/watch?v=4Si-7nAic2c&list=PL973D48F273EB0360&index=12)[49m[39m[48;5;235m[38;5;249m                                  [49m[39m
[48;5;235m[38;5;249m- **DTrace on Linux** (https://www.youtube.com/watch?v=NElog3MvUC8&list=PL973D48F273EB0360&index=13)[49m[39m[48;5;235m[38;5;249m                                    [49m[39m
[48;5;235m[38;5;249m- **ZFS Provider** (https://www.youtube.com/watch?v=m_V7yrrn49Y&index=14&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                       [49m[39m
[48;5;235m[38;5;249m- **DTrace on FreeBSD** (https://www.youtube.com/watch?v=s5PpSiPfSNI&index=15&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                                  [49m[39m
[48;5;235m[38;5;249m- **Barriers to DTrace Adoption** (https://www.youtube.com/watch?v=P95LHZ-WOWw&index=16&list=PL973D48F273EB0360)[49m[39m[48;5;235m[38;5;249m                        [49m[39m

[38;5;12m- [39m[38;5;14m[1mdtrace.conf 2016[0m[38;5;12m (https://www.joyent.com/about/events/2016/dtrace-conf)[39m
[48;5;235m[38;5;249m- **Introduction** (https://player.vimeo.com/video/173346406)[49m[39m[48;5;235m[38;5;249m                                                  [49m[39m
[48;5;235m[38;5;249m- **(Useful!) DTrace intro** (https://player.vimeo.com/video/173346405)[49m[39m[48;5;235m[38;5;249m                                        [49m[39m
[48;5;235m[38;5;249m- **CTF Everywhere!** (https://player.vimeo.com/video/173346404)[49m[39m[48;5;235m[38;5;249m                                               [49m[39m
[48;5;235m[38;5;249m- **Distributed DTrace** (https://player.vimeo.com/video/173346403)[49m[39m[48;5;235m[38;5;249m                                            [49m[39m
[48;5;235m[38;5;249m- **DTracign Apps** (https://player.vimeo.com/video/173346402)[49m[39m[48;5;235m[38;5;249m                                                 [49m[39m
[48;5;235m[38;5;249m- **DTrace and JSON: Together at last!** (https://player.vimeo.com/video/173346401)[49m[39m[48;5;235m[38;5;249m                            [49m[39m
[48;5;235m[38;5;249m- **ASSERT() as a DTrace probe (and why I need some help)** (https://player.vimeo.com/video/173346400)[49m[39m[48;5;235m[38;5;249m         [49m[39m
[48;5;235m[38;5;249m- **Implementing (or not) fds****  in FreeBSD** (https://player.vimeo.com/video/173346399)[49m[39m[48;5;235m[38;5;249m                     [49m[39m
[48;5;235m[38;5;249m- **OpenDTrace** (https://player.vimeo.com/video/173346398)[49m[39m[48;5;235m[38;5;249m                                                    [49m[39m
[48;5;235m[38;5;249m- **DTrace Performance Improvements with Always-on Instrumentation** (https://player.vimeo.com/video/173300658)[49m[39m
[48;5;235m[38;5;249m- **D language improvements** (https://player.vimeo.com/video/173300657)[49m[39m[48;5;235m[38;5;249m                                       [49m[39m
[48;5;235m[38;5;249m- **D Syntactic Sugar** (https://player.vimeo.com/video/173300656)[49m[39m[48;5;235m[38;5;249m                                             [49m[39m
[48;5;235m[38;5;249m- **DTrace and Go** (https://player.vimeo.com/video/173300655)[49m[39m[48;5;235m[38;5;249m                                                 [49m[39m
[48;5;235m[38;5;249m- **DTrace and Postgres** (https://player.vimeo.com/video/173300654)[49m[39m[48;5;235m[38;5;249m                                           [49m[39m
[48;5;235m[38;5;249m- **DTrace in the Zone** (https://player.vimeo.com/video/173300653)[49m[39m[48;5;235m[38;5;249m                                            [49m[39m
[48;5;235m[38;5;249m- **DTrace ustack() performance improvements** (https://player.vimeo.com/video/173300651)[49m[39m[48;5;235m[38;5;249m                      [49m[39m
[48;5;235m[38;5;249m- **DTrace Exploitation** (https://player.vimeo.com/video/173300650)[49m[39m[48;5;235m[38;5;249m                                           [49m[39m

[38;2;255;187;0m[4mSoftware[0m

[38;5;12mList of software with DTrace support.[39m

[38;2;255;187;0m[4mProgramming languages[0m

[38;2;255;187;0m[4mErlang[0m

[38;5;12m- [39m[38;5;14m[1mErlang[0m[38;5;12m (http://erlang.org/doc/apps/runtime_tools/DTRACE.html) - DTrace and Erlang/OTP.[39m

[38;2;255;187;0m[4mLua[0m

[38;5;12m- [39m[38;5;14m[1mlua-usdt[0m[38;5;12m (https://github.com/chrisa/lua-usdt) - Libusdt bindings for Lua.[39m

[38;2;255;187;0m[4mNode.js[0m

[38;5;12m- [39m[38;5;14m[1mnode-dtrace-provider[0m[38;5;12m (https://github.com/chrisa/node-dtrace-provider) - Native DTrace probes for Node.js apps.[39m

[38;2;255;187;0m[4mPerl[0m

[38;5;12m- [39m[38;5;14m[1mperl-Devel-DTrace-Provider[0m[38;5;12m (https://github.com/chrisa/perl-Devel-DTrace-Provider) - Perl wrapper for libusdt.[39m

[38;2;255;187;0m[4mPHP[0m

[38;5;12m- [39m[38;5;14m[1mPHP[0m[38;5;12m (https://secure.php.net/manual/en/features.dtrace.dtrace.php) - Using PHP and DTrace.[39m

[38;2;255;187;0m[4mPython[0m

[38;5;12m- [39m[38;5;14m[1mPython[0m[38;5;12m (https://www.jcea.es/artic/python_dtrace.htm) - DTrace patch for Python 2.7.x and 3.x.[39m
[38;5;12m- [39m[38;5;14m[1mpython-usdt[0m[38;5;12m (https://github.com/nshalman/python-usdt) - Libusdt bindings for Python.[39m

[38;2;255;187;0m[4mRuby[0m

[38;5;12m- [39m[38;5;14m[1mRuby[0m[38;5;12m (http://ruby-doc.org/core-2.3.1/doc/dtrace_probes_rdoc.html) - Ruby DTrace probes.[39m
[38;5;12m- [39m[38;5;14m[1mruby-usdt[0m[38;5;12m (https://github.com/kevinykchan/ruby-usdt) - Native DTrace probes for ruby apps.[39m

[38;2;255;187;0m[4mDatabases[0m

[38;5;12m- [39m[38;5;14m[1mMySQL[0m[38;5;12m (https://dev.mysql.com/doc/refman/5.7/en/dba-dtrace-mysqld-ref.html) - MySQL DTrace probes.[39m
[38;5;12m- [39m[38;5;14m[1mPostgreSQL[0m[38;5;12m (https://www.postgresql.org/docs/current/static/dynamic-trace.html) - PostgreSQL DTrace probes.[39m

[38;2;255;187;0m[4mWebservers[0m

[38;5;12m- [39m[38;5;14m[1mmod_usdt[0m[38;5;12m (https://github.com/davepacheco/mod_usdt) - "httpd" DTrace provider.[39m

[38;2;255;187;0m[4mVisualization[0m

[38;5;12m- [39m[38;5;14m[1mFlameGraph[0m[38;5;12m (https://github.com/brendangregg/FlameGraph) - Stack trace visualizer.[39m
[38;5;12m- [39m[38;5;14m[1mnode-stackvis[0m[38;5;12m (https://github.com/joyent/node-stackvis) - Stack trace visualizer.[39m

[38;2;255;187;0m[4mTools[0m

[38;5;12m- [39m[38;5;14m[1mDTraceToolkit[0m[38;5;12m (http://www.brendangregg.com/dtracetoolkit.html) - A collection of useful documented DTrace scripts.[39m
[38;5;12m- [39m[38;5;14m[1mdtrace-cloud-tools[0m[38;5;12m (https://github.com/brendangregg/dtrace-cloud-tools) - DTrace tools written for the SmartOS/SmartDataCenter cloud (illumos-based).[39m
[38;5;12m- [39m[38;5;14m[1mpgsql tools[0m[38;5;12m (https://github.com/joyent/pgsqlstat) - Report top-level PostgreSQL stats.[39m
[38;5;12m- [39m[38;5;14m[1mportsnoop[0m[38;5;12m (https://github.com/davepacheco/portsnoop) - Trace event port activity.[39m
[38;5;12m- [39m[38;5;14m[1mstorage tools[0m[38;5;12m (https://github.com/richardelling/tools) - Report NFS, CIFS and iSCSI stats.[39m

[38;2;255;187;0m[4mCommunity[0m

[38;5;12m- [39m[38;5;14m[1mCommunity site[0m[38;5;12m (http://dtrace.org) - DTrace community site.[39m
[38;5;12m- [39m[38;5;14m[1mMailing list[0m[38;5;12m (http://dtrace.org/blogs/mailing-list/) - DTrace community mailing list.[39m
[38;5;12m- [39m[38;5;14m[1mFreeBSD DTrace mailing list[0m[38;5;12m (https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace) - FreeBSD DTrace community mailing list.[39m
[38;5;12m- [39m[38;5;14m[1mChina DTrace[0m[38;5;12m (http://chinadtrace.org/) - A Chinese DTrace site.[39m

[38;2;255;187;0m[4mContributing[0m

[38;5;12mContributions are more than welcome! Please see [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (https://github.com/xen0l/awesome-dtrace/blob/master/CONTRIBUTING.md) first.[39m
