Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

DTrace Sessions for iOS Development

DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released to open source community in 2004 and has been ported to several other Unix systems.

Apple ported DTrace for OS X Leopard, including a GUI called Instruments and made it co-exist with the existing legacy stack of performance troubleshooting toolkits.

We are going to tame this beast to help us hunt down and eliminate all sorts of application and system-wide troubles when doing development of iOS and OS X apps.

the chat


session one (September 5, SkyPoint)

  • DTrace introduction
  • DTrace use cases in software engineering industry


session two (October 3,

  • DTrace script language crash course
  • OSX vs canonical (Solaris) implementations overview


session three (October 17,

  • Establishing DTrace probes on a running process in OSX, Objective-C provider
  • Combining DTrace techniques with classic sequential ptrace debugging (GDB)
  • Establishing DTrace probes during process bootstrap stage

plan remainder

  • Tracing application code activity
  • Tracing library code activity
  • DTrace and the legacy OSX performance monitoring stack
  • Monitoring threaded activity
  • Correlating process activity to kernel services activity
  • Performance monitoring
  • DTrace for dynamic languages and runtimes



dtrace kitty watching you aggregate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment