[rabbitmq-discuss] DTrace and Erlang: an update

Jason J. W. Williams jasonjwwilliams at gmail.com
Mon Oct 24 19:30:27 BST 2011

Hi Scott,

This would be awesome. It would be great to be able to get better
visibility into Rabbit via DTrace. We'd be using the probes on


On Mon, Oct 24, 2011 at 12:20 PM, Scott Lystig Fritchie
<slfritchie at snookles.com> wrote:
> Hi, all.  I've been a lurker on this list since January 2009.  I thought
> it might be time to post something.
> I've been working with Dustin Sallings and Michal Ptaszek to expand the
> work that they've done on adding DTrace probes to the Erlang virtual
> machine.  We have started preliminary, *informal*, **no-promises-yet**
> talks with Ericsson's OTP team.  Our goal (and not yet the OTP team's, I
> *cannot* speak for them) is to get these probes & NIF code into the R15
> release cycle.
> I'll be speaking about this DTrace work at the Erlang User Conference in
> Stockholm, Sweden on Thursday, November 4th.  If you're going to be at
> the EUC and you're interested in DTrace, I'd love to talk to you.  If
> you have a war story about RabbitMQ that you'd like me to share at the
> EUC (perhaps as part of my presentation), please contact me directly.
> FWIW, I'll also be attending the tutorial & hack-a-thon day on Friday
> 05 November.
> If you like DTrace but you're not going to be at EUC, then ... I'd like
> to start some email correspondence.  Specifically, what do you need to
> make RabbitMQ's workings visible to the outside world via DTrace?
> If we actually meet our goal of getting the probes + NIF into the
> official R15 source distribution ... then the evolution of the probes
> will probably be slow.  Why?  Because it'll be tied to Ericsson's
> release schedule.  The more input we get from users of *real* apps
> (RabbitMQ, Riak, Ejabberd, et al.) now, the better the initial probes
> will be, and the fewer iterations it will take to make them "perfect".
> -Scott
> P.S.  Sorry like sounding like a telethon fundraiser.  ("We need your
> pledge of support *now*.")  But the Erlang/OTP R15 release schedule is
> Ericsson's, not mine.  If we want full support for this DTrace work, we
> need to play by Ericsson's rules and schedules.
> P.P.S. Here's a summary of recent coding developments:
> A list of the probes now available is at:
>    https://github.com/slfritchie/otp/blob/dtrace-experiment+michal2/erts/emulator/beam/erlang_dtrace.d
> ... and a set of small example D scripts:
>    https://github.com/slfritchie/otp/tree/dtrace-experiment+michal2/lib/dtrace/examples
> In addition, I've added a NIF that allows Erlang code to trigger a
> probe.  See the EDoc comments at the top of this source file for some
> background:
>    https://github.com/slfritchie/otp/blob/dtrace-experiment+michal2/lib/dtrace/src/dtrace.erl
> I've created a "shar"-like shell script that will automagically patch
> your otp_src_R14B04.tar.gz source tarball with all this DTrace stuff.
> See here for details:
>    http://erlang.org/pipermail/erlang-questions/2011-October/061933.html
> Over the weekend, I added the ability to trace the "sequential trace
> token" via DTrace.  That work isn't available in the patch above, but it
> is available if you wish by checking out the underlying repo from
> GitHub, git://github.com/slfritchie/otp.git, and using the
> "dtrace-experiment+michal2" branch.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

More information about the rabbitmq-discuss mailing list