Jerry -<br><br>I was only using metronome as a guide to write plugins.<br><br>My real goal is to write a tracing plugin that dumps:<br><br><ul><li>all messages sent and received</li><li>queue create+delete</li><li>exchange create+delete</li>

</ul>to a persistent store (file or database) for later analysis.<br><br>First step was to build server (That was easy, good job RabbitMQ).<br><br>Next is to get a trivial (hello world) plugin working.<br clear="all"><br>

Thanks,<br><br>- Jim<br><br>Jim Irrer� �� <a href="mailto:irrer@umich.edu">irrer@umich.edu</a>� � �� (734) 647-4409<br>University of Michigan Hospital Radiation Oncology<br>519 W. William St.� � � � � �� Ann Arbor, MI 48103<br>


<br><br><div class="gmail_quote">On Fri, Mar 18, 2011 at 1:30 PM, Jerry Kuch <span dir="ltr">&lt;<a href="mailto:jerryk@vmware.com">jerryk@vmware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Hi, Jim...<br>
<br>
Someone on the Rabbit team just pointed out to me that metronome currently doesn&#39;t work. �We have a bug reported internally on it.<br>
<br>
Can you say a bit about what you&#39;re trying to do with it? �Are you aiming to write a Rabbit plugin of your own and were planning to use metronome for guidance?<br>
<div class="im"><br>
Jerry<br>
________________________________________<br>
From: <a href="mailto:rabbitmq-discuss-bounces@lists.rabbitmq.com">rabbitmq-discuss-bounces@lists.rabbitmq.com</a> [<a href="mailto:rabbitmq-discuss-bounces@lists.rabbitmq.com">rabbitmq-discuss-bounces@lists.rabbitmq.com</a>] On Behalf Of Jim Irrer [<a href="mailto:irrer@umich.edu">irrer@umich.edu</a>]<br>


Sent: Friday, March 18, 2011 9:22 AM<br>
To: <a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
Cc: Jim Irrer<br>
</div>Subject: Re: [rabbitmq-discuss] Fwd: Problem with plugin development guide � � �example<br>
<div><div></div><div class="h5"><br>
That was helpful - I got farther - but not there yet.<br>
<br>
I did the checkout of the umbrella with the command above:<br>
<br>
hg clone <a href="http://hg.rabbitmq.com/rabbitmq-public-umbrella" target="_blank">http://hg.rabbitmq.com/rabbitmq-public-umbrella</a> -r bug23568<br>
<br>
but I did the &#39;make co&#39; without any special parameters, so I assumed<br>
that it did hg commands with respect to the bug23568 branch.<br>
<br>
I built the metronome project as outlined on the Rabbit site and added<br>
the rabbit_metronome-0.0.0.ez and amqp_client.ez files to the<br>
rabbitmq-public-umbrella/rabbitmq-server/plugins directory, but when I<br>
start it up I get:<br>
<br>
linus:make run<br>
RABBITMQ_NODE_IP_ADDRESS=&quot;&quot; RABBITMQ_NODE_PORT=&quot;5679&quot; RABBITMQ_LOG_BASE=&quot;/tmp&quot; RABBITMQ_MNESIA_DIR=&quot;/tmp/rabbitmq-bunny-mnesia&quot; RABBITMQ_PLUGINS_EXPAND_DIR=&quot;/tmp/rabbitmq-bunny-plugins-scratch&quot; \<br>


 � � � � � � � �RABBITMQ_ALLOW_INPUT=true \<br>
 � � � � � � � �RABBITMQ_SERVER_START_ARGS=&quot;&quot; \<br>
 � � � � � � � �./scripts/rabbitmq-server<br>
Activating RabbitMQ plugins ...<br>
*WARNING* Undefined function amqp_connection:start_direct/0<br>
*WARNING* Undefined function gb_trees:map/2<br>
*WARNING* Undefined function os:timestamp/0<br>
*WARNING* Undefined function random:seed/1<br>
*WARNING* Undefined function ssl:ssl_accept/3<br>
2 plugins activated:<br>
* amqp_client-0.0.0<br>
* rabbit_metronome-0.0.0<br>
<br>
Erlang (BEAM) emulator version 5.6.5 [source] [64-bit] [smp:2] [async-threads:30] [hipe] [kernel-poll:true]<br>
<br>
<br>
+---+ � +---+<br>
| � | � | � |<br>
| � | � | � |<br>
| � | � | � |<br>
| � +---+ � +-------+<br>
| � � � � � � � � � |<br>
| RabbitMQ �+---+ � |<br>
| � � � � � | � | � |<br>
| v%%VSN%% �+---+ � |<br>
| � � � � � � � � � |<br>
+-------------------+<br>
AMQP 0-9-1 / 0-9 / 0-8<br>
Copyright (C) 2007-2011 VMware, Inc.<br>
Licensed under the MPL. �See <a href="http://www.rabbitmq.com/" target="_blank">http://www.rabbitmq.com/</a><br>
<br>
node � � � � � : bunny@linus<br>
app descriptor : /devel/home/irrer/tmp/erl/r2/rabbitmq-public-umbrella/rabbitmq-server/scripts/../ebin/rabbit.app<br>
home dir � � � : /home/irrer<br>
config file(s) : (none)<br>
cookie hash � �: JG6HnrDO2nMIVTU2s7iwoA==<br>
log � � � � � �: /tmp/bunny.log<br>
sasl log � � � : /tmp/bunny-sasl.log<br>
database dir � : /tmp/rabbitmq-bunny-mnesia<br>
erlang version : 5.6.5<br>
<br>
starting file handle cache server � � � � � � � � � � � � � � � � � � ...done<br>
starting worker pool � � � � � � � � � � � � � � � � � � � � � � � � �...done<br>
starting database � � � � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting codec correctness check � � � � � � � � � � � � � � � � � � �...done<br>
-- external infrastructure ready<br>
starting statistics event manager � � � � � � � � � � � � � � � � � � ...done<br>
starting logging server � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting plugin registry � � � � � � � � � � � � � � � � � � � � � � �...done<br>
starting auth mechanism amqplain � � � � � � � � � � � � � � � � � � �...done<br>
starting auth mechanism cr-demo � � � � � � � � � � � � � � � � � � � ...done<br>
starting auth mechanism plain � � � � � � � � � � � � � � � � � � � � ...done<br>
starting exchange type direct � � � � � � � � � � � � � � � � � � � � ...done<br>
starting exchange type fanout � � � � � � � � � � � � � � � � � � � � ...done<br>
starting exchange type headers � � � � � � � � � � � � � � � � � � � �...done<br>
starting exchange type topic � � � � � � � � � � � � � � � � � � � � �...done<br>
-- kernel ready<br>
starting node monitor � � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting cluster delegate � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting guid generator � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting alarm handler � � � � � � � � � � � � � � � � � � � � � � � �...done<br>
starting memory monitor � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
-- core initialized<br>
starting empty DB check � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting exchange recovery � � � � � � � � � � � � � � � � � � � � � �...done<br>
starting queue supervisor and queue recovery � � � � � � � � � � � � �...done<br>
-- message delivery logic ready<br>
starting error log relay � � � � � � � � � � � � � � � � � � � � � � �...done<br>
starting networking � � � � � � � � � � � � � � � � � � � � � � � � � ...done<br>
starting notify cluster nodes � � � � � � � � � � � � � � � � � � � � ...done<br>
starting direct_client � � � � � � � � � � � � � � � � � � � � � � � �...done<br>
<br>
broker running<br>
Eshell V5.6.5 �(abort with ^G)<br>
(bunny@linus)1&gt; Erlang has closed<br>
 � � � � � � � � � � � � � � � � {&quot;Kernel pid terminated&quot;,application_controller,&quot;{application_start_failure,rabbit_metronome,{shutdown,{rabbit_metronome,start,[normal,[]]}}}&quot;}<br>
<br>
Crash dump was written to: erl_crash.dump<br>
Kernel pid terminated (application_controller) ({application_start_failure,rabbit_metronome,{shutdown,{rabbit_metronome,start,[normal,[]]}}})<br>
<br>
And as advertised it creates a big honkin&#39; dump file.<br>
<br>
I also had to create symbolic links so that the code would build. �In my<br>
rabbitmq-public-umbrella/rabbit_metronome directory I created:<br>
<br>
amqp_client -&gt; ../rabbitmq-erlang-client/dist/amqp_client<br>
rabbit_common -&gt; ../rabbitmq-erlang-client/dist/rabbit_common<br>
<br>
The server works fine if run without adding plugins, but when I add them<br>
it bombs, so I know the plugins are the problem (Right?).<br>
<br>
I&#39;m new to Erlang (interesting language), so all I did was cut and paste<br>
the example Erlang code, so if that code is out of date then it would be a problem.<br>
<br>
Also: I changed the port to 5679 so it would not interfere with the official<br>
installed RabbitMQ server on the same machine, and I set RABBITMQ_NODENAME<br>
to &#39;bunny&#39;.<br>
<br>
Thanks,<br>
<br>
- Jim<br>
<br>
</div></div>Jim Irrer � � <a href="mailto:irrer@umich.edu">irrer@umich.edu</a>&lt;mailto:<a href="mailto:irrer@umich.edu">irrer@umich.edu</a>&gt; � � � <a href="tel:%28734%29%20647-4409">(734) 647-4409</a>&lt;tel:%28734%29%20647-4409&gt;<br>


<div class="im">University of Michigan Hospital Radiation Oncology<br>
519 W. William St. � � � � � � Ann Arbor, MI 48103<br>
<br>
<br>
</div><div class="im">On Thu, Mar 17, 2011 at 8:27 AM, Matthew Sackman &lt;<a href="mailto:matthew@rabbitmq.com">matthew@rabbitmq.com</a>&lt;mailto:<a href="mailto:matthew@rabbitmq.com">matthew@rabbitmq.com</a>&gt;&gt; wrote:<br>


On Tue, Mar 15, 2011 at 07:00:28PM -0400, Jim Irrer wrote:<br>
&gt; If I checkout the latest server code, will I get the bug23274 fix?<br>
<br>
Nope. bug23274 has been abandoned. bug23568 replaces it, but is yet to<br>
go through QA. None of the documentation regarding writing plugins has<br>
been updated.<br>
<br>
&gt; If not, what is the Mercurial command to get it?<br>
<br>
hg clone <a href="http://hg.rabbitmq.com/rabbitmq-public-umbrella" target="_blank">http://hg.rabbitmq.com/rabbitmq-public-umbrella</a> -r bug23568<br>
<br>
But you&#39;ll need to make sure all the plugins are also on branch bug23568<br>
for them to work with the new build system.<br>
<br>
If you&#39;re writing plugins from scratch, be sure to read the<br>
rabbitmq-public-umbrella/README.makefiles file, which has a helpful<br>
section on &quot;Creating a new package&quot;.<br>
<br>
Matthew<br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
</div><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a>&lt;mailto:<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a>&gt;<br>
<div><div></div><div class="h5"><a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br>
</div></div></blockquote></div><br>