2002-08-23 Federico Sacerdoti
* Increased maximum gmetric value size to 1472 chars from 255.
(1472 = 1500 Eth MTU - IP and UDP header bytes) Better memory
efficiency by storing only necessary bytes in hash.
2002-08-21 Matt Massie
* Added gmetad to the monitoring core distribution
2002-08-16 Federico Sacerdoti
* Added disk_free, disk_total, and part_max_used disk metrics for Linux.
They do not double count automounted directories as 'df' sometimes
does.
* Added LOCATION attribute to HOST tag for physical view of cluster.
* Enabled the use of hostnames in gmond's trusted hosts list.
2002-08-14 Matt Massie
* Updated gmetric to send the SLOPE and TMAX attributes to gmond
* Making the XML port more bullet-proof when a remote client closes its
connection prematurely
* Changed the XML DTD to handle cases where a CLUSTER has no HOST or
a HOST has no METRICs to report
2002-08-12 Matt Massie
* Added TN (Time Now = number of seconds since last msg received) and
TMAX (Time Max = maximum distance between multicast messages) to the
HOST and METRIC XML elements. Also added the SLOPE attribute to
METRIC which can be set to "zero", "positive", "negative" or "both" in
order to make the Round-Robin database structure more efficient
2002-08-08 Preston Smith
* Fixed AIX/libdnet build problems. (Turned out to be header file
order in gmond.c and gmetric.c)
2002-08-06 Federico Sacerdoti
* Added a "timestamp" type to gmond and gmetric. Also changed some
unit names. Added a OWNER and LATLONG attribute to the CLUSTER tag,
both set in the conf file.
2002-07-24 Matt Massie
* Stitched in the libdnet into the ganglia distribution to handle the
low-level networking necessary for dynamic routing and interface lookup.
2002-07-05 Preston Smith
* Added a patch from Davide Tachella to get CPU MHz on AIX, along
with appropriate autoconf magic to detect it, and tell how to get
the libraries that report it if they're not found.
2002-06-26 Matt Massie
* Fixed the heap corruption and thread madness on Solaris boxes.
2002-06-24 Preston Smith
* Merged linux-alpha platform specific code into linux.c
(cpu # and cpu MHz are the only different metrics)
Fixed configure.in to reflect this.
2002-06-21 Matt Massie
* Completely rewrote the underlying network library in order to allow
for future growth (e.g. automatic discovery and all network interfaces,
sending/receiving on multiple network interfaces, multicast forwarding)
and to fix known bugs
2002-06-20 Preston Smith
* Tweaked cpu_speed_func to only use the existing code for
i386, ia64, and hp-parisc.
Added code to get cpu clock speed for powerpc
Sparc, s390, and arm don't report their cpu clock rate.
* Added lines to machine_type_func to report arch name for
sparc, alpha, powerpc, m68k, mips, arm, hppa, s390
Couldn't log into an m68k or mips box to check them out, so they may
or may not successfully run gmond.
2002-06-20 Preston Smith
* Added patches to aix.c to support AIX 5.
* Added FreeBSD to the list that has SUPPORT_GEXEC=0 by default
(configure.in)
2002-06-17 Steven Wagner
* Updated autoconf to set SUPPORT_GEXEC flag if building on a supported
platform (use --enable-gexec). gmond should report full IRIX metrics
now, and run "out of the box."
2002-05-31 Matt Massie
* Fixed a bug reading the XML output where some hosts had timestamps newer than
the cluster timestamp and were mistakenly marked as down
2002-05-13 Matt Massie
* Changed pre_process_node() gethostbyaddr() error reporting to be more sane
for environments which nameservice problems
* Updated listen.c to prevent out-of-range multicasted key values from crashing
gmond in debug mode
2002-05-06 Matt Massie
* Added an explicit heartbeat metric to gmond along with a GMOND_STARTED
HOST attribute which removes the need for a 90 second delay in gmond restarts
* Updated linux.c to correctly support the ia64 architecture
2002-05-01 Matt Massie
* Gmond now has a configuration file for its configuration instead of
passing commandline arguments
2002-04-26 Asaph Zemach
* Completely rewrote ./gmond/machines/linux.c to be much more efficient by
removing the need for 2 threads and pthread mutexes.
2002-04-26 Matt Massie
* Modified net.c setsockopt() functions to be more portable
2002-04-19 Matt Massie
* Fixed a bug in the .spec file where upgrades failed if gmond was not up
* Updated autoconf to correctly configure ia64 machines
2002-04-18 Matt Massie
* Enabled setsockopt SO_REUSEADDR for the mcast_join socket in order allow
multiple instances of gmond to listen to the same multicast channel
2002-04-17 Matt Massie
* Added the --list and --single_line option to gstat for output flexibility
2002-04-17 Alan Hagge
* Added preliminary support for IRIX
2002-04-16 Matt Massie
* Add the "gexec" metric in preparation for the release of gexec
* Updated the gexec_cluster() function in libganglia to pull in more data
from the XML and handle unresolved names and names without domains correctly
* Updated gstat to print the updated information from gexec_cluster()
* Added a --no_gexec flag to gmond for hosts that are not part of the
computation cluster (file servers, frontends, etc)
* Added a --all_trusted flag where gmond sees ALL hosts as trusted as
suggested by Martin Knoblauch
* Removed goto statement in pre_process_node() function to avoid rare looping bug
thanks to feedback from Mike Snitzer
2002-04-12 Chris Elmquist
* Updated gmetric.c to check if the name of the metric is empty to prevent
the problem of blank metrics showing up in gmonds
2002-04-08 Matt Massie
* Fixed a bug in the barrier code used in gmond
* Fixed mcast_connect() on non-Linux systems related to the IP_MULTICAST_TTL option
* Added the "--no_setuid" and "--setuid" flags to provide more euid flexibility
2002-04-05 Preston Smith
* Added support for AIX machines
2002-04-04 Dave Wallace
* Fixed a bug in gmond which caused big-endian architectures to incorrectly
store multicast data and therefore misreport on the XML port.
* Added a key value check of the XDR multicast data in ./gmond/listen.c
2002-04-04 Matt Massie
* Updated ./lib/gexec_func.c gexec_cluster() function to handle hosts with
no domainname correctly (as pointed out by David Wallace
* Updated the program commandline options to obey the GNU Coding Standard
* Added a --debug_level parameter to gmond to allow debugging the daemon
without recompiling the daemon
* Updated the --trusted_host option to allow multiple instances of the option
* Added a --mcast_ttl gmond option to allow you to modify the
Time-To-Live (TTL) of the outgoing multicast messages
2002-04-02 Neil Spring
* Updated the gmond Makefile to cleanup the machine.c link on "make clean"
2002-04-02 Doc Schneider
* Update the way the number of CPUs are collected in order to workaround a
bug on AMD-based systems.
2002-03-28 Matt Massie
* Change distribution tree to fit the ganglia model. All gmond clients are
in the ./gmond directory and all gregisterd clients in ./gregisterd
2002-03-26 Matt Massie
* Removed the use of streams (via fdopen) on the XML socket and replaced
it with write()s on the socket descriptor to work around Linux bug under
high-stress conditions
2002-03-25 Matt Massie
* Added thread barriers to gmond initialization to ensure listening threads
exist before the threads which multicast are created
2002-03-24 Matt Massie
* Use XML_ParseBuffer() in gexec_cluster() in order to avoid
double copying of buffers (XML input from gmond). Faster.
2002-03-22 Matt Massie
* Updated gexec_cluster_free() to ensure no memory leaks even when
cluster.num_nodes and cluster.num_dead_nodes equals zero
* Used setvbuf to ensure the gmond and libganglia are using line buffering
2002-03-21 Matt Massie
* Updated net.h to include netinet/in.h
* Changed sockaddr_in_new function in net.c to plug a potential memory leak
* Added XML_ParserFree() call to gexec_cluster() lib call to plug up
memory leak
* Modified ./gmond/server.c to prevent crashes under heavy stress conditions
* Added fclose() calls to gexec_cluster() to plug a memory leak
* Added gexec_cluster_free() call to gstat for good measure
2002-03-15 Preston Smith
* Patched a wrong sysctl to get free memory for freebsd machines
2002-03-15 Matt Massie
* Added mute and deaf mode for gmond
* Created a new ganglia-monitor-core-lib distribution for the
libganglia library.
* Moved all the documentation to DocBook, added much more information
and updated/removed what was there. Output docs to ./docs directory
of the distribution in both HTML and PDF form. Also installed
Doxygen to document libganglia.
* Add the Ganglia Status Tool (gstat) which allows you to check the status
of your cluster from the commandline. Hosts are sorted with least-loaded
nodes at the top of the list.
2002-03-12 Matt Massie
* Removed the need for the POSIX mutex in pre_process_node() allowing for
faster processing of incoming multicast data
2002-03-11 Matt Massie
* Changed gmond to not count itself as a running process when reporting
the number of running processes.
2002-03-06 Doc Schneider
* Changed the way ganglia builds RPMs to support non-root builds as
suggested by an anonymous SourceForge user
2002-02-28 Matt Massie
* Added a new CLUSTER element to the XML with two attributes:
NAME and LOCALTIME. Necessary for monitoring clusters in
many different timezones.
2002-02-27 Matt Massie
* Fixed the getopt_long() call in gmond.c thanks to feedback from
Meik Hellmund. The getopt_long() parameters didn't match the
switch() statement breaking the "trusted_host" option.
* Fixed a bug in gmond where connections from untrusted hosts caused
segfaults. Error caused by passing datum_free() a NULL pointer in
server_thread() of ./gmond/server.c.
* Changed the way transient nameservice errors are handled by
pre_process_node() in ./gmond/listen.c. Previously, transient errors
were retried but now they are treated as errors (although gmond
will continue trying to resolve the host when it gets a new
multicast packet from it)
* Updated the ganglia.spec file to merge gmond and gmetric into a single
RPM, fixed some small bugs, and updated the RPM information.
* Changed the gmetric options to also support long options and updated
the help output (from -h, --help) to be much more descriptive
2002-02-27 Preston Smith
* Updated the FreeBSD monitoring code to include all metrics
which are monitored under Linux except number of running processes,
absolute cpu idle time, and shared memory. SMP users may find that
freebsd's cp_time sysctls is not completely accurate under FreeBSD stable
meaning CPU%s might be inaccurate. However, it works under FreeBSD-CURRENT.
2002-02-22 Matt Massie
* Added the getopt source to the ganglia library for system that don't
have the getopt API available (Solaris, FreeBSD, etc)
2002-02-21 Matt Massie
* Changed the "safe_host" option to "trusted_host" to make it clearer
* Added the "num_nodes" and "num_custom_metrics" commandline options
2002-02-20 Matt Massie
* Completely rewrote the underlying hash library because the original
hash functions where over-engineered and had some memory leaks.
New hash functions are superlight and fast. Built test program and
profiled/traced all memory functions using mpatrol. No leaks.
* Updated code to catch when transient nameservice errors occur and retry.
Correctly handle hosts the don't resolve instead of treating as an error.
* Added a patch submitted by Joshua J England for gmond to correctly report
the number of CPUs and their speed on alpha architectures
* Added a patch submitted by Eirikur Hallgrimsson and written by
Yaroslav Klyukin for gmetric which allows users to chose which network
interface gmetric multicasts metric data
2002-02-12 Matt Massie
* Reduced the number of total threads by one by removing the
for(;;)pause() spin and having the main thread do server work
2002-02-07 Matt Massie
* created the function my_inet_ntop() function in libganglia to deal with
the limitations of inet_ntoa in a multi-threaded environment
* changed the self-organzing behavior of gmond to recognize when a transient
error occured on a remote gmond process
* added verbose error checking of gethostbyaddr() in listen.c
2002-02-04 Matt Massie
* fixed a bug in the cpu_num_func() which reported AMD systems as having
twice as many CPUs as they really did
2002-02-01 Matt Massie
* increased the speed of the host security check for the XML port
* added commandline options for almost all compile-time opts for gmond
* added a --safe_host option to allow a host outside of the multicast
channel to connect
* now gmond strips all quotes (") from gmetric data to keep XML well-formed
* improved the self-organizing behavior of the gmonds
2002-01-18 Matt Massie
* changed the name of the distribution from ganglia to
ganglia-monitor-core to be more descriptive
* modified ./gmond/server.c in order to keep gmond from crashing
when a client closes the connection prematurely
* added patch to ./gmond/gmond.c from Neil Spring and Brian Youngstrom to
add command line option and properly setuid to nobody
* added gmond.init.SuSE to the distribution. Contributed by Oliver Mossinger.