Ganglia's gmetric is a handy command line tool to inject custom metrics into gmond. However it and libganglia are not designed for embedding into a C/C++ application. Nor does it provide any scripting interface.
This project provide scripting modules that do not require gmond.conf or gmetric or any other dependencies (these are not wrappers around C code or call gmetric). There is also a C/C++ library for embedding into applications.
Language Wiki Protocols Dependencies C/C++ GmetricClib UDP only none -- self contained Python GmetricPython UDP, multicast none -- pure python, one file Php GmetricPhp UDP only none -- pure php, one file perl GmetricPerl TBD one file Java GmetricJava UDP, multicast none -- one file, multicast project
BenefitsThe main benefit of embedded gmetric into your script or application is to avoid the overhead of
parsing gmond.conf (assuming it is available on your machine) starting a new process calling gethostbyname to resolve the socket
For the occasion metric, calling out to gmetric is not a problem. However if you wanted to inject dozens (hundreds?) of statistics the overhead can slow you down.
When not to use embeddedgmetricYou should continue to use regular gmetric if you have any type of special configuration that involve sending stats to multiple machines, sockets, multicast addresses.
Embedded gmetric primary is useful when you send stats to one machine, especially when using UDP.
News17-Nov-2008 Version 1.3 relasedFixed Issue 5 -- a horrible cut-n-paste error resulted in two sockets being opened, not one. Thanks to "benoit.louy" for reporting the issue. Python gmetric.py is slightly improved as well. 20-Nov-2007 Version 1.2 releasedUpgraded modp_numtoa to get rounding bug fixes. Only effects C/C++ versions. 17-May-2007 Version 1.1 releasedMuch improved makefiles and tests Significant performance improvements by not using sprintf (See here for details). Minor interface changes (some names changed so it doesn't collide with ganglia.h) alpha prototypes for pure perl and php started NO functional changes to the C or pure python versions
Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.