Yep, i've come to a similar conclusion. Thanks Brad. 2009/9/2 Brad Nicholes <[email protected]>: > Why can't you just do the following: > > # webserver.pyconf > modules { > module { > name = "lsof" > language = "python" > param httpd { > value = "doesnt-matter" > } > param crawler { > value = "doesnt-matter" > } > } > } > > collection_group { > collect_every = 30 > time_threshold = 60 > > metric { > name = "lsof-httpd" > title = "Web Server open files" > value_threshold = 1.0 > } > > metric { > name = "lsof-crawler" > title = "crawler open files" > value_threshold = 1.0 > } > } > > Then just iterate through all of the params that your module receives and > construct a unique metric name by appending the param name to the module > name. Then create a separate descriptor for each unique metric name and pass > that back. Gmond will generate a metric for each of the descriptors and call > your module to gather each one individually. This way you have one python > module that is loaded once but generates metrics for each process that you > specify in the config file. > > Brad > >>>> On 9/2/2009 at 2:15 AM, in message > <[email protected]>, Matt > <[email protected]> wrote: >> Hi all, >> >> I'm trying to create my python metric modules as versatile as >> possible, but i'm not sure exactly how they are supposed to be used. >> For instance, i've got a python script that grabs open files for a >> process. Can I invoke this module multiple times with different >> pyconf files? and if so, how do I change the metric name? I don't >> really want to use multiple descriptors, as I don't want to check for >> processes I know that are not on the server. example: >> >> The lsof.py script has a descriptor for lsof, can I use the same >> lsof.py for two pyconf files? won't the metrics both show up as lsof? >> Or do I need a different lsof.py for every process/metric I want to >> capture? >> >> # webserver.pyconf >> modules { >> module { >> name = "lsof" >> language = "python" >> param name { >> value = "httpd" >> } >> } >> } >> >> collection_group { >> collect_every = 30 >> time_threshold = 60 >> metric { >> name = "lsof" >> title = "Web Server open files" >> value_threshold = 1.0 >> } >> } >> >> #crawler.conf >> modules { >> module { >> name = "lsof" >> language = "python" >> param processname { >> value = "crawler" >> } >> } >> } >> >> collection_group { >> collect_every = 30 >> time_threshold = 60 >> metric { >> name = "lsof" >> title = "crawler open files" >> value_threshold = 1.0 >> } >> } >> >> Thanks, >> >> Matt >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Ganglia-general mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/ganglia-general > > > >
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Ganglia-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ganglia-general

