guys-

the apache runtime (apr.apache.org) doesn't support multicast although
it supports UDP sockets.  i've added the multicast support but it raises
a few issues.

the latest snapshot is at
http://matt-massie.com/ganglia/ganglia-apr-2.6.0.tar.gz

i've tested it on linux and solaris.  unfortunately, the workstation
that i installed freebsd on is temporarily hosed (bad fan)  so i wasn't
able to test it there.

the only file that i added can be found in
./srclib/apr/network_io/unix/mcast.c.

if you look at the source you'll see i need to include a header file
from the apr source (#include "apr_arch_networkio.h").  i need the
structures defined in this header file in order to setup the multicast
sockets.  unfortunately, this is a private header file which is not
installed during an apr installation.  my hope is that over time the
multicast cast code will be included into the apr code base.

until then.. we might have problems with packages who want to use the
current apr library ... since it will not have multicast support.

if any of you have time and want to test non-linux/solaris systems, i'd
appreciate it.  to test this snapshot.

1. cd into ./gmond
2. open gmond.c and edit the parameters of the
create_mcast_server_socket() call... the first three are mcast_channel,
mcast_port, mcast_if.
3. ./configure and make

when you run ./gmond/gmond you should get scrolling messages saying that
it got a multicast message.

i also have another question about the ganglia configuration file.  i
know that we've used dotconf in the past and it suited our needs but i'm
worried about it's limitations.

for example, it used an apache-like section syntax but it can only be
one-level deep and the API is VERY awkward to work with.

<Section>
name "First Section"
</Section>

is allowed but

<Section>
name "First Section"
  <Section>
    name "Second Section"
  </Section>
</Section>

is not allowed.  i think that could bite us in the arse in the future.

does anyone have a favorite configuration file parser?

i've found and tested libconfuse (http://www.nongnu.org/confuse/) and
found it to work pretty well.  the syntax would look more like...

Section {
  name "Section One"
    Section {
      name "Section Two"
    }
}

which IS allowed.

ideas?

-matt











-- 
PGP fingerprint 'A7C2 3C2F 8445 AD3C 135E F40B 242A 5984 ACBC 91D3'

   They that can give up essential liberty to obtain a little 
      temporary safety deserve neither liberty nor safety. 
  --Benjamin Franklin, Historical Review of Pennsylvania, 1759

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to