[rabbitmq-discuss] RabbitMQ What /are/ you doing?!

Alvaro Videla videlalvaro at gmail.com
Thu Sep 15 15:03:19 BST 2011


 <https://twitter.com/hylomorphism/status/114000680875851776><https://twitter.com/hylomorphism/status/114000680875851776><https://twitter.com/hylomorphism/status/114000680875851776><https://twitter.com/hylomorphism/status/114000680875851776><https://twitter.com/hylomorphism/status/114000680875851776>
Hi,

I saw Matthew tweeting "Oh RabbitMQ, why are you taking over an hour to
recover 100k queues? What /are/ you doing?!"
https://twitter.com/hylomorphism/status/114000680875851776

I've been doing some stuff at work with DTrace and I think is pretty cool
when it comes to find out what a process is actually doing.

At the same time there's an experimental OTP fork on Github that adds Dtrace
probes to Erlang: https://github.com/dustin/otp/wiki/DTrace

See here for the available probes:
https://github.com/dustin/otp/blob/dtrace/erts/emulator/beam/erlang_dtrace.d

So for example running RabbitMQ based on that Erlang branch you could do
things like in this gist: https://gist.github.com/1219266

erlang$target:::function-entry
/copyinstr(arg1) == "rabbit_exchange_type_direct:route/2"/
{
    printf("%s %s", probemod, probefunc);
    self->traceIt = 1;
}


There I enable the flag traceIt only when route/2 is called on the direct
exchange.



More information about the rabbitmq-discuss mailing list