Brad Nicholes wrote: >>>> On 7/13/2009 at 8:17 AM, in message >>>> > <e6ccb7f50907130717i2f3dfd5fi1c69dbd4124a7...@mail.gmail.com>, utopia zh > <utopia...@gmail.com> wrote: > >> Hi, >> >> While trying to use gmond to monitor our applications, we found some issues: >> - Metric collecting may take long time to finish, such examples >> include collecting master/slave status from LDAP, parsing web pages to >> get statistics. >>
This is definitely an issue for some metrics, but not all It would be nice to have threading support within the agent rather than requiring each person who implements a module to re-invent the wheel. However, it might be best to make it configurable, so that `start a thread' becomes a config option for each module or metric. There could be some flag in Ganglia_25metric with which a developer can tell gmond that a metric must be run in it's own thread, and some configuration file option to allow the sysadmin to override the default setting of the flag. >> - Receiving metrics updating from other node may fail due to blocking >> metric collecting. >> >> To avoid this blocking behavior, we tried to change gmond to multithread: >> - Main thread to collect metrics, we also have the metric collection >> python script changed to be non-blocking >> - Dedicate thread to receive updates from other nodes. >> - Dedicated thread to server clients (gmetad/telnet, etc). >> Do you think one thread should be started to handle every client request (so requests can be handled in parallel), or a single thread that runs continuously and handles the requests one at a time? >> Could you help review the patch? We'd like to contribute the patch to >> the community if multi-thread is a generally required features. >> >> Any comments will be appreciated. Thanks. >> How many platforms have you tested it on? Linux, Solaris and Windows are quite popular, and I've found differences in behaviour on each of them when I added some threading code to gmond. Here is a previous thread on threads: http://mail-archives.apache.org/mod_mbox/apr-dev/200903.mbox/<cc67648e0903261256u7096f67dv44dd449fd512...@mail.gmail.com> Depending on how apr was built, and on which platform, the threading support isn't always active - if threading is needed, the Ganglia configure script needs to be more aggressive about detecting such cases and telling the person go and build apr again. ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers