$30 off During Our Annual Pro Sale. View Details »

dtrace.conf(16): DTrace state of the union

Bryan Cantrill
May 26, 2016

dtrace.conf(16): DTrace state of the union

Opening remarks at dtrace.conf(16) in 2016. This talk was videoed, but unfortunately the video has since been made unavailable. If it helps anyone retrieve it, the video was at: https://vimeo.com/173346406

Bryan Cantrill

May 26, 2016


  1. DTrace dtrace.conf(16) CTO bryan@joyent.com Bryan Cantrill @bcantrill

  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
  3. dtrace.conf prehistory

  4. DTrace since 2012

  5. DTrace since 2012 Same haircut

  6. DTrace since 2012 Same glasses?

  7. DTrace since 2012 WTF?!

  8. DTrace since 2012

  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?
  12. dtrace.conf(16)!

  13. Welcome, newbies!

  14. Welcome, Old Schoolers!

  15. Welcome, Trolls!