This document summarizes DTrace and dtrace.conf(16). It notes that dtrace.conf is an unconference that started in 2008 and had around 100 attendees from 45 companies and 1 VC. It thanks sponsors Joyent and FIPP and organizers. It then summarizes enhancements to DTrace since 2012 like new data representation options, JSON support, CTF support, and new platform support. It raises questions about using DTrace for distributed systems, improving process instrumentation, opportunities with new languages, and potential new areas like serverless computing and postmortem tracing.
2. dtrace.conf(16)
Quadrennial (!) DTrace unconference started in 2008
~100 attendees from:
~45 companies
~1 VC Entrepreneur-in-Residence
Twitter: #dtraceconf
Thanks to our sponsors, Joyent and the FIPP!
Huge thanks to Ryan Wilson, Brittany Berry and Jenny Miller from
Joyent
9. DTrace since 2012: Core
Added new ways of representing aggregated data via agghist,
aggpack, and aggzoom options
Added new json() subroutine
Added DTrace userland CTF support
Added the new (on-by-default!) temporal option
Added print() support for translated types
Added support for fds[], curpsinfo, sched and proc providers
in a zone container
10. DTrace since 2012: Platforms
FreeBSD implemented the pid provider in 9.0 and, as of 9.2,
enabled DTrace by default!
NetBSD added DTrace support including support for ARM!
Linux port of DTrace largely completed by Oracle but keeping
the user-level portion proprietary has limited its impact
11. DTrace in 2016 and beyond
Distributed systems are ubiquitous and tracing in distributed
systems has improved tremendously; how can DTrace help?
Instrumenting multi-processes applications via the pid provider is
still painful; can we improve?
The rise (resurrection?) of statically compiled languages like Go
and Rust presents new opportunity and new challenges
DTrace and serverless computing?
User-level postmortem tracing?
Anti-roadmap: Dynamic translators?