Archive for the ‘DTrace’ Category

From Prometheus to Sisyphus

When Apple announced their new file system, APFS, in June, I hustled to be in the front row of the WWDC presentation, questions with the presenters, and then the open Q&A session. I took a week to write up my notes which turned into as 12 page behemoth of a blog post — longer than my college [...]





Posted on February 12, 2017 at 5:23 pm by ahl · Permalink · One Comment
In: DTrace

DTrace at Home

I had been procrastinating making the family holiday card. It was a combination of having a lot on my plate and dreading the formulation of our annual note recapping the year; there were some great moments, but I’m glad I don’t have to do 2016 again. It was just before midnight and either I’d make [...]





Posted on December 18, 2016 at 4:32 am by ahl · Permalink · 2 Comments
In: DTrace

DTrace OEL Dynamic Language Support

We built DTrace to solve problems; at the start, the problems we understood best were our own. In the Solaris Kernel Group we started by instrumenting the kernel and system calls, the user/kernel boundary. Early use required detailed knowledge of kernel internals. As DTrace use grew—within the team, in Sun and then beyond—we extended DTrace [...]





Posted on December 27, 2014 at 8:27 pm by ahl · Permalink · One Comment
In: DTrace

illumos hackathon 2012: user-land types for DTrace

At the illumos hackathon last week, Robert Mustacchi and I prototyped better support for manipulating user-land structures. As anyone who’s used it knows, DTrace is currently very kernel-centric — this both reflects the reality of how operating systems and DTrace are constructed, and the origins of DTrace itself in the Solaris Kernel Group. Discussions at [...]





Posted on October 11, 2012 at 4:28 pm by ahl · Permalink · 3 Comments
In: DTrace · Tagged with: , , , ,

My New DTrace Favorite

The mantra as we initially developed DTrace was to make impossible things possible, not easy things easier. Since codifying that, the tendency toward the latter in developer tools has been apparent. Our focus on the former however has left certain usability burrs that stymie newbies, and annoy vets. Much of the DTrace development of late [...]





Posted on July 28, 2012 at 1:09 am by ahl · Permalink · 4 Comments
In: DTrace

BTrace: DTrace for Java… ish

DTrace first peered into Java in early 2005 thanks to an early prototype by Jarod Jenson that led eventually to the inclusion of USDT probes in the HotSpot JVM. If you want to see where, say, the java.net.SocketOutputStream.write() method is called, you can simply run this DTrace script: hotspot$target:::method-entry /copyinstr(arg1, arg2) == “java/net/SocketOutputStream” && copyinstr(arg3, [...]





Posted on April 24, 2012 at 7:29 am by ahl · Permalink · 4 Comments
In: DTrace · Tagged with: , ,

dtrace.conf(12) wrap-up

For the second time in as many quadrennial dtrace.confs, I was impressed at how well the unconference format worked out. Sharing coffee with the DTrace community, it was great to see some of the oldest friends of DTrace — Jarod Jenson, Stephen O’Grady, Jonathan Adams to name a few — and to put faces to [...]





Posted on April 9, 2012 at 6:03 pm by ahl · Permalink · 5 Comments
In: DTrace · Tagged with: , , , , , , , ,

DTrace OEL update

A few months ago I took DTrace on OEL for a spin after Oracle announced it. The results were ugly; as one of the authors of DTrace, I admit to being shocked by shoddiness of the effort. Yesterday, Oracle dropped an updated beta so I wanted to see how far they’ve come in the 4+ months [...]





Posted on February 23, 2012 at 10:00 pm by ahl · Permalink · 8 Comments
In: DTrace · Tagged with: , ,

The case of the un-unmountable tmpfs

Every once in a rare while our development machines encounter an fatal error during boot because we couldn’t unmount tmpfs. This weekend I cracked the case, so I thought I’d share my uses of boot-time DTrace, and the musty corners of the operating systems that I encountered along the way. First I should explain a [...]





Posted on December 12, 2011 at 4:39 pm by ahl · Permalink · One Comment
In: DTrace · Tagged with: , , , , ,

Oracle’s port: this is not DTrace

After writing about Oracle’s port of DTrace to OEL, I wanted to take it for a spin. Following the directions that Wim Coekaerts spelled out, I installed and configured a VM to run OEL with Oracle’s nascent DTrace port. Setting up the system was relatively painless. Here’s my first DTrace invocation on OEL: [root@screven ~]# [...]





Posted on October 10, 2011 at 10:43 pm by ahl · Permalink · 13 Comments
In: DTrace · Tagged with: , ,