X
Business

DTrace reaches prime time on FreeBSD

A project to bring one of the most advanced features of Sun Microsystems' Solaris operating system to the FreeBSD platform has started bearing fruit. Sun's Dynamic Tracing (DTrace) tool provides advanced performance analysis and debugging features, primarily for server software.
Written by Renai LeMay, Contributor
A project to bring one of the most advanced features of Sun Microsystems' Solaris operating system to the FreeBSD platform has started bearing fruit.

Sun's Dynamic Tracing (DTrace) tool provides advanced performance analysis and debugging features, primarily for server software. Work began porting the tool to FreeBSD after DTrace was released under an open source licence last year.

John Birrell, the FreeBSD developer currently spearheading the effort, admits DTrace on FreeBSD does not yet do everything it does on Solaris, and the work is nowhere near completion.

"However, I agree with Sun's Bryan Cantrill that the FreeBSD port is indisputably useful," he told ZDNet Australia via e-mail today.

Cantrill, one of Sun's key DTrace developers, last week wrote on his blog that those running FreeBSD servers or developing software for the platform would want to start using Birrell's port immediately.

Birrell lauded the encouragement he had received from the Sun engineer and his team in his development effort -- the assistance extending to the supply of as-yet unreleased products.

"I've done the development in the order advised by Sun's developers ... Sun has also provided me with their test suite (which they haven't released publicly yet)," he added.

Birrell added the FreeBSD developer community had supported his efforts from the outset. "I think their reaction is much the same as mine was: 'I want that!'," he said.

Keeping up with the Jones'
According to Birrell, the FreeBSD DTrace port passes 793 of Sun's 1039 tests for the application.

"That means that there are some very exciting traces that can be done on FreeBSD right now," he said. "Every syscall can be traced, including those that are loaded in kernel modules. Every function in the kernel can be traced from the low-level interrupts up."

Birrell said an important next step for the application will be to get it integrated into the code base for the upcoming version 7 of FreeBSD.

"As part of this, the other FreeBSD architectures need to be supported. I only have access to single processor i386 machines," he said.

FreeBSD supports a number of other hardware chipsets such as Sun's SPARC, IBM's PowerPC, and 64-bit processors from AMD. "I'm hoping to get access to the other architectures to do the development work," said Birrell.

While the project was initiated by FreeBSD developer Devon O'Dell in September, Birrell said he has now taken on the work.

"In 2006 [O'Dell] didn't have much time, so there was little progress," he said. "I attended a Sun Developer Days conference in Melbourne in April, and from that I came away with a desire to investigate DTrace ... So all the work beyond Devon's initial CTF tools work has been mine."

Birrell said the biggest challenge in the work is the scope of the project. "In order for DTrace to provide a mechanism to trace everything that happens in an operating system, it has to dig itself into the very depths of the operating system's being," he said.

"Sun's OpenSolaris code is very well documented at the code level, but what isn't immediately obvious is the overall design philosophy. That is the second biggest challenge."

Editorial standards