Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Bryan Cantrill
May 26, 2016
18

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
Tweet

Transcript

  1. DTrace
    dtrace.conf(16)
    CTO
    [email protected]
    Bryan Cantrill
    @bcantrill

    View Slide

  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

    View Slide

  3. dtrace.conf prehistory

    View Slide

  4. DTrace since 2012

    View Slide

  5. DTrace since 2012
    Same haircut

    View Slide

  6. DTrace since 2012
    Same glasses?

    View Slide

  7. DTrace since 2012
    WTF?!

    View Slide

  8. DTrace since 2012

    View Slide

  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

    View Slide

  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

    View Slide

  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?

    View Slide

  12. dtrace.conf(16)!

    View Slide

  13. Welcome, newbies!

    View Slide

  14. Welcome, Old Schoolers!

    View Slide

  15. Welcome, Trolls!

    View Slide