DTrace on BSD, future support

Charles Oliver Nutter headius at headius.com
Fri Sep 6 15:00:47 PDT 2013


Hello all!

I'm working with a GSoC student adding dtrace probe support to JRuby,
and ran into the issue that user-defined dtrace probes only work on
Solaris. So I started poking around hotspot source and found that both
the linux and bsd JSDT sources are empty and return false for
isSupported. Only solaris has JSDT support.

(The student is developing on Solaris, but I am on OS X.)

Obviously my next step was to simply copy the solaris source into the
BSD location and enable dtrace in the build. It didn't compile, but
there were only a handful of errors.

So at this point I'm wondering a few things:

* Is there any good reason why BSD (and Linux) support for JSDT has
not been ported or implemented?
* What is the current thought on the future of DTrace support in OpenJDK?

Our steps going forward, if we want to support JRuby dtrace probes on
platforms other than Solaris, will be to either implement or coerce
someone into implementing BSD/Linux DTrace JSDT support in OpenJDK or
to use a third-party library and our own JNI bindings. I'd prefer to
just get it working in OpenJDK proper.

Thoughts?

- Charlie

P.S. The files in question are
hotspot/src/os/bsd/vm/dtraceJSDT_bsd.cpp,
hotspot/src/os/linux/vm/dtraceJSDT_linux.cpp, and
hotspot/src/os/solaris/vm/dtraceJSDT_solaris.cpp.


More information about the serviceability-dev mailing list