According to Microsoft’s Hari Pulapaka, these additions were spurred by the OpenDTrace effort on GitHub. The project looks to create portable versions of DTrace on different operating systems, and it’s this Microsoft utilized. For those unfamiliar, DTrace was created by Sun Microsystems for release its Solaris OS in 2005. It was quickly considered one of the stand-out features and has since been ported to Linux, FreeBSD, NetBSD, and macOS. “DTrace of course needs no introduction: it’s a dynamic tracing framework that allows an admin or developer to get a real-time look into a system either in user or kernel mode,” explained Pulapaka. “DTrace has a C-style high level and powerful programming language that allows you to dynamically insert trace points. Using these dynamically inserted trace points, you can filter on conditions or errors, write code to analyze lock patterns, detect deadlocks, etc.”
DTrace Requirements
The port was met with enthusiasm when announced at Ignite last year, so it’s good to see it coming to fruition. For now, users need to be running a 64-bit Insider build at 18342 or higher. To trace kernel events with FBT, users need to install an optional kernel debugger. This requires disabling SecureBoot and BitLocker on the C: drive, which isn’t ideal. However, DTrace support is undoubtedly a step forward that will please many.