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>