DTrace: Core Features and Performance Analysis

Duration: 3 days


This course introduces DTrace and teaches common performance analysis techniques. It is intended for system support staff, system administrators, developers, and anyone who would like to quickly learn DTrace and some practical methods for applying it. This course teaches core features of DTrace that are available in many enterprise and cloud computing environments, and is taught from a Joyent SmartMachine, a restricted environment that provides these features. Kernel internal analysis is not covered. (An advanced course for kernel-level DTrace is planned in the future.)

This course makes extensive use of labs, where performance issues based on real-world cases are simulated in isolation for the students to solve, with help from the instructor. For some this is the highlight of the course, putting the methodologies learned into practice and seeing how they work first-hand.


On completion of this course, students will be able to:

  • Explain Dynamic Tracing and DTrace
  • Describe DTrace features, including probes, providers, actions, aggregations
  • Identify opportunities for improving performance using DTrace
  • Use pre-written DTrace one-liners and scripts
  • Solve performance issues using workload characterization
  • Solve performance issues using latency analysis
  • Use DTrace to analyze system calls in custom ways
  • Understand the D language, actions, and variables
  • Profile CPU usage of user-level applications, identifying hot code paths
  • Interpret and generate Flame Graphs
  • Analyze I/O latency using the syscall and sched providers
  • Analyze process execution using the proc provider
  • Investigate virtual memory events using the vminfo provider
  • Investigate system events using the sysinfo provider
  • Use the pid provider for application analysis
  • Understand the plockstat provider
  • Explain the role of USDT providers
  • Use USDT providers for application analysis
  • Understand the general process for adding USDT providers, and the opportunities this creates for application performance analysis and debugging
  • Add DTrace to your skill set


  • UNIX fundamentals: understand syscalls; strace/truss experience is ideal
  • Programming experience: shell scripting is fine; awk is great

Topic Outline

  1. Introduction
  2. System Calls and D
  3. Workload Characterization
  4. Latency Analysis
  5. Profiling
  6. Providers – OS Level
  7. Providers – User Level
  8. Using & Developing USDT


See the course calendar. From there you can also also fill out the request form to let us know of other courses or dates you would be interested in.

Cancellation Policy

See cancellation policy.

Sign up now for Instant Cloud Access Get Started