From sly1979@song-liyan.cn Mon Jul 6 02:29:56 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,TVD_SPACE_RATIO autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n667Ts3O075945 for ; Mon, 6 Jul 2009 02:29:55 -0500 X-ASG-Debug-ID: 1246865427-21e702c10000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from smtp.zero.jp (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1DD5F343C5C for ; Mon, 6 Jul 2009 00:30:28 -0700 (PDT) Received: from smtp.zero.jp (smtp06.zero.jp [210.157.5.236]) by cuda.sgi.com with ESMTP id OfZWCpZF4sFGJdiH for ; Mon, 06 Jul 2009 00:30:28 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by smtp.zero.jp (Postfix) with ESMTP id A816A346D8 for ; Mon, 6 Jul 2009 16:30:27 +0900 (JST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at zero.jp Received: from smtp.zero.jp ([127.0.0.1]) by localhost (smtp.zero.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wJMLP4Tv7fwl for ; Mon, 6 Jul 2009 16:30:27 +0900 (JST) Received: from daruma-01 (p11053-ipngn701marunouchi.tokyo.ocn.ne.jp [114.162.142.53]) by smtp.newsv.jp (Postfix) with ESMTPA id 7F54F346C8 for ; Mon, 6 Jul 2009 16:30:27 +0900 (JST) Content-Type: text/plain; charset="iso-2022-jp" From: song-liyan To: pcp@oss.sgi.com X-ASG-Orig-Subj: =?iso-2022-jp?B?GyRCPzdhRRsoQg==?= Subject: =?iso-2022-jp?B?GyRCPzdhRRsoQg==?= MIME-Version: 1.0 Date: Mon, 06 Jul 2009 16:19:25 +0900 Message-Id: <20090706073027.7F54F346C8@smtp.zero.jp> X-Barracuda-Connect: smtp06.zero.jp[210.157.5.236] X-Barracuda-Start-Time: 1246865429 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4712 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2669 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean http://www.song-liyan.cn From mort@sgi.com Mon Jul 6 12:38:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_43, J_CHICKENPOX_74 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n66Hcl0J100901 for ; Mon, 6 Jul 2009 12:38:47 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay2.corp.sgi.com (Postfix) with ESMTP id ED07E3040A4; Mon, 6 Jul 2009 10:39:19 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 44682) id 8454BA0A55A2; Mon, 6 Jul 2009 12:39:19 -0500 (CDT) Date: Mon, 6 Jul 2009 12:39:19 -0500 From: Martin Hicks To: Max Matveev Cc: pcp@oss.sgi.com Subject: Re: [pcp] IB pmda and writing out the default config file Message-ID: <20090706173919.GC18171@alcatraz.americas.sgi.com> References: <20090608171828.GA14199@alcatraz.americas.sgi.com> <18990.24528.172761.247069@iinet.net.au> <20090616182224.GI20783@alcatraz.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090616182224.GI20783@alcatraz.americas.sgi.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Did anyone have any comments on this approach? On Tue, Jun 16, 2009 at 01:22:24PM -0500, Martin Hicks wrote: > > On Tue, Jun 09, 2009 at 11:12:48PM +1000, Max Matveev wrote: > > > > Perhaps a better way to deal with this would be to add some keywords > > to the config file to indicate local HCAs and to complain bitterly if > > they're not found. > > In the end, I still don't love this solution because it requires manual > intervention from the user to change or remove the config file when they > change an HCA (or in my case when a diskless blade gets replaced in a > cluster). > > How about this patch. It rejigs things a lot, but essentially: > > - No config file will be created unless the '-w' flag is passed to > pmdaib. (this is a change) > > - By default, if no config file is found, only local ports are monitored. > (before we would always write out a config file containing only local > ports) > > - If a config file exists then it is the preferred source of information > and perhaps not even local ports will be monitored. (before you could > have edited the automatically created file to remove the local ports) > > > So in the case of a user who is using a custom config file (either to > name the instances differently, or to monitor remote ports) who replaces > an HCA, it will be up to them to edit the config file that they created. > > For those who are using the ib pmda in its simplest mode with no config > file, no changes will be necessary when an HCA is replaced but they have > no guarantee of static device naming if they add an additional HCA. > > > > diff --git a/src/pmdas/ib/daemon.c b/src/pmdas/ib/daemon.c > index 2a71151..12540cc 100644 > --- a/src/pmdas/ib/daemon.c > +++ b/src/pmdas/ib/daemon.c > @@ -33,7 +33,8 @@ usage(void) > fputs("Options:\n" > " -d domain use domain (numeric) for metrics domain of PMDA\n" > " -l logfile write log into logfile rather than using default log name\n" > - " -c path to configuration file\n", > + " -c path to configuration file\n" > + " -w write the basic configuration file\n", > stderr); > exit(1); > } > @@ -46,19 +47,22 @@ main(int argc, char **argv) > pmdaInterface dispatch; > char helppath[MAXPATHLEN]; > char *confpath = NULL; > - char *p; > int opt; > + int writeconf = 0; > > __pmSetProgname(argv[0]); > snprintf(helppath, sizeof(helppath), "%s%c" "ib" "%c" "help", > pmGetConfig("PCP_PMDAS_DIR"), sep, sep); > pmdaDaemon(&dispatch, PMDA_INTERFACE_3, pmProgname, IB, "ib.log", helppath); > > - while ((opt = pmdaGetOpt(argc, argv, "D:c:d:l:?", &dispatch, &err)) != EOF) { > + while ((opt = pmdaGetOpt(argc, argv, "D:c:d:l:w?", &dispatch, &err)) != EOF) { > switch (opt) { > case 'c': > confpath = optarg; > break; > + case 'w': > + writeconf = 1; > + break; > default: > err++; > } > @@ -69,7 +73,7 @@ main(int argc, char **argv) > } > > pmdaOpenLog(&dispatch); > - ibpmda_init(confpath, &dispatch); > + ibpmda_init(confpath, writeconf, &dispatch); > pmdaConnect(&dispatch); > pmdaMain(&dispatch); > > diff --git a/src/pmdas/ib/dso.c b/src/pmdas/ib/dso.c > index 33f10a8..4e506f8 100644 > --- a/src/pmdas/ib/dso.c > +++ b/src/pmdas/ib/dso.c > @@ -37,5 +37,5 @@ ib_init (pmdaInterface * dispatch) > pmGetConfig("PCP_PMDAS_DIR"), sep, sep); > pmdaDSO(dispatch, PMDA_INTERFACE_3, "ibpmda", helppath); > > - ibpmda_init(NULL, dispatch); > + ibpmda_init(NULL, 0, dispatch); > } > diff --git a/src/pmdas/ib/ib.c b/src/pmdas/ib/ib.c > index ccfb079..c027f77 100644 > --- a/src/pmdas/ib/ib.c > +++ b/src/pmdas/ib/ib.c > @@ -141,6 +141,70 @@ typedef struct port_state_s { > char pcap[IB_ALLPORTCAPSTRLEN]; > } port_state_t; > > +static char confpath[MAXPATHLEN]; > +static int portcount; > +/* Line number while parsing the config file */ > +static FILE *fconf; > +static int lcnt; > + > +#define print_parse_err(loglevel, fmt, args...) \ > + if (fconf) { \ > + __pmNotifyErr(loglevel, "%s(%d): " fmt, fconf, lcnt, args); \ > + } else { \ > + __pmNotifyErr(loglevel, fmt, args); \ > + } > + > +static void > +monitor_guid(pmdaIndom *itab, char *name, long long guid, int rport, > + char *local, int lport) > +{ > + int inst; > + hca_state_t *hca = NULL; > + port_state_t *ps; > + > + if (pmdaCacheLookupName(itab[IB_HCA_INDOM].it_indom, local, NULL, > + (void**)&hca) != PMDA_CACHE_ACTIVE) { > + print_parse_err(LOG_ERR, "unknown HCA '%s' in 'via' clause\n", local); > + return; > + } > + > + if ((lport >= UMAD_CA_MAX_PORTS) || (lport < 0)) { > + print_parse_err(LOG_ERR, > + "port number %d is out of bounds for HCA %s\n", > + lport, local); > + return; > + } > + > + if (hca->lports[lport].hndl == NULL) { > + print_parse_err(LOG_ERR, > + "port %s:%d has failed initialization\n", > + local, lport); > + return; > + } > + > + if ((ps = (port_state_t *)calloc(1, sizeof(port_state_t))) == NULL) { > + __pmNotifyErr (LOG_ERR, "Out of memory to save state for %s\n", name); > + return; > + } > + > + ps->guid = guid; > + ps->remport = rport; > + ps->lport = hca->lports + lport; > + ps->portid.lid = -1; > + ps->timeout = 1000; > + > + if ((inst = pmdaCacheStore(itab[IB_PORT_INDOM].it_indom, > + PMDA_CACHE_ADD, name, ps)) < 0) { > + __pmNotifyErr(LOG_ERR, "Cannot add %s to the cache - %s\n", > + name, pmErrStr(inst)); > + free (ps); > + return; > + } > + > + portcount++; > +} > + > + > static int > foreachport(hca_state_t *hst, void (*cb)(hca_state_t *, umad_port_t *, void *), > void *closure) > @@ -166,7 +230,6 @@ foreachport(hca_state_t *hst, void (*cb)(hca_state_t *, umad_port_t *, void *), > static void > printportconfig (hca_state_t *hst, umad_port_t *port, void *arg) > { > - FILE *fconf = arg; > uint64_t hguid = port->port_guid; > > __ntohll((char *)&hguid); > @@ -176,6 +239,20 @@ printportconfig (hca_state_t *hst, umad_port_t *port, void *arg) > hst->ca.ca_name, port->portnum); > } > > +static void > +monitorport(hca_state_t *hst, umad_port_t *port, void *arg) > +{ > + pmdaIndom *itab = arg; > + uint64_t hguid = port->port_guid; > + char name[128]; > + > + __ntohll((char *)&hguid); > + sprintf(name, "%s:%d", port->ca_name, port->portnum); > + > + monitor_guid(itab, name, hguid, port->portnum, port->ca_name, port->portnum); > +} > + > + > static int mgmt_classes[] = {IB_SMI_CLASS, IB_SMI_DIRECT_CLASS, > IB_SA_CLASS, IB_PERFORMANCE_CLASS}; > static void > @@ -196,74 +273,10 @@ openumadport (hca_state_t *hst, umad_port_t *port, void *arg) > lp->hndl = hndl; > } > > -int > -ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) > +static void > +parse_config(pmdaIndom *itab) > { > - char hcas[IBPMDA_MAX_HCAS][UMAD_CA_NAME_LEN]; > - hca_state_t *st = NULL; > - int i, n; > - int lcnt = 0; > char buffer[2048]; > - FILE *fconf; > - int (*closef)(FILE *) = fclose; > - int portcount = 0; > - > - if (nindoms <= IB_CNT_INDOM) { > - return (-EINVAL); > - } > - > - if (umad_init()) { > - return (-EIO); > - } > - > - if ((n = umad_get_cas_names(hcas, ARRAYSZ(hcas)))) { > - if ((st = calloc (n, sizeof(hca_state_t))) == NULL) { > - return (-ENOMEM); > - } > - } else { > - return (0); > - } > - > - for (i=0; i < n; i++) { > - if (umad_get_ca(hcas[i], &st[i].ca) == 0) { > - int e = pmdaCacheStore (itab[IB_HCA_INDOM].it_indom, PMDA_CACHE_ADD, > - st[i].ca.ca_name, &st[i].ca); > - > - if (e >= 0) { > - foreachport (st+i, openumadport, NULL); > - } else { > - __pmNotifyErr (LOG_ERR, > - "Cannot add instance for %s to the " > - "cache - %s\n", > - st[i].ca.ca_name, pmErrStr(e)); > - } > - } > - } > - > - /* Process config file - if the executable bit is set then assume > - * that user wants it to be a script and run it, otherwise try loading > - * it. If it cannot be loaded then create a default one and > - * process it again */ > - if (access(confpath, X_OK)) { > - /* Not an executable, just read it */ > - if ((fconf = fopen (confpath, "r")) == NULL) { > - if ((fconf = fopen (confpath, "w+")) != NULL) { > - for (i=0; i < n; i++) { > - foreachport (st+i, printportconfig, fconf); > - } > - fseek (fconf, 0, SEEK_SET); > - } > - } > - } else { > - fconf = popen(confpath, "r"); > - closef = pclose; > - } > - > - if (fconf == NULL) { > - __pmNotifyErr (LOG_CRIT, "Cannot open configuration file %s\n", > - confpath); > - return (-ENOENT); > - } > > while ((fgets(buffer, sizeof(buffer)-1, fconf)) != NULL) { > char *p; > @@ -285,64 +298,98 @@ ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) > int rport; > char local[128]; > int lport; > - hca_state_t *hca = NULL; > - port_state_t *ps; > > if (sscanf(p, "%[^ \t]%llx%d via %[^:]:%d", > name, &guid, &rport, local, &lport) != 5) { > __pmNotifyErr (LOG_ERR, "%s(%d): cannot parse the line\n", > confpath, lcnt); > - } else if (pmdaCacheLookupName(itab[IB_HCA_INDOM].it_indom, > - local, NULL, > - (void**)&hca) != PMDA_CACHE_ACTIVE) { > - __pmNotifyErr (LOG_ERR, > - "%s(%d): unknown HCA '%s' in 'via' clause\n", > - confpath, lcnt, local); > - } else if ((lport >= UMAD_CA_MAX_PORTS) || (lport < 0)) { > - __pmNotifyErr (LOG_ERR, > - "%s(%d): port number %d is out of bounds for " > - "HCA %s\n", > - confpath, lcnt, lport, local); > - } else if (hca->lports[lport].hndl == NULL) { > - __pmNotifyErr (LOG_ERR, > - "%s(%d): port %s:%d has failed initialization\n", > - confpath, lcnt, local, lport); > - } else if ((ps = (port_state_t *)calloc(1, sizeof(port_state_t))) == NULL) { > - __pmNotifyErr (LOG_ERR, "Out of memory to save state for %s\n", > - name); > - } else { > - int inst; > - ps->guid = guid; > - ps->remport = rport; > - ps->lport = hca->lports + lport; > - ps->portid.lid = -1; > - ps->timeout = 1000; > - > - if ((inst = pmdaCacheStore (itab[IB_PORT_INDOM].it_indom, > - PMDA_CACHE_ADD, name, ps)) < 0) { > - __pmNotifyErr (LOG_ERR, > - "Cannot add %s to the cache - %s\n", > - name, pmErrStr(inst)); > - free (ps); > - } else { > - portcount++; > - } > + continue; > } > + > + monitor_guid(itab, name, guid, rport, local, lport); > } > } > - (*closef) (fconf); > +} > + > +int > +ib_load_config(const char *cp, int writeconf, pmdaIndom *itab, unsigned int nindoms) > +{ > + char hcas[IBPMDA_MAX_HCAS][UMAD_CA_NAME_LEN]; > + hca_state_t *st = NULL; > + int i, n; > + int (*closef)(FILE *) = fclose; > + > + if (nindoms <= IB_CNT_INDOM) > + return -EINVAL; > + > + if (umad_init()) > + return -EIO; > + > + if ((n = umad_get_cas_names(hcas, ARRAYSZ(hcas)))) { > + if ((st = calloc (n, sizeof(hca_state_t))) == NULL) > + return -ENOMEM; > + } else > + /* No HCAs */ > + return 0; > + > + /* Open config file - if the executable bit is set then assume that > + * user wants it to be a script and run it, otherwise try loading it. > + */ > + strcpy(confpath, cp); > + if (access(confpath, F_OK) == 0) { > + if (writeconf) { > + __pmNotifyErr(LOG_ERR, > + "Config file exists and writeconf arg was given to pmdaib. " > + "Using existing config file"); > + writeconf = 0; > + } > + > + if (access(confpath, X_OK)) { > + /* Not an executable, just read it */ > + fconf = fopen (confpath, "r"); > + } else if (!writeconf) { > + fconf = popen(confpath, "r"); > + closef = pclose; > + } > + } else if (writeconf) { > + fconf = fopen(confpath, "w"); > + } > + > + for (i=0; i < n; i++) { > + if (umad_get_ca(hcas[i], &st[i].ca) == 0) { > + int e = pmdaCacheStore(itab[IB_HCA_INDOM].it_indom, PMDA_CACHE_ADD, > + st[i].ca.ca_name, &st[i].ca); > + > + if (e < 0) { > + __pmNotifyErr(LOG_ERR, > + "Cannot add instance for %s to the cache - %s\n", > + st[i].ca.ca_name, pmErrStr(e)); > + continue; > + } > + > + foreachport(st+i, openumadport, NULL); > + if (fconf == NULL || writeconf) > + /* No config file - monitor local ports */ > + foreachport(st+i, monitorport, itab); > + if (writeconf) > + foreachport(st+i, printportconfig, fconf); > + } > + } > + > + if (fconf) { > + parse_config(itab); > + (*closef)(fconf); > + } > > if (!portcount) { > - __pmNotifyErr (LOG_INFO, > - "No ports found in configuration file %s\n", > - confpath); > + __pmNotifyErr(LOG_INFO, "No IB ports found to monitor"); > } > - > + > itab[IB_CNT_INDOM].it_set = (pmdaInstid *)calloc(ARRAYSZ(mad_cnt_descriptors), > sizeof(pmdaInstid)); > > if (itab[IB_CNT_INDOM].it_set == NULL) { > - return (-ENOMEM); > + return -ENOMEM; > } > > itab[IB_CNT_INDOM].it_numinst = ARRAYSZ(mad_cnt_descriptors); > @@ -351,8 +398,8 @@ ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) > itab[IB_CNT_INDOM].it_set[i].i_name = mad_cnt_descriptors[i].name; > > } > - > - return (0); > + > + return 0; > } > > static char * > @@ -869,7 +916,7 @@ ib_store(pmResult *result, pmdaExt *pmda) > return (PM_ERR_INST); > } > break; > - > + > case METRIC_ib_control_hiwat: > if ((id < 0) || > (id > pmda->e_indoms[IB_CNT_INDOM].it_numinst)) { > @@ -884,7 +931,7 @@ ib_store(pmResult *result, pmdaExt *pmda) > } > } > } > - return (0); > + return 0; > } > > > diff --git a/src/pmdas/ib/ibpmda.h b/src/pmdas/ib/ibpmda.h > index 153743b..fae2c3c 100644 > --- a/src/pmdas/ib/ibpmda.h > +++ b/src/pmdas/ib/ibpmda.h > @@ -22,10 +22,10 @@ > #include "domain.h" > > > -void ibpmda_init (const char *configpath, pmdaInterface *); > +void ibpmda_init (const char *configpath, int, pmdaInterface *); > > int ib_fetch_val(pmdaMetric *, unsigned int, pmAtomValue *); > -int ib_load_config(const char *, pmdaIndom *, unsigned int); > +int ib_load_config(const char *, int, pmdaIndom *, unsigned int); > void ib_rearm_for_update(void *); > void ib_reset_perfcounters (void *); > int ib_store(pmResult *, pmdaExt *); > diff --git a/src/pmdas/ib/pmda.c b/src/pmdas/ib/pmda.c > index 6a8e02d..d5557b3 100644 > --- a/src/pmdas/ib/pmda.c > +++ b/src/pmdas/ib/pmda.c > @@ -297,7 +297,7 @@ ib_fetch(int numpmid, pmID pmidlist[], pmResult **resp, pmdaExt *pmda) > } > > void > -ibpmda_init(const char *confpath, pmdaInterface *dp) > +ibpmda_init(const char *confpath, int writeconf, pmdaInterface *dp) > { > char defconf[MAXPATHLEN]; > int sep = __pmPathSeparator(); > @@ -320,7 +320,7 @@ ibpmda_init(const char *confpath, pmdaInterface *dp) > } > > > - if ((dp->status = ib_load_config (confpath, indomtab, ARRAYSZ(indomtab)))) > + if ((dp->status = ib_load_config(confpath, writeconf, indomtab, ARRAYSZ(indomtab)))) > return; > > for (i=0; i < ARRAYSZ(indomtab); i++) { > > > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From nscott@aconex.com Tue Jul 7 05:05:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n67A5leT137916 for ; Tue, 7 Jul 2009 05:05:47 -0500 X-ASG-Debug-ID: 1246961592-3ed6017f0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1D9F49F3CF7 for ; Tue, 7 Jul 2009 03:13:13 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id e8x2IfDMB01GPoOL for ; Tue, 07 Jul 2009 03:13:13 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 5D0A71093AF for ; Tue, 7 Jul 2009 20:06:19 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id Fare3Ocrb4JHfC1l for ; Tue, 07 Jul 2009 20:06:19 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 827E2A503E9 for ; Tue, 7 Jul 2009 20:05:48 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 5775D4FD82 for ; Tue, 7 Jul 2009 20:06:19 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5zdUI+LEeVWy for ; Tue, 7 Jul 2009 20:06:15 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 830C64FD84 for ; Tue, 7 Jul 2009 20:06:15 +1000 (EST) Date: Tue, 7 Jul 2009 20:06:14 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <1292733719.215731246961174474.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates Subject: pcp updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [211.28.150.226] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1246961594 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2763 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/nathans/pcp.git src/cpan/PMDA/Changes | 4 src/cpan/PMDA/PMDA.pm | 4 src/cpan/PMDA/PMDA.xs | 171 ++++++++++++++++++++++++++--------------- src/pmdas/zimbra/pmdazimbra.pl | 36 +++++++- 4 files changed, 149 insertions(+), 66 deletions(-) commit b7087f4b8209e14c31cd19753cba7256eff65234 Author: Nathan Scott Date: Tue Jul 7 18:31:36 2009 +1000 Not all Zimbra installations have same proc file format. In particular, our secondary server is missing the last four entries that are there on the primary production server, for the proc.csv file. Make the code parsing this a little more robust, and able to deal with arbitrary missing entries. commit 8371ef09d24478b4e769243ecf5ef4b423cc1462 Author: Nathan Scott Date: Tue Jul 7 12:07:05 2009 +1000 Fix a subtle memory leak in the Perl PMDA interface. It turns out that, for PCP::PMDA, we cannot call Perl code from C code and expect that the G_DISCARD flag will do our temporary variable memory cleanup for us. The reason for this is that, in PCP::PMDA, the main flow of control is not ever returned to Perl, where such cleanup would be done, as we sit forever in the PMCD message loop. This is resolved by explicitly deallocating local temporaries in all places, not just some, and generally being more clear about where memory is allocated and deallocated, especially in call sites where multiple Perl functions may be called from C (fetch). From nscott@aconex.com Wed Jul 8 01:57:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_73 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n686vkLV211277 for ; Wed, 8 Jul 2009 01:57:48 -0500 X-ASG-Debug-ID: 1247036299-5e0100230000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BF48334C95B for ; Tue, 7 Jul 2009 23:58:20 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id ZaFXIMTPxaDrIaGC for ; Tue, 07 Jul 2009 23:58:20 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 813B7112666 for ; Wed, 8 Jul 2009 16:58:15 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id kb9idDlDmZY8Inqk for ; Wed, 08 Jul 2009 16:58:15 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 2786BA501BC for ; Wed, 8 Jul 2009 16:57:44 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 680774FD88 for ; Wed, 8 Jul 2009 16:58:15 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MoYc9Nt-1bLp for ; Wed, 8 Jul 2009 16:58:11 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 8B2C14FD82 for ; Wed, 8 Jul 2009 16:58:11 +1000 (EST) Date: Wed, 8 Jul 2009 16:58:11 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <256967527.271021247036291473.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates (2.8.12) Subject: pcp updates (2.8.12) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247036301 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2840 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcp.git CHANGELOG | 5 +++++ VERSION.pcp | 2 +- debian/changelog | 4 ++-- src/cpan/PMDA/Changes | 4 +++- src/cpan/PMDA/local.c | 12 ++++++++---- src/include/pmapi.h | 3 +++ src/pmdas/darwin/pmda.c | 21 +++++++++++++++++++-- src/pmdas/mysql/pmdamysql.pl | 2 +- src/pmdas/zimbra/pmdazimbra.pl | 5 +++-- 9 files changed, 45 insertions(+), 13 deletions(-) commit 6aa5ce6b15808811d16d93384a6f32cae24c4173 Author: Nathan Scott Date: Wed Jul 8 16:47:25 2009 +1000 Bump version number to 2.8.12 for recent fixes. commit c81fcbe3e9be80cd6825fd837d3e87f13a14055e Author: Nathan Scott Date: Wed Jul 8 16:32:13 2009 +1000 Remove a spurious diagnostic from the Zimbra PMDA. commit 2ab37888b8224fd8ce168d7b347d70df5d000fdd Author: Nathan Scott Date: Wed Jul 8 16:31:37 2009 +1000 Correct the type for the mysql.variables.log metric. commit 1b2031961c8b3ac03673a1f9548b5eb6127deb95 Author: Nathan Scott Date: Wed Jul 8 16:30:52 2009 +1000 Fix a major botch in the Mac OS X kernel (darwin) PMDA. Some macro cleanup during Windows porting has accidentally regressed the darwin PMDA, causing it to fail to start thanks to some overly strict checking on startup (pmda dispatch -> e_direct field) and a newly introduced "hole" in the metric descriptor table thanks to the removal of some no-longer-used metrics there. Fix is to add back those metrics, just using not-supported types and return codes on fetch, and be less strict during startup in case the same class of error ever happens again (just warn instead of exiting now, esp. since exiting is done in pmcd process context). Issue found and fix tested by Ken, thanks! commit 174cbdd44347580e5974de70db7221ac0d08fdbf Author: Nathan Scott Date: Wed Jul 8 16:23:42 2009 +1000 Add sockaddr forward declaration in case of unusual system headers. commit b1824cb5b736317ad569e9800349e92f9d1f9596 Author: Nathan Scott Date: Wed Jul 8 16:22:47 2009 +1000 Couple more bug fixes in the Perl PMDA interface. In particular: fix an off-by-one when handling long input lines, and make an effort to terminate any children started by the PMDA at exit (clean exit, esp. from pcp start/stop script, improving runtime of that script significantly when Perl agents deployed). From kenj@internode.on.net Wed Jul 8 03:31:23 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,HTML_MESSAGE, J_CHICKENPOX_35,J_CHICKENPOX_36,J_CHICKENPOX_37 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n688VMMx214725 for ; Wed, 8 Jul 2009 03:31:23 -0500 X-ASG-Debug-ID: 1247042332-06f002220000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9657FC6DD3F for ; Wed, 8 Jul 2009 01:38:52 -0700 (PDT) Received: from mail.internode.on.net (bld-mail19.adl2.internode.on.net [150.101.137.104]) by cuda.sgi.com with ESMTP id lkUrz7E2bH5u4fQW for ; Wed, 08 Jul 2009 01:38:52 -0700 (PDT) Received: from [192.168.1.100] (unverified [118.208.148.56]) by mail.internode.on.net (SurgeMail 3.8f2) with ESMTP id 2006493-1927428 for ; Wed, 08 Jul 2009 18:01:52 +0930 (CST) X-ASG-Orig-Subj: Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Proposal for handling dynamic metric names (and hence dynamic metrics) From: Ken McDonell Reply-To: kenj@internode.on.net To: pcp@oss.sgi.com Content-Type: multipart/mixed; boundary="=-pDyEAhgojv6YkbR8VKrp" Date: Wed, 08 Jul 2009 18:31:51 +1000 Message-Id: <1247041911.7833.4.camel@bozo> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 X-Barracuda-Connect: bld-mail19.adl2.internode.on.net[150.101.137.104] X-Barracuda-Start-Time: 1247042334 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0645 1.0000 -1.6090 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2847 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-pDyEAhgojv6YkbR8VKrp Content-Type: text/plain Content-Transfer-Encoding: 7bit I've been threatening to get this out for sometime now. There is no code to back any of this up (yet), it really is a proposal ... so please let me know if you think this is a good or bad idea, and holes being picked in the issues covered would be most welcome, as would better ideas. The motivation here is to get pmcd out of the way for cases where it is the PMDA that knows what metrics are available, not the PMNS loaded by pmcd, e.g. an mmv-like PMDA where the available metrics are discovered from mmap'd files when the PMDA starts. --=-pDyEAhgojv6YkbR8VKrp Content-Disposition: attachment; filename="dynamic_pmns.html" Content-Type: text/html; name="dynamic_pmns.html"; charset="UTF-8" Content-Transfer-Encoding: 7bit Dynamic PCP Performance Metric Namespaces

Proposal for Supporting Dynamic PCP Performance Metric Namespaces

Ken McDonell
kenj@internode.on.net

Initially in PCP, the Performance Metrics Namespace (PMNS) was local to each machine where PCP was being used. This made it difficult to co-ordinate the PMNS versions on multiple monitoring machines with the PMDAs installed on the collector machines and was quickly identified as a weakness and replaced by the "Distributed PMNS" we have today where the PMNS is maintained on the PCP collector machine or within the PCP archive. Monitoring applications ship their namespace requests to the relevant source of metrics, namely a pmcd or a PCP archive.

Aside from the rare use of a local PMNS (with the –n option) by PCP monitoring applications, the principal use of the PMNS is to be loaded (or reloaded) by pmcd and then used by pmcd to respond directly to remote requests from PCP monitoring applications using pmLookupName() (or the asynchronous equivalent pair pmRequestNames() and pmReceiveNames()), pmNameID() (or the asynchronous equivalent pair pmRequestNameID() and pmRecieveNameID()), pmNameAll() (or the asynchronous equivalent pair pmRequestNameAll() and pmReceiveNameAll() &mdash although the former is defined, documented but not implemented!), pmGetChildren(), pmGetChildrenStatus() (or the asynchronous equivalent pair pmRequestNamesOfChildern() and pmReceiveNamesOfChildren()) and pmTraversePMNS() (or the asynchronous equivalent pair pmRequestTraversePMNS() and pmReceiveTraversePMNS()).

The PMNS on a collector machine is maintained as a single file with entries added and deleted as a part of the installation and removal of a PMDA.

While this regime has served PCP well for most PMDAs, there have been a small number of cases where the static nature of the PMNS has not been appropriate, e.g.

  • PCP's one-dimensional instance domain data model imposes the need for remapping when data naturally occurs across more than one dimension, e.g. histogram bins of service times for a set of similar operation types. This is usually addressed by either linearizing the instance domain and constructing composite instance names, or mapping one of the dimensions onto the PMNS. When both dimensions are variable this can become quite messy.

    All of the DBMS PMDAs had issues in this area.

  • Some PMDAs are data-driven, e.g. the memory mapped class of PMDAs, and for these the names of available metrics maybe "discovered" when the memory mapped files are opened and so cannot be part of the PMDA's PMNS at the time the PMDA is installed.

Existing methods for handling a dynamic aspect of the PMNS are all ugly and error-prone, e.g. make a new PMNS, update the global PMNS and sent pmcd a SIGHUP signal.

Proposal Overview

The existing PMNS will be extended (no backwards compatibility issues) to introduce a new "non-terminal" node that will be used to indicate that the PMNS below this point is dynamic and defined by the associated PMDA.

As an example to be used throughout this proposal, the foo PMDA (domain 44) supports dynamic names below the foo.count node in the PMNS. The relevant fragment of the ASCII PMNS would be as follows:

root {
	...
	foo
	...
}
...
foo {
	version	44:0:1
	count		44:*:*
	memory	44:0:2
}

The foo PMDA is willing to export metadata and metric values for the following additional (dynamic) metrics:
       foo.count.ops (PMID 44:1:0)
       foo.count.errs (PMID 44:1:1)
       foo.count.numcount (PMID 44:0:27)

Changes to pmcd and new interactions with the foo PMDA would mean that attempts to look up the PMIDs for metrics with names beginning foo.count. would be passed from pmcd to the foo PMDA, and similarly requests to find the names of metrics given their PMID would also be passed from pmcd to the foo PMDA if they are not resolved in the PMNS loaded into pmcd.

Detailed Changes Required

Changes to the ASCII PMNS Format

As forshadowed, the syntax :*:* after a domain number would flag a PMNS node as the root of a subtree of names to be resolved in the associated PMDA.

The only place where the ASCII PMNS format is known at this level of detail is in the internal routine loadascii() of libpcp which is called from pmLoadNameSpace(), pmLoadASCIINameSpace() and pmGetPMNSLocation(). So extending the parser here is simple.

Changes to the Binary PMNS Format

The binary format of the PMNS is what is loaded into the address space after the ASCII PMNS has been parsed (it is also the format generated by pmnscomp and read by the libpcp routines, but this is just a performance short cut — pmnscomp will need almost no change as it simply writes out the binary PMNS after it has been loaded).

The relevant data structure is __pmnsNode (defined in <pcp/impl.h>). Now this structure is sufficiently public that we cannot change it in any way that would break binary compatibility, and the only field avalable to encode both the PMDA's domain number and the dynamic nature of the node in the PMNS is the pmid field. Internally a pmid is structured thus (ignoring the endian alternative form):

typedef struct {
	int			pad : 2;
	unsigned int	domain : 8;
	unsigned int	cluster : 12;
	unsigned int	item : 10;
} __pmID_int;

So the domain field must be used to encode the domain of the PMDA providing the dynamic names, but unfortunately there are no values for cluster and/or item that could be used to mark the node as the root of a subtree of dynamic names. By good fortune we have spare bits hiding in the pad field, so the proposal is to extend the __pmID_int struct to allocate one of the bits from pad to the new field dynamic, as follows:

typedef struct {
	unsigned int	dynamic : 1;
	int			pad : 1;
	unsigned int	domain : 8;
	unsigned int	cluster : 12;
	unsigned int	item : 10;
} __pmID_int;

A value of 1 for dynamic encodes the fact that this PMNS node is the root of a dynamic subtree. Leaving pad between domain and dynamic would allow the domain field of a PMID to expand to 9 bits if that becomes necessary at some point in the future. This change does make a dynamic PMID negative when treated as a 32-bit integer but this should not be a problem as code of the form:
	if (pmid < 0) ...
is just plain wrong, and should probably be
	if (pmid == PMID_NULL) ...

Internally, the PMID for a node at the base of a dynamic subtree would be encoded as 1::4095:1023, i.e. the pad field set to 1 and all ones in the cluster and item fields to minimize the chance of any "false" matching.

Changes for pmlogger and PCP Archives

No changes are needed here as pmlogger tolerates missing metrics and only adds PMNS and metadata information into the PCP archives for those metrics that can be found, so the PMID for the the root of a subtree of dynamic names will never appear in an archive, although the descendent nodes (with their associated names and PMIDs) may appear in an archive.

Changes for libpcp_pmda

To support the additional interactions between pmcd and the PMDAs the pmdaInterface structure needs to be extended. This will be PMDA_INTERFACE_4, and involves adding struct { } three; to the union, with all of the fields from struct { } two; plus the following:

	int	(*pmns_pmid)(char *, pmID *);
	int	(*pmns_name)(pmID, char **);
	int	(*pmns_children)(char *, char ***, int **);

The standard implementation of these routines should suffice for the majority of cases, but they are exposed in the interface to allow an over-riding implementation should that be necessary (this also makes them consistent with all other PDU handling routines in the PMDA library).

Changes for libpcp

The table below describes the changes that are needed in various libpcp routines that are used once a PMNS is loaded (for simplicity we've omitted the asynchronous versions of these synchronous routines, but the same semantics would apply to the asynchronous versions).

libpcp Routine PMNS_LOCAL PMNS_REMOTE
pmLookupName If namelist[i] prefix matches the path to a dynamic node in the PMNS, then pmidlist[i] is set to a dynamic PMID (with the domain domain of the PMDA from the root of the dynamic subtree, the cluster and item serial fields are set to all ones and the dynamic field set to 1) and pmLookupName() returns success. So foo.count would return PM_ERR_NONLEAF (this is a special case that needs to be checked for), while foo.count.ops and foo.count.anything.else would both return the PMID 1:44:4095:1023. Ship to pmcd, where pmLookupName() is called as in the PMNS_LOCAL case. Scan the resulting pmidlist[] and if a dynamic PMID is found and if the associated PMDA is using PMDA_INTERFACE_4 ship the original metric name to the matching PMDA and use the PMID and status that is returned from the pmns_pmid() method, otherwise do nothing. So foo.count would return PM_ERR_NONLEAF, foo.count.ops would return PMID 0:44:1:0 and foo.count.anything.else would PM_ERR_NAME.
pmNameID Nothing really special is required. Any PMID that could be associated with dynamic names will fail to match in the PMNS and PM_ERR_PMID will be returned. If the PMID has the dynamic field set to 1, then it might be possible to find and return the name at the root of a dynamic subtree (e.g. foo.count for PMID 1:44:4095:1023), but since this is potentially ambiguous and of no apparent use, PM_ERR_PMID will be returned in this case also. Ship to pmcd, where pmNameID() is called as in the PMNS_LOCAL case. If PM_ERR_PMID is returned, then some extra processing is required. If PMID has the dynamic field set to 1 or the associated PMDA (from the domain field of the PMID) is not using PMDA_INTERFACE_4 then return PM_ERR_PMID as this cannot match any valid metric. If the domain field in the PMID matches any node in the PMNS that is the root of a dynamic subtree then ship the original PMID to the matching PMDA where the pmns_name() method is called and use the metric name and status that is returned.
pmNameAll Same handling as for pmNameID(). Same handling as for pmNameID().
pmGetChildren If name matches the path to a dynamic node in the PMNS then return zero (no descendents), otherwise there is no change in behaviour. So the descendents of foo will be version, count and memory, but there are no descendents of foo.count. Ship to pmcd, where pmGetChildren() is called as in the PMNS_LOCAL case. If there are no descendents of name, and name is the root of a dynamic subtree in the PMNS, and the associated PMDA (from the domain field of the matching PMID) is using PMDA_INTERFACE_4 then ship the original name to the matching PMDA where the pmns_children() method is called and use the list of offspring and status that is returned. Otherwise (not PMDA_INTERFACE_4 or no matching PMDA) if name is the root of a dynamic subtree in the PMNS then it is skipped. So, for example calling pmGetChildren with foo as the name argument will return foo.version, foo.count.ops, foo.count.errs, foo.count.numcount and foo.memory.
pmGetChildrenStatus Similar handling as for pmGetChildren(), except that the status for a descendent node that is itself the root of a dynamic subtree in the PMNS is set to PMNS_NONLEAF_STATUS. Similar handling as for pmGetChildren(), except the status may also be returned from the PMDA if pmcd ships the request to a PMDA.
pmTraversePMNS Any node that is at the root of a dynamic subtree of the PMNS is never returned to the dometric() method. Ship to pmcd, where pmTraversePMNS() is called as in the PMNS_LOCAL case, however whenever a node is encountered that is the root of a dynamic subtree in the PMNS (i.e. the matching PMID has the dynamic field set to 1 and the associated PMDA (from the domain field of the PMID) is using PMDA_INTERFACE_4) then the path is shipped to the associated PMDA where the pmns_children() method is called and all of the decendent names are returned to pmcd which inserts these into the list of names to be returned to the caller for subsequent callbacks to the dometric() method.
pmLoadNameSpace Parser changes as noted above, e.g. for 44:*:*. Do not check for duplicate PMIDs in the case of a node that is the root of a dynamic subtree, as there could be more than one dynamic subtree associated with the same PMDA. Not relevant.

A small change is needed in pmIDStr() to detect a dynamic PMID (checking if the dynamic field is 1), and then output an asterisk in place of the numeric cluster and item fields.

Some Limitations

The "dynamic" nature of the PMNS only applies to the PMNS at the time it is explored. For most monitoring tools this is at start up (typically after a configuration file has been read), so any changes to the PMNS after that point in time will not be noticed. Specifically this means:

  • pmchart explores the PMNS each time a new plot is added, so metrics missing at the time a view is populated are dropped with a warning, but the metric selector is re-populated each time it is launched
  • pmlogger will only log those metrics defined at the time it is started
  • pmie will return "unknown" as the value of any expression involving metrics not defined at the time it is started
  • pmdumptext will only report on those metrics defined at the time it is started
  • pmval reports an error and exits if the metric name is not defined at the time it is started

This behaviour is no different to other existing interactions, e.g. when a PMDA is installed or removed, so is not a new issue.

--=-pDyEAhgojv6YkbR8VKrp-- From goodwinos@gmail.com Wed Jul 8 20:03:34 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6913Xk9259554 for ; Wed, 8 Jul 2009 20:03:33 -0500 X-ASG-Debug-ID: 1247101867-0a7e00270000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6B6E0A0B72F for ; Wed, 8 Jul 2009 18:11:07 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id hHPyTcJNbXb5BIso for ; Wed, 08 Jul 2009 18:11:07 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n69142rW032238; Wed, 8 Jul 2009 21:04:02 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n69141hs001223; Wed, 8 Jul 2009 21:04:02 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6913xXe025295; Wed, 8 Jul 2009 21:04:00 -0400 Message-ID: <4A5541FE.9090905@gmail.com> Date: Thu, 09 Jul 2009 11:03:58 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: kenj@internode.on.net CC: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) References: <1247041911.7833.4.camel@bozo> In-Reply-To: <1247041911.7833.4.camel@bozo> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247101869 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0028 1.0000 -2.0030 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.00 X-Barracuda-Spam-Status: No, SCORE=-2.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2907 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Looks like a decent well thought out proposal. I'm just wondering whether you've captured all the scenarios that might break by the introduction of non-leaf nodes that have a pmID? Since we'll be introducing a pmns syntax change for the new dynamic non-leaf nodes, do we know of any scripts that interpret the ascii pmns syntax directly, or apps that will not be expecting '*' from pmIDStr()? And having a 'pad' field in the middle of a structure seems kind of funky, but I can see the reasoning for wanting it there. Maybe just use up the two existing pad bits and call it 'flags'? (with room for three more flag values in the future, one of which could be to flag an extended range of domain values). Cheers -- Mark Ken McDonell wrote: > I've been threatening to get this out for sometime now. > > There is no code to back any of this up (yet), it really is a > proposal ... so please let me know if you think this is a good or bad > idea, and holes being picked in the issues covered would be most > welcome, as would better ideas. > > The motivation here is to get pmcd out of the way for cases where it is > the PMDA that knows what metrics are available, not the PMNS loaded by > pmcd, e.g. an mmv-like PMDA where the available metrics are discovered > from mmap'd files when the PMDA starts. > > > ------------------------------------------------------------------------ > > > Proposal for Supporting Dynamic PCP Performance Metric Namespaces > > Ken McDonell > kenj@internode.on.net > > Initially in PCP, the Performance Metrics Namespace (PMNS) was local to > each machine where PCP was being used. This made it difficult to > co-ordinate the PMNS versions on multiple monitoring machines with the > PMDAs installed on the collector machines and was quickly identified as > a weakness and replaced by the "Distributed PMNS" we have today where > the PMNS is maintained on the PCP collector machine or within the PCP > archive. Monitoring applications ship their namespace requests to the > relevant source of metrics, namely a /pmcd/ or a PCP archive. > > Aside from the rare use of a local PMNS (with the *–n* option) by PCP > monitoring applications, the principal use of the PMNS is to be loaded > (or reloaded) by /pmcd/ and then used by /pmcd/ to respond directly to > remote requests from PCP monitoring applications using /pmLookupName()/ > (or the asynchronous equivalent pair /pmRequestNames()/ and > /pmReceiveNames()/), /pmNameID()/ (or the asynchronous equivalent pair > /pmRequestNameID()/ and /pmRecieveNameID()/), /pmNameAll()/ (or the > asynchronous equivalent pair /pmRequestNameAll()/ and > /pmReceiveNameAll()/ — although the former is defined, _documented but > not implemented_!), /pmGetChildren()/, /pmGetChildrenStatus()/ (or the > asynchronous equivalent pair /pmRequestNamesOfChildern()/ and > /pmReceiveNamesOfChildren()/) and /pmTraversePMNS()/ (or the > asynchronous equivalent pair /pmRequestTraversePMNS()/ and > /pmReceiveTraversePMNS()/). > > The PMNS on a collector machine is maintained as a single file with > entries added and deleted as a part of the installation and removal of a > PMDA. > > While this regime has served PCP well for most PMDAs, there have been a > small number of cases where the static nature of the PMNS has not been > appropriate, e.g. > > * PCP's one-dimensional instance domain data model imposes the need > for remapping when data naturally occurs across more than one > dimension, e.g. histogram bins of service times for a set of > similar operation types. This is usually addressed by either > linearizing the instance domain and constructing composite > instance names, or mapping one of the dimensions onto the PMNS. > When both dimensions are variable this can become quite messy. > > All of the DBMS PMDAs had issues in this area. > > * Some PMDAs are data-driven, e.g. the memory mapped class of PMDAs, > and for these the names of available metrics maybe "discovered" > when the memory mapped files are opened and so cannot be part of > the PMDA's PMNS at the time the PMDA is installed. > > Existing methods for handling a dynamic aspect of the PMNS are all > *ugly* and error-prone, e.g. make a new PMNS, update the global PMNS and > sent /pmcd/ a SIGHUP signal. > > > Proposal Overview > > The existing PMNS will be extended (no backwards compatibility issues) > to introduce a new "non-terminal" node that will be used to indicate > that the PMNS below this point is dynamic and defined by the associated > PMDA. > > As an example to be used throughout this proposal, the *foo* PMDA > (domain 44) supports dynamic names below the *foo.count* node in the > PMNS. The relevant fragment of the ASCII PMNS would be as follows: > > root { > ... > foo > ... > } > ... > foo { > version 44:0:1 > count 44:*:* > memory 44:0:2 > } > > The *foo* PMDA is willing to export metadata and metric values for the > following additional (dynamic) metrics: > *foo.count.ops* (PMID 44:1:0) > *foo.count.errs* (PMID 44:1:1) > *foo.count.numcount* (PMID 44:0:27) > > Changes to /pmcd/ and new interactions with the *foo* PMDA would mean > that attempts to look up the PMIDs for metrics with names beginning > *foo.count.* would be passed from /pmcd/ to the *foo* PMDA, and > similarly requests to find the names of metrics given their PMID would > also be passed from /pmcd/ to the *foo* PMDA if they are not resolved in > the PMNS loaded into /pmcd/. > > > Detailed Changes Required > > > Changes to the ASCII PMNS Format > > As forshadowed, the syntax :*:* after a domain number would flag a PMNS > node as the root of a subtree of names to be resolved in the associated > PMDA. > > The only place where the ASCII PMNS format is known at this level of > detail is in the internal routine /loadascii()/ of /libpcp/ which is > called from /pmLoadNameSpace()/, /pmLoadASCIINameSpace()/ and > /pmGetPMNSLocation()/. So extending the parser here is simple. > > > Changes to the Binary PMNS Format > > The binary format of the PMNS is what is loaded into the address space > after the ASCII PMNS has been parsed (it is also the format generated by > /pmnscomp/ and read by the /libpcp/ routines, but this is just a > performance short cut — /pmnscomp/ will need almost no change as it > simply writes out the binary PMNS after it has been loaded). > > The relevant data structure is __pmnsNode (defined in ). Now > this structure is sufficiently public that we cannot change it in any > way that would break binary compatibility, and the only field avalable > to encode *both* the PMDA's domain number and the dynamic nature of the > node in the PMNS is the pmid field. Internally a pmid is structured thus > (ignoring the endian alternative form): > > typedef struct { > int pad : 2; > unsigned int domain : 8; > unsigned int cluster : 12; > unsigned int item : 10; > } __pmID_int; > > So the domain field must be used to encode the domain of the PMDA > providing the dynamic names, but unfortunately there are no values for > cluster and/or item that could be used to mark the node as the root of a > subtree of dynamic names. By good fortune we have spare bits hiding in > the pad field, so the proposal is to extend the __pmID_int struct to > allocate one of the bits from pad to the new field dynamic, as follows: > > typedef struct { > unsigned int dynamic : 1; > int pad : 1; > unsigned int domain : 8; > unsigned int cluster : 12; > unsigned int item : 10; > } __pmID_int; > > A value of 1 for dynamic encodes the fact that this PMNS node is the > root of a dynamic subtree. Leaving pad between domain and dynamic would > allow the domain field of a PMID to expand to 9 bits if that becomes > necessary at some point in the future. This change does make a dynamic > PMID negative when treated as a 32-bit integer but this should not be a > problem as code of the form: > > if (pmid < 0) ... > > is just plain wrong, and should probably be > > if (pmid == PMID_NULL) ... > > Internally, the PMID for a node at the base of a dynamic subtree would > be encoded as 1::4095:1023, i.e. the pad field set to 1 and all ones in > the cluster and item fields to minimize the chance of any "false" matching. > > > Changes for /pmlogger/ and PCP Archives > > No changes are needed here as /pmlogger/ tolerates missing metrics and > only adds PMNS and metadata information into the PCP archives for those > metrics that can be found, so the PMID for the the root of a subtree of > dynamic names will never appear in an archive, although the descendent > nodes (with their associated names and PMIDs) may appear in an archive. > > > Changes for /libpcp_pmda/ > > To support the additional interactions between /pmcd/ and the PMDAs the > pmdaInterface structure needs to be extended. This will be > PMDA_INTERFACE_4, and involves adding struct { } three; to the union, > with all of the fields from struct { } two; plus the following: > > int (*pmns_pmid)(char *, pmID *); > int (*pmns_name)(pmID, char **); > int (*pmns_children)(char *, char ***, int **); > > The standard implementation of these routines should suffice for the > majority of cases, but they are exposed in the interface to allow an > over-riding implementation should that be necessary (this also makes > them consistent with all other PDU handling routines in the PMDA library). > > > Changes for /libpcp/ > > The table below describes the changes that are needed in various > /libpcp/ routines that are used once a PMNS is loaded (for simplicity > we've omitted the asynchronous versions of these synchronous routines, > but the same semantics would apply to the asynchronous versions). > > libpcp Routine PMNS_LOCAL PMNS_REMOTE > pmLookupName If namelist[i] prefix matches the path to a dynamic node > in the PMNS, then pmidlist[i] is set to a dynamic PMID (with the domain > domain of the PMDA from the root of the dynamic subtree, the cluster and > item serial fields are set to all ones and the dynamic field set to 1) > and /pmLookupName()/ returns success. So *foo.count* would return > PM_ERR_NONLEAF (this is a special case that needs to be checked for), > while *foo.count.ops* and *foo.count.anything.else* would both return > the PMID 1:44:4095:1023. Ship to /pmcd/, where /pmLookupName()/ is > called as in the PMNS_LOCAL case. Scan the resulting pmidlist[] and if a > dynamic PMID is found and if the associated PMDA is using > PMDA_INTERFACE_4 ship the original metric name to the matching PMDA and > use the PMID and status that is returned from the /pmns_pmid()/ method, > otherwise do nothing. So *foo.count* would return PM_ERR_NONLEAF, > *foo.count.ops* would return PMID 0:44:1:0 and *foo.count.anything.else* > would PM_ERR_NAME. > pmNameID Nothing really special is required. Any PMID that could be > associated with dynamic names will fail to match in the PMNS and > PM_ERR_PMID will be returned. If the PMID has the dynamic field set to > 1, then it might be possible to find and return the name at the root of > a dynamic subtree (e.g. *foo.count* for PMID 1:44:4095:1023), but since > this is potentially ambiguous and of no apparent use, PM_ERR_PMID will > be returned in this case also. Ship to /pmcd/, where /pmNameID()/ is > called as in the PMNS_LOCAL case. If PM_ERR_PMID is returned, then some > extra processing is required. If PMID has the dynamic field set to 1 or > the associated PMDA (from the domain field of the PMID) is not using > PMDA_INTERFACE_4 then return PM_ERR_PMID as this cannot match any valid > metric. If the domain field in the PMID matches *any* node in the PMNS > that is the root of a dynamic subtree then ship the original PMID to the > matching PMDA where the /pmns_name()/ method is called and use the > metric name and status that is returned. > pmNameAll Same handling as for /pmNameID()/. Same handling as for > /pmNameID()/. > pmGetChildren If name matches the path to a dynamic node in the PMNS > then return zero (no descendents), otherwise there is no change in > behaviour. So the descendents of *foo* will be *version*, *count* and > *memory*, but there are no descendents of *foo.count*. Ship to /pmcd/, > where /pmGetChildren()/ is called as in the PMNS_LOCAL case. If there > are no descendents of name, and name is the root of a dynamic subtree in > the PMNS, and the associated PMDA (from the domain field of the matching > PMID) is using PMDA_INTERFACE_4 then ship the original name to the > matching PMDA where the /pmns_children()/ method is called and use the > list of offspring and status that is returned. Otherwise (not > PMDA_INTERFACE_4 or no matching PMDA) if name is the root of a dynamic > subtree in the PMNS then it is skipped. So, for example calling > /pmGetChildren/ with *foo* as the name argument will return > *foo.version*, *foo.count.ops*, *foo.count.errs*, *foo.count.numcount* > and *foo.memory*. > pmGetChildrenStatus Similar handling as for /pmGetChildren()/, except > that the status for a descendent node that is itself the root of a > dynamic subtree in the PMNS is set to PMNS_NONLEAF_STATUS. Similar > handling as for /pmGetChildren()/, except the status may also be > returned from the PMDA if /pmcd/ ships the request to a PMDA. > pmTraversePMNS Any node that is at the root of a dynamic subtree of the > PMNS is never returned to the dometric() method. Ship to /pmcd/, where > /pmTraversePMNS()/ is called as in the PMNS_LOCAL case, however whenever > a node is encountered that is the root of a dynamic subtree in the PMNS > (i.e. the matching PMID has the dynamic field set to 1 and the > associated PMDA (from the domain field of the PMID) is using > PMDA_INTERFACE_4) then the path is shipped to the associated PMDA where > the /pmns_children()/ method is called and all of the decendent names > are returned to /pmcd/ which inserts these into the list of names to be > returned to the caller for subsequent callbacks to the dometric() method. > pmLoadNameSpace Parser changes as noted above, e.g. for 44:*:*. Do not > check for duplicate PMIDs in the case of a node that is the root of a > dynamic subtree, as there could be more than one dynamic subtree > associated with the same PMDA. Not relevant. > > A small change is needed in /pmIDStr()/ to detect a dynamic PMID > (checking if the dynamic field is 1), and then output an asterisk in > place of the numeric cluster and item fields. > > > Some Limitations > > The "dynamic" nature of the PMNS only applies to the PMNS at the time it > is explored. For most monitoring tools this is at start up (typically > after a configuration file has been read), so any changes to the PMNS > after that point in time will not be noticed. Specifically this means: > > * /pmchart/ explores the PMNS each time a new plot is added, so > metrics missing at the time a view is populated are dropped with a > warning, but the metric selector is re-populated each time it is > launched > * /pmlogger/ will only log those metrics defined at the time it is > started > * /pmie/ will return "unknown" as the value of any expression > involving metrics not defined at the time it is started > * /pmdumptext/ will only report on those metrics defined at the time > it is started > * /pmval/ reports an error and exits if the metric name is not > defined at the time it is started > > This behaviour is no different to other existing interactions, e.g. when > a PMDA is installed or removed, so is not a new issue. > > > ------------------------------------------------------------------------ > > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From nscott@aconex.com Wed Jul 8 20:20:04 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n691K2fJ260293 for ; Wed, 8 Jul 2009 20:20:04 -0500 X-ASG-Debug-ID: 1247102858-0d5e00e40000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3D866A0B640 for ; Wed, 8 Jul 2009 18:27:38 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id QUsGU4qr0cuvOWgX for ; Wed, 08 Jul 2009 18:27:38 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id BC3FC62A961; Thu, 9 Jul 2009 11:20:35 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id vHivT0dTYK0EHDiK; Thu, 09 Jul 2009 11:20:35 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 0A227A500A6; Thu, 9 Jul 2009 11:20:04 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id A5C404FD85; Thu, 9 Jul 2009 11:20:35 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cdS1BcBnHdiy; Thu, 9 Jul 2009 11:20:30 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id DE6D04FD82; Thu, 9 Jul 2009 11:20:30 +1000 (EST) Date: Thu, 9 Jul 2009 11:20:30 +1000 (EST) From: Nathan Scott To: kenj@internode.on.net Cc: pcp@oss.sgi.com Message-ID: <1004255165.302471247102430882.JavaMail.root@mail-au.aconex.com> In-Reply-To: <1232315801.302291247102282136.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247102859 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2907 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Ken McDonell" wrote: > I've been threatening to get this out for sometime now. > > There is no code to back any of this up (yet), it really is a > proposal ... so please let me know if you think this is a good or bad > idea, and holes being picked in the issues covered would be most > welcome, as would better ideas. Looks pretty good to me. One section that seems to be missing is "Changes for pmcd", at least for completeness & to give a more clear description of the PDU exchanges that'd be involved, maybe? There's a misconception: "...update global PMNS and send pmcd a SIGHUP signal". I also thought that was how it works, but that's not what pmdammv actually does. I think that approach is deadlock prone - the signal to pmcd seems to cause a request to the PMDA (I can't remember whether I decoded which request that was now), but the PMDA is blocked in kill(2) and never responds - pmcd ends up terminating it due to the timeout, and (amusingly) also ends up restarting it right away cos it gets a SIGHUP! Perhaps Max can remember more the details of that mystery pmcd->pmda PDU. What MMV actually does, is send PMCD a PM_ERR_NOTREADY and then a PM_ERR_READY pair of error PDUs (see callers of mmv_reload_maybe). The code in src/pmcd/src/pmcd.c HandleReadyAgents() returns "true" when the READY PDU comes in and pmcd reloads the namespace (pmcd.c around line 848). So, one *big* problem with this approach (in addition to the "ugly, error prone" rationale you have already) is that the NOTREADY gets sent back to _clients_ too. Which means that whenever an agent is reconfigured, even if that reconfiguration has nothing to do with the (mmv) request/pmid in question, we end up seeing errors on the client (which confuses pmie rules, which may send spurious and bad status out, and means pmlogger gets no data for that sample - which is annoying if the change had nothing to do with that particular request). cheers. -- Nathan From nscott@aconex.com Wed Jul 8 20:29:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n691TmHk260683 for ; Wed, 8 Jul 2009 20:29:48 -0500 X-ASG-Debug-ID: 1247103021-0b6f01b00000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 95F88350669 for ; Wed, 8 Jul 2009 18:30:22 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id XdgMSIe2OjgkzzPC for ; Wed, 08 Jul 2009 18:30:22 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 77D1862A5F9; Thu, 9 Jul 2009 11:30:14 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id Lt5Ak1qnfaKWrmtA; Thu, 09 Jul 2009 11:30:14 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id A1440A503EC; Thu, 9 Jul 2009 11:29:42 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 486514FD85; Thu, 9 Jul 2009 11:30:14 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ARsAbem7TXYf; Thu, 9 Jul 2009 11:30:13 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 4DD594FD84; Thu, 9 Jul 2009 11:30:13 +1000 (EST) Date: Thu, 9 Jul 2009 11:30:13 +1000 (EST) From: Nathan Scott To: Mark Goodwin , kenj Cc: pcp@oss.sgi.com Message-ID: <144401009.303101247103013280.JavaMail.root@mail-au.aconex.com> In-Reply-To: <4A5541FE.9090905@gmail.com> X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247103024 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0028 1.0000 -2.0030 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.00 X-Barracuda-Spam-Status: No, SCORE=-2.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2908 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Mark Goodwin" wrote: > Looks like a decent well thought out proposal. I'm just wondering > whether you've captured all the scenarios that might break by the > introduction of non-leaf nodes that have a pmID? > > Since we'll be introducing a pmns syntax change for the new > dynamic non-leaf nodes, do we know of any scripts that interpret > the ascii pmns syntax directly, I can't think of any FWIW. > or apps that will not be expecting '*' from pmIDStr()? That'd well be worth an audit. > And having a 'pad' field in the middle of a structure seems kind > of funky, but I can see the reasoning for wanting it there. Maybe > just use up the two existing pad bits and call it 'flags'? (with > room for three more flag values in the future, one of which could > be to flag an extended range of domain values). Hmm, I'd be more inclined to extend "domain" now - we've used up more than half the available domain numbers already, so this seems like the most useful way to use that bit IMO (256 numbers looks a tad small to me, nowadays, whereas 512 would buy alot of headroom). cheers. -- Nathan From goodwinos@gmail.com Thu Jul 9 03:01:15 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6981Eub016090 for ; Thu, 9 Jul 2009 03:01:15 -0500 X-ASG-Debug-ID: 1247126931-242903c90000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DFA2B129CCC7 for ; Thu, 9 Jul 2009 01:08:51 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id DYaWWFcK5t7XTYS7 for ; Thu, 09 Jul 2009 01:08:51 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6981nO5006190 for ; Thu, 9 Jul 2009 04:01:49 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6981d6D020913; Thu, 9 Jul 2009 04:01:39 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6981ano022521; Thu, 9 Jul 2009 04:01:37 -0400 Message-ID: <4A55A3E0.5090602@gmail.com> Date: Thu, 09 Jul 2009 18:01:36 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: pcp@oss.sgi.com CC: mgoodwin@redhat.com X-ASG-Orig-Subj: [pcp] pcp updates (3.0.0) Subject: [pcp] pcp updates (3.0.0) Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247126932 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1358 1.0000 -1.1820 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.18 X-Barracuda-Spam-Status: No, SCORE=-1.18 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2934 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Changes committed to git://oss.sgi.com/markgw/pcp/pcp.git in branch '3.0.0' commit 728c61eb0aa0ebe9bf3b4096696adfc5b14abf39 Author: Mark Goodwin Date: Thu Jul 9 17:33:12 2009 +1000 split RPM packaging into pcp, pcp-libs and pcp-devel, bump version to 3.0.0 The above commit is in the 3.0.0 branch (in my tree above) for review. I'm interested in (a) objections to splitting the packaging at all, and (b) any issues, especially Martin's internal SGI builds. Dependencies: both pcp and pcp-devel require pcp-libs, but can be installed independently if needed. Running Makepkgs in the 3.0.0 branch (on FC10) will build e.g. the following : Wrote: /home/mgoodwin/src/pcp/build/tar/pcp-3.0.0-1.tar.gz Wrote: /home/mgoodwin/src/pcp/build/rpm/pcp-3.0.0-1.src.rpm Wrote: /home/mgoodwin/src/pcp/build/rpm/pcp-3.0.0-1.x86_64.rpm Wrote: /home/mgoodwin/src/pcp/build/rpm/pcp-libs-3.0.0-1.x86_64.rpm Wrote: /home/mgoodwin/src/pcp/build/rpm/pcp-devel-3.0.0-1.x86_64.rpm Wrote: /home/mgoodwin/src/pcp/build/rpm/pcp-debuginfo-3.0.0-1.x86_64.rpm Cheers -- Mark From mort@bork.org Thu Jul 9 07:25:27 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n69CPQrK027297 for ; Thu, 9 Jul 2009 07:25:27 -0500 X-ASG-Debug-ID: 1247142784-38c1033e0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from darwin.bork.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 25337149BA44 for ; Thu, 9 Jul 2009 05:33:05 -0700 (PDT) Received: from darwin.bork.org (darwin.bork.org [65.49.60.145]) by cuda.sgi.com with ESMTP id q1e08Baf2Ldj18Hv for ; Thu, 09 Jul 2009 05:33:05 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by darwin.bork.org (Postfix) with ESMTP id 0C593193C0; Thu, 9 Jul 2009 08:22:35 -0400 (EDT) Received: from darwin.bork.org ([127.0.0.1]) by localhost (darwin.bork.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id HGcodJXF7sOx; Thu, 9 Jul 2009 08:22:34 -0400 (EDT) Received: from laplace.bork.org (laplace.bork.org [IPv6:2001:470:1f11:499:21a:a0ff:feec:57ab]) by darwin.bork.org (Postfix) with ESMTP id A3C0C1934E; Thu, 9 Jul 2009 08:22:34 -0400 (EDT) Received: by laplace.bork.org (Postfix, from userid 1000) id 5556A536E4; Thu, 9 Jul 2009 08:25:59 -0400 (EDT) Date: Thu, 9 Jul 2009 08:25:58 -0400 From: Martin Hicks To: Nathan Scott Cc: Mark Goodwin , kenj , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Message-ID: <20090709122558.GB5068@laplace.bork.org> References: <4A5541FE.9090905@gmail.com> <144401009.303101247103013280.JavaMail.root@mail-au.aconex.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <144401009.303101247103013280.JavaMail.root@mail-au.aconex.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: darwin.bork.org[65.49.60.145] X-Barracuda-Start-Time: 1247142786 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2950 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Thu, Jul 09, 2009 at 11:30:13AM +1000, Nathan Scott wrote: > > > And having a 'pad' field in the middle of a structure seems kind > > of funky, but I can see the reasoning for wanting it there. Maybe > > just use up the two existing pad bits and call it 'flags'? (with > > room for three more flag values in the future, one of which could > > be to flag an extended range of domain values). > > Hmm, I'd be more inclined to extend "domain" now - we've used up > more than half the available domain numbers already, so this seems > like the most useful way to use that bit IMO (256 numbers looks a > tad small to me, nowadays, whereas 512 would buy alot of headroom). Yeah, I agree with this. We might as well take this step now to leave plenty of room for growth. mh -- Martin Hicks || mort@bork.org || PGP/GnuPG: 0x4C7F2BEE From daw@sgi.com Thu Jul 9 08:45:19 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n69DjJPB030939 for ; Thu, 9 Jul 2009 08:45:19 -0500 Received: from zion.americas.sgi.com (zion.americas.sgi.com [128.162.236.17]) by relay3.corp.sgi.com (Postfix) with ESMTP id 356A1AC002 for ; Thu, 9 Jul 2009 06:45:52 -0700 (PDT) Received: (from daw@localhost) by zion.americas.sgi.com (8.12.9/ASC-news-1.4) id n69DjpZF30129686 for pcp@oss.sgi.com; Thu, 9 Jul 2009 08:45:51 -0500 (CDT) Message-Id: <200907091345.n69DjpZF30129686@zion.americas.sgi.com> Subject: How to get zero origin on mem/swap To: pcp@oss.sgi.com Date: Thu, 9 Jul 2009 08:45:51 -0500 (CDT) In-Reply-To: from "pcp-request@oss.sgi.com" at Jul 09, 2009 03:01:33 AM From: David Wright X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello all, How do I get a swap utilization or memory utilization stack chart for example, have a zero origin and still autoscale? I dont want to go to utilization as I want the memory size numbers of slab/cache/anon etc? Thanks, Dave Wright From kenj@internode.on.net Thu Jul 9 17:55:20 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n69MtJou057906 for ; Thu, 9 Jul 2009 17:55:20 -0500 X-ASG-Debug-ID: 1247180154-14cb03140000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 98B7435478B for ; Thu, 9 Jul 2009 15:55:54 -0700 (PDT) Received: from mail.internode.on.net (bld-mail18.adl2.internode.on.net [150.101.137.103]) by cuda.sgi.com with ESMTP id ol0aQB8VwXn9XkkM for ; Thu, 09 Jul 2009 15:55:54 -0700 (PDT) Received: from [192.168.1.100] (unverified [118.208.165.112]) by mail.internode.on.net (SurgeMail 3.8f2) with ESMTP id 2114646-1927428 for ; Fri, 10 Jul 2009 08:25:52 +0930 (CST) X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) From: Ken McDonell Reply-To: kenj@internode.on.net To: pcp@oss.sgi.com In-Reply-To: <1004255165.302471247102430882.JavaMail.root@mail-au.aconex.com> References: <1004255165.302471247102430882.JavaMail.root@mail-au.aconex.com> Content-Type: text/plain Date: Fri, 10 Jul 2009 08:54:19 +1000 Message-Id: <1247180059.7833.257.camel@bozo> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: bld-mail18.adl2.internode.on.net[150.101.137.103] X-Barracuda-Start-Time: 1247180155 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0046 1.0000 -1.9911 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.99 X-Barracuda-Spam-Status: No, SCORE=-1.99 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2986 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Thanks for the feedback. On Thu, 2009-07-09 at 11:20 +1000, Nathan Scott wrote: > Looks pretty good to me. One section that seems to be missing > is "Changes for pmcd", at least for completeness & to give a more > clear description of the PDU exchanges that'd be involved, maybe? I could have done a better job of separating what the libpcp caller will see and what happens behind the scenes in the PMNS_REMOTE case. In particular extra code is needed in pmcd to use the existing PDU routines to send the requests to daemon PMDAs and then the am I PMDA_INTERFACE_4 question has to be handled in libpcp_pmda for the PMDA. For DSO PMDAs the type of the PMDA is known immediately and the additional methods are called without any PDUs. Provided the intent is clear and there is no major problem with the approach I might spend time on implementing rather than tweaking the design document. The dameon case does raise a problem I'd not considered. If the PMDA is linked with libpcp_pmda, then all is well. But there are the Perl PMDAS (news, kvm, dbping, zimbra, netfilter, bonding, systemtap, vmware, memcache, oracle, mysql) - Nathan, what needs to happen here as the perl pmda support seems to be using libpcp_pmda and PMDA_INTERFACE_LATEST? - nothing bad will happen in the short term as there are no dynamic pmns nodes associated with the domains for these pmdas, but it is a corner case where a bogus pmns entry could bring the pmda down unless the perl pmda support traps and returns something sensible, or stays with PMDA_INTERFACE_3. > There's a misconception: "...update global PMNS and send pmcd a > SIGHUP signal". I also thought that was how it works, but that's > not what pmdammv actually does. Indeed this seems to have acquired the status of an urban myth ... there is no PMDA (not even the old oracle PMDA) that does this, so it must have been "if you need to do this, this is the only way to make it work". I think if a dynamic PMNS works as I plan, then mmv could use this rather than the NOTREADY-READY approach. On Thu, 2009-07-09 at 11:03 +1000, Mark Goodwin wrote: > Looks like a decent well thought out proposal. I'm just wondering > whether you've captured all the scenarios that might break by the > introduction of non-leaf nodes that have a pmID? I think this will be OK. The PMNS node at the root of a dynamic subtree does have a PMID for the PMNS_LOCAL cases. Fortunately there are only a small number of operation types on the PMNS, so I'd be surprised if there was another corner case ... but the implementation and QA shake down will probably tell another story ... 8^)> > Since we'll be introducing a pmns syntax change for the new > dynamic non-leaf nodes, do we know of any scripts that interpret > the ascii pmns syntax directly, or apps that will not be expecting > '*' from pmIDStr()? Good point, hadn't thought of that. * pmnsadd hands all the parsing to pmnsmerge (a C program that uses pmLoadASCIINameSpace() * pmnsdel is a C program that uses pmLoadASCIINameSpace() * pmdaproc.sh uses pmnsadd and pmnsdel * genpmda creates a pmns subtree but does not parse the existing pmns * Rebuild parses only names (not PMIDs) and then uses pmnsmerge * ReplacePmnsSubtree uses pmnsadd and pmnsdel * pmdaproc.sh uses pmnsadd and pmnsdel * clusterns.pl this one makes me nervous ... I am not sure what it is doing, but this fragment ... ($rawcluster !~ /^[0-9]+$/) and die "PMID cluster is not numeric in node '$_'\n"; .... may be a problem if it is handling pmns nodes for other than the cluster PMDA at this point ... Mark could you please check this one? * hotproc/fixpmns.awk generates pmns nodes but does parse the existing pmns This did show up one other thing, the static routine output() in src/pmns/pmnsutil.c needs to be able to _generate_ the *:* format PMID for a node that is the root of a dynamic subtree ... and it is not currently using pmIDStr() (sigh!). > And having a 'pad' field in the middle of a structure seems kind > of funky, but I can see the reasoning for wanting it there. Maybe > just use up the two existing pad bits and call it 'flags'? (with > room for three more flag values in the future, one of which could > be to flag an extended range of domain values). There seems to be support for moving to 9 bits of domain and dropping the pad ... I happy to do that and include it in the QA validation for the other pmns changes. From nscott@aconex.com Thu Jul 9 19:40:42 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A0efwp062708 for ; Thu, 9 Jul 2009 19:40:41 -0500 X-ASG-Debug-ID: 1247186000-234a00050000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5A82D354925 for ; Thu, 9 Jul 2009 17:33:20 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id KKcczZUmyUHudy7E for ; Thu, 09 Jul 2009 17:33:20 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 65AF27C0D43; Fri, 10 Jul 2009 10:33:18 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id 0TX9jNPelNegBSx4; Fri, 10 Jul 2009 10:33:18 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 2A32CA501BC; Fri, 10 Jul 2009 10:32:46 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 4D76C4FD82; Fri, 10 Jul 2009 10:33:18 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1w7ARHfIZCkN; Fri, 10 Jul 2009 10:33:13 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 8B4B34FD84; Fri, 10 Jul 2009 10:33:13 +1000 (EST) Date: Fri, 10 Jul 2009 10:33:13 +1000 (EST) From: Nathan Scott To: kenj@internode.on.net Cc: pcp@oss.sgi.com Message-ID: <165368247.370551247185993455.JavaMail.root@mail-au.aconex.com> In-Reply-To: <1247180059.7833.257.camel@bozo> X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247186002 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0177 1.0000 -1.9055 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.91 X-Barracuda-Spam-Status: No, SCORE=-1.91 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2992 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Ken McDonell" wrote: > (news, kvm, dbping, zimbra, netfilter, bonding, systemtap, vmware, > memcache, oracle, mysql) - Nathan, what needs to happen here as the > perl > pmda support seems to be using libpcp_pmda and PMDA_INTERFACE_LATEST? That should be PMDA_INTERFACE_3, yeah, until such time as support for the new callbacks is added to the Perl API. I''l fix that up. > I think if a dynamic PMNS works as I plan, then mmv could use this > rather than the NOTREADY-READY approach. Yep, that'd be good. > > And having a 'pad' field in the middle of a structure seems kind > > of funky, but I can see the reasoning for wanting it there. Maybe > > just use up the two existing pad bits and call it 'flags'? (with > > room for three more flag values in the future, one of which could > > be to flag an extended range of domain values). > > There seems to be support for moving to 9 bits of domain and dropping > the pad ... I happy to do that and include it in the QA validation > for the other pmns changes. +1 vote from me there. cheers. -- Nathan From nscott@aconex.com Thu Jul 9 19:43:10 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A0hA6O062848 for ; Thu, 9 Jul 2009 19:43:10 -0500 X-ASG-Debug-ID: 1247186624-3bbc00900000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8979013414BF for ; Thu, 9 Jul 2009 17:43:45 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id BG7MsYRoANhszVps for ; Thu, 09 Jul 2009 17:43:45 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 295FC13D92A for ; Fri, 10 Jul 2009 10:43:44 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id PP31HDiqb7FIeqav for ; Fri, 10 Jul 2009 10:43:44 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id DE1CDA503E9 for ; Fri, 10 Jul 2009 10:43:11 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 161024FD82 for ; Fri, 10 Jul 2009 10:43:44 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7tqi8ug6GJ9c for ; Fri, 10 Jul 2009 10:43:40 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 4762E4FD84 for ; Fri, 10 Jul 2009 10:43:40 +1000 (EST) Date: Fri, 10 Jul 2009 10:43:40 +1000 (EST) From: Nathan Scott To: pcp Message-ID: <1280210987.370991247186620237.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates Subject: pcp updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247186626 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2992 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/nathans/pcp.git src/cpan/PMDA/PMDA.xs | 2 +- src/pmcd/pmdaproc.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) commit 3a0217c80b84c56d21bdd64f9d6396c9c583556d Author: Nathan Scott Date: Fri Jul 10 10:37:08 2009 +1000 Add a PCP::PMDA module check into PMDA Install path for Perl PMDAs. commit 2c278354dedbb229721ffbb6cd1934896095c4a7 Author: Nathan Scott Date: Fri Jul 10 10:35:08 2009 +1000 Make Perl PMDA module explicit wrt libpcp_pmda interface version used. From nscott@aconex.com Thu Jul 9 19:49:44 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A0niN7063170 for ; Thu, 9 Jul 2009 19:49:44 -0500 X-ASG-Debug-ID: 1247187444-083f02c10000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5152BA24C2E for ; Thu, 9 Jul 2009 17:57:24 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id kblN5HImPm8lXvW5 for ; Thu, 09 Jul 2009 17:57:24 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id 7E94613D256; Fri, 10 Jul 2009 10:50:04 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id cDK9iPwyXl1scpaj; Fri, 10 Jul 2009 10:50:04 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 3BC8DA503E9; Fri, 10 Jul 2009 10:49:32 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 5EF6E4FD82; Fri, 10 Jul 2009 10:50:04 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e7hnnRR5JyI4; Fri, 10 Jul 2009 10:49:59 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 8E5694FD86; Fri, 10 Jul 2009 10:49:57 +1000 (EST) Date: Fri, 10 Jul 2009 10:49:57 +1000 (EST) From: Nathan Scott To: David Wright Cc: pcp@oss.sgi.com Message-ID: <234613316.371221247186997209.JavaMail.root@mail-au.aconex.com> In-Reply-To: <200907091345.n69DjpZF30129686@zion.americas.sgi.com> X-ASG-Orig-Subj: Re: [pcp] How to get zero origin on mem/swap Subject: Re: [pcp] How to get zero origin on mem/swap MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247187446 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0412 1.0000 -1.7552 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.76 X-Barracuda-Spam-Status: No, SCORE=-1.76 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2993 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "David Wright" wrote: > Hello all, > > How do I get a swap utilization or memory utilization stack chart > for example, have a zero origin and still autoscale? I dont > want to go to utilization as I want the memory size numbers of > slab/cache/anon etc? There's currently no way to specify that behaviour - adding it would be a "simple matter of programming" though... probably a checkbox on the new/edit chart dialog, and some code ... might want to extend the View format too, starts to become alot more work then though. I'll keep it in mind for the next change to the format, but you're welcome to hack the code yourself to do this too, of course (pls send patches if you do)! cheers. -- Nathan From goodwinos@gmail.com Thu Jul 9 19:59:43 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A0xhsq063584 for ; Thu, 9 Jul 2009 19:59:43 -0500 X-ASG-Debug-ID: 1247187619-2da200d70000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E2D4B354A3D; Thu, 9 Jul 2009 18:00:19 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id WkEoKXkQK4mSr4rX; Thu, 09 Jul 2009 18:00:19 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6A10Iv6015753; Thu, 9 Jul 2009 21:00:18 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6A10HoP025092; Thu, 9 Jul 2009 21:00:17 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6A10FOx032700; Thu, 9 Jul 2009 21:00:16 -0400 Message-ID: <4A56929F.3030404@gmail.com> Date: Fri, 10 Jul 2009 11:00:15 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: David Wright CC: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] How to get zero origin on mem/swap Subject: Re: [pcp] How to get zero origin on mem/swap References: <200907091345.n69DjpZF30129686@zion.americas.sgi.com> In-Reply-To: <200907091345.n69DjpZF30129686@zion.americas.sgi.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247187619 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4735 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2994 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean David Wright wrote: > Hello all, > > How do I get a swap utilization or memory utilization stack chart > for example, have a zero origin and still autoscale? I dont > want to go to utilization as I want the memory size numbers of > slab/cache/anon etc? In the old or new pmchart? Cheers -- Mark From goodwinos@gmail.com Thu Jul 9 21:23:03 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A2N2Rf067548 for ; Thu, 9 Jul 2009 21:23:02 -0500 X-ASG-Debug-ID: 1247193044-312701860000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1134D109D931 for ; Thu, 9 Jul 2009 19:30:44 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id DQTOzNkOvhqI7D8D for ; Thu, 09 Jul 2009 19:30:44 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6A2NTVG007780; Thu, 9 Jul 2009 22:23:29 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6A2NSCO006837; Thu, 9 Jul 2009 22:23:28 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6A2NPQV011574; Thu, 9 Jul 2009 22:23:26 -0400 Message-ID: <4A56A61D.9010705@gmail.com> Date: Fri, 10 Jul 2009 12:23:25 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: Martin Hicks CC: Nathan Scott , kenj , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) References: <4A5541FE.9090905@gmail.com> <144401009.303101247103013280.JavaMail.root@mail-au.aconex.com> <20090709122558.GB5068@laplace.bork.org> In-Reply-To: <20090709122558.GB5068@laplace.bork.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247193045 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.2999 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Martin Hicks wrote: > On Thu, Jul 09, 2009 at 11:30:13AM +1000, Nathan Scott wrote: >>> And having a 'pad' field in the middle of a structure seems kind >>> of funky, but I can see the reasoning for wanting it there. Maybe >>> just use up the two existing pad bits and call it 'flags'? (with >>> room for three more flag values in the future, one of which could >>> be to flag an extended range of domain values). >> Hmm, I'd be more inclined to extend "domain" now - we've used up >> more than half the available domain numbers already, so this seems >> like the most useful way to use that bit IMO (256 numbers looks a >> tad small to me, nowadays, whereas 512 would buy alot of headroom). > > Yeah, I agree with this. We might as well take this step now to leave > plenty of room for growth. With the int flags:2 approach, we'd still have one unused flag combo available for future use. With the domain extension, we'll have zilch. Probably should've made the darn things uint64 in the first place! Just a thought :) I'll go with the domain extension. Cheers From kenj@internode.on.net Fri Jul 10 00:39:37 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6A5dZ8T079455 for ; Fri, 10 Jul 2009 00:39:36 -0500 X-ASG-Debug-ID: 1247204837-787800470000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 63F91A2795F for ; Thu, 9 Jul 2009 22:47:17 -0700 (PDT) Received: from mail.internode.on.net (bld-mail12.adl6.internode.on.net [150.101.137.97]) by cuda.sgi.com with ESMTP id qvRtK7aPall5zdtz for ; Thu, 09 Jul 2009 22:47:17 -0700 (PDT) Received: from [192.168.1.100] (unverified [118.208.165.112]) by mail.internode.on.net (SurgeMail 3.8f2) with ESMTP id 2114504-1927428 for multiple; Fri, 10 Jul 2009 15:10:08 +0930 (CST) X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) From: Ken McDonell Reply-To: kenj@internode.on.net To: Mark Goodwin Cc: Martin Hicks , Nathan Scott , pcp@oss.sgi.com In-Reply-To: <4A56A61D.9010705@gmail.com> References: <4A5541FE.9090905@gmail.com> <144401009.303101247103013280.JavaMail.root@mail-au.aconex.com> <20090709122558.GB5068@laplace.bork.org> <4A56A61D.9010705@gmail.com> Content-Type: text/plain Date: Fri, 10 Jul 2009 15:40:05 +1000 Message-Id: <1247204405.17215.13.camel@bozo> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: bld-mail12.adl6.internode.on.net[150.101.137.97] X-Barracuda-Start-Time: 1247204839 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0207 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3013 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Fri, 2009-07-10 at 12:23 +1000, Mark Goodwin wrote: > With the int flags:2 approach, we'd still have one unused flag combo > available for future use. With the domain extension, we'll have zilch. > Probably should've made the darn things uint64 in the first place! > > Just a thought :) I'll go with the domain extension. Since it has taken a little under 16 years for us to come to the realization that we need one flag bit in the PMID, I'd be willing to bet that the second flag bit probably won't be needed until somewhere between the years 2025 (linear extrapolation) and 2265 (exponential extrapolation) ... and in either case, it won't be my problem ... 8^)> From goodwinos@gmail.com Tue Jul 14 06:01:34 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_43, J_CHICKENPOX_74 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6EB1Yl4105724 for ; Tue, 14 Jul 2009 06:01:34 -0500 X-ASG-Debug-ID: 1247569331-44d500610000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3EEE31B4B7AA; Tue, 14 Jul 2009 04:02:11 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id J3iPqDO2oc6HDGyJ; Tue, 14 Jul 2009 04:02:11 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6EB28PE025660; Tue, 14 Jul 2009 07:02:08 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6EB1xuG025057; Tue, 14 Jul 2009 07:02:07 -0400 Received: from [10.64.6.18] (vpn6-6-18.bne.redhat.com [10.64.6.18]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6EB1t2m029824; Tue, 14 Jul 2009 07:01:56 -0400 Message-ID: <4A5C65A3.3050100@gmail.com> Date: Tue, 14 Jul 2009 21:01:55 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: Martin Hicks CC: Max Matveev , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] IB pmda and writing out the default config file Subject: Re: [pcp] IB pmda and writing out the default config file References: <20090608171828.GA14199@alcatraz.americas.sgi.com> <18990.24528.172761.247069@iinet.net.au> <20090616182224.GI20783@alcatraz.americas.sgi.com> <20090706173919.GC18171@alcatraz.americas.sgi.com> In-Reply-To: <20090706173919.GC18171@alcatraz.americas.sgi.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247569332 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3375 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Martin Hicks wrote: >> How about this patch. It rejigs things a lot, but essentially: >> >> - No config file will be created unless the '-w' flag is passed to >> pmdaib. (this is a change) >> >> - By default, if no config file is found, only local ports are monitored. >> (before we would always write out a config file containing only local >> ports) >> >> - If a config file exists then it is the preferred source of information >> and perhaps not even local ports will be monitored. (before you could >> have edited the automatically created file to remove the local ports) >> >> >> So in the case of a user who is using a custom config file (either to >> name the instances differently, or to monitor remote ports) who replaces >> an HCA, it will be up to them to edit the config file that they created. >> >> For those who are using the ib pmda in its simplest mode with no config >> file, no changes will be necessary when an HCA is replaced but they have >> no guarantee of static device naming if they add an additional HCA. Seems like a reasonable compromise to me. Instance naming in merged archives spanning reboots will sometimes be screwed up, but you still have the option to avoid that if it really matters. When you look at the flaming hoops the scsi and device-mapper folks have jumped thru to achieve persistent naming, a more sophisticated scheme isn't warranted; set-and-forget performance monitoring is more important in most cases. Cheers -- Mark >> diff --git a/src/pmdas/ib/daemon.c b/src/pmdas/ib/daemon.c >> index 2a71151..12540cc 100644 >> --- a/src/pmdas/ib/daemon.c >> +++ b/src/pmdas/ib/daemon.c >> @@ -33,7 +33,8 @@ usage(void) >> fputs("Options:\n" >> " -d domain use domain (numeric) for metrics domain of PMDA\n" >> " -l logfile write log into logfile rather than using default log name\n" >> - " -c path to configuration file\n", >> + " -c path to configuration file\n" >> + " -w write the basic configuration file\n", >> stderr); >> exit(1); >> } >> @@ -46,19 +47,22 @@ main(int argc, char **argv) >> pmdaInterface dispatch; >> char helppath[MAXPATHLEN]; >> char *confpath = NULL; >> - char *p; >> int opt; >> + int writeconf = 0; >> >> __pmSetProgname(argv[0]); >> snprintf(helppath, sizeof(helppath), "%s%c" "ib" "%c" "help", >> pmGetConfig("PCP_PMDAS_DIR"), sep, sep); >> pmdaDaemon(&dispatch, PMDA_INTERFACE_3, pmProgname, IB, "ib.log", helppath); >> >> - while ((opt = pmdaGetOpt(argc, argv, "D:c:d:l:?", &dispatch, &err)) != EOF) { >> + while ((opt = pmdaGetOpt(argc, argv, "D:c:d:l:w?", &dispatch, &err)) != EOF) { >> switch (opt) { >> case 'c': >> confpath = optarg; >> break; >> + case 'w': >> + writeconf = 1; >> + break; >> default: >> err++; >> } >> @@ -69,7 +73,7 @@ main(int argc, char **argv) >> } >> >> pmdaOpenLog(&dispatch); >> - ibpmda_init(confpath, &dispatch); >> + ibpmda_init(confpath, writeconf, &dispatch); >> pmdaConnect(&dispatch); >> pmdaMain(&dispatch); >> >> diff --git a/src/pmdas/ib/dso.c b/src/pmdas/ib/dso.c >> index 33f10a8..4e506f8 100644 >> --- a/src/pmdas/ib/dso.c >> +++ b/src/pmdas/ib/dso.c >> @@ -37,5 +37,5 @@ ib_init (pmdaInterface * dispatch) >> pmGetConfig("PCP_PMDAS_DIR"), sep, sep); >> pmdaDSO(dispatch, PMDA_INTERFACE_3, "ibpmda", helppath); >> >> - ibpmda_init(NULL, dispatch); >> + ibpmda_init(NULL, 0, dispatch); >> } >> diff --git a/src/pmdas/ib/ib.c b/src/pmdas/ib/ib.c >> index ccfb079..c027f77 100644 >> --- a/src/pmdas/ib/ib.c >> +++ b/src/pmdas/ib/ib.c >> @@ -141,6 +141,70 @@ typedef struct port_state_s { >> char pcap[IB_ALLPORTCAPSTRLEN]; >> } port_state_t; >> >> +static char confpath[MAXPATHLEN]; >> +static int portcount; >> +/* Line number while parsing the config file */ >> +static FILE *fconf; >> +static int lcnt; >> + >> +#define print_parse_err(loglevel, fmt, args...) \ >> + if (fconf) { \ >> + __pmNotifyErr(loglevel, "%s(%d): " fmt, fconf, lcnt, args); \ >> + } else { \ >> + __pmNotifyErr(loglevel, fmt, args); \ >> + } >> + >> +static void >> +monitor_guid(pmdaIndom *itab, char *name, long long guid, int rport, >> + char *local, int lport) >> +{ >> + int inst; >> + hca_state_t *hca = NULL; >> + port_state_t *ps; >> + >> + if (pmdaCacheLookupName(itab[IB_HCA_INDOM].it_indom, local, NULL, >> + (void**)&hca) != PMDA_CACHE_ACTIVE) { >> + print_parse_err(LOG_ERR, "unknown HCA '%s' in 'via' clause\n", local); >> + return; >> + } >> + >> + if ((lport >= UMAD_CA_MAX_PORTS) || (lport < 0)) { >> + print_parse_err(LOG_ERR, >> + "port number %d is out of bounds for HCA %s\n", >> + lport, local); >> + return; >> + } >> + >> + if (hca->lports[lport].hndl == NULL) { >> + print_parse_err(LOG_ERR, >> + "port %s:%d has failed initialization\n", >> + local, lport); >> + return; >> + } >> + >> + if ((ps = (port_state_t *)calloc(1, sizeof(port_state_t))) == NULL) { >> + __pmNotifyErr (LOG_ERR, "Out of memory to save state for %s\n", name); >> + return; >> + } >> + >> + ps->guid = guid; >> + ps->remport = rport; >> + ps->lport = hca->lports + lport; >> + ps->portid.lid = -1; >> + ps->timeout = 1000; >> + >> + if ((inst = pmdaCacheStore(itab[IB_PORT_INDOM].it_indom, >> + PMDA_CACHE_ADD, name, ps)) < 0) { >> + __pmNotifyErr(LOG_ERR, "Cannot add %s to the cache - %s\n", >> + name, pmErrStr(inst)); >> + free (ps); >> + return; >> + } >> + >> + portcount++; >> +} >> + >> + >> static int >> foreachport(hca_state_t *hst, void (*cb)(hca_state_t *, umad_port_t *, void *), >> void *closure) >> @@ -166,7 +230,6 @@ foreachport(hca_state_t *hst, void (*cb)(hca_state_t *, umad_port_t *, void *), >> static void >> printportconfig (hca_state_t *hst, umad_port_t *port, void *arg) >> { >> - FILE *fconf = arg; >> uint64_t hguid = port->port_guid; >> >> __ntohll((char *)&hguid); >> @@ -176,6 +239,20 @@ printportconfig (hca_state_t *hst, umad_port_t *port, void *arg) >> hst->ca.ca_name, port->portnum); >> } >> >> +static void >> +monitorport(hca_state_t *hst, umad_port_t *port, void *arg) >> +{ >> + pmdaIndom *itab = arg; >> + uint64_t hguid = port->port_guid; >> + char name[128]; >> + >> + __ntohll((char *)&hguid); >> + sprintf(name, "%s:%d", port->ca_name, port->portnum); >> + >> + monitor_guid(itab, name, hguid, port->portnum, port->ca_name, port->portnum); >> +} >> + >> + >> static int mgmt_classes[] = {IB_SMI_CLASS, IB_SMI_DIRECT_CLASS, >> IB_SA_CLASS, IB_PERFORMANCE_CLASS}; >> static void >> @@ -196,74 +273,10 @@ openumadport (hca_state_t *hst, umad_port_t *port, void *arg) >> lp->hndl = hndl; >> } >> >> -int >> -ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) >> +static void >> +parse_config(pmdaIndom *itab) >> { >> - char hcas[IBPMDA_MAX_HCAS][UMAD_CA_NAME_LEN]; >> - hca_state_t *st = NULL; >> - int i, n; >> - int lcnt = 0; >> char buffer[2048]; >> - FILE *fconf; >> - int (*closef)(FILE *) = fclose; >> - int portcount = 0; >> - >> - if (nindoms <= IB_CNT_INDOM) { >> - return (-EINVAL); >> - } >> - >> - if (umad_init()) { >> - return (-EIO); >> - } >> - >> - if ((n = umad_get_cas_names(hcas, ARRAYSZ(hcas)))) { >> - if ((st = calloc (n, sizeof(hca_state_t))) == NULL) { >> - return (-ENOMEM); >> - } >> - } else { >> - return (0); >> - } >> - >> - for (i=0; i < n; i++) { >> - if (umad_get_ca(hcas[i], &st[i].ca) == 0) { >> - int e = pmdaCacheStore (itab[IB_HCA_INDOM].it_indom, PMDA_CACHE_ADD, >> - st[i].ca.ca_name, &st[i].ca); >> - >> - if (e >= 0) { >> - foreachport (st+i, openumadport, NULL); >> - } else { >> - __pmNotifyErr (LOG_ERR, >> - "Cannot add instance for %s to the " >> - "cache - %s\n", >> - st[i].ca.ca_name, pmErrStr(e)); >> - } >> - } >> - } >> - >> - /* Process config file - if the executable bit is set then assume >> - * that user wants it to be a script and run it, otherwise try loading >> - * it. If it cannot be loaded then create a default one and >> - * process it again */ >> - if (access(confpath, X_OK)) { >> - /* Not an executable, just read it */ >> - if ((fconf = fopen (confpath, "r")) == NULL) { >> - if ((fconf = fopen (confpath, "w+")) != NULL) { >> - for (i=0; i < n; i++) { >> - foreachport (st+i, printportconfig, fconf); >> - } >> - fseek (fconf, 0, SEEK_SET); >> - } >> - } >> - } else { >> - fconf = popen(confpath, "r"); >> - closef = pclose; >> - } >> - >> - if (fconf == NULL) { >> - __pmNotifyErr (LOG_CRIT, "Cannot open configuration file %s\n", >> - confpath); >> - return (-ENOENT); >> - } >> >> while ((fgets(buffer, sizeof(buffer)-1, fconf)) != NULL) { >> char *p; >> @@ -285,64 +298,98 @@ ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) >> int rport; >> char local[128]; >> int lport; >> - hca_state_t *hca = NULL; >> - port_state_t *ps; >> >> if (sscanf(p, "%[^ \t]%llx%d via %[^:]:%d", >> name, &guid, &rport, local, &lport) != 5) { >> __pmNotifyErr (LOG_ERR, "%s(%d): cannot parse the line\n", >> confpath, lcnt); >> - } else if (pmdaCacheLookupName(itab[IB_HCA_INDOM].it_indom, >> - local, NULL, >> - (void**)&hca) != PMDA_CACHE_ACTIVE) { >> - __pmNotifyErr (LOG_ERR, >> - "%s(%d): unknown HCA '%s' in 'via' clause\n", >> - confpath, lcnt, local); >> - } else if ((lport >= UMAD_CA_MAX_PORTS) || (lport < 0)) { >> - __pmNotifyErr (LOG_ERR, >> - "%s(%d): port number %d is out of bounds for " >> - "HCA %s\n", >> - confpath, lcnt, lport, local); >> - } else if (hca->lports[lport].hndl == NULL) { >> - __pmNotifyErr (LOG_ERR, >> - "%s(%d): port %s:%d has failed initialization\n", >> - confpath, lcnt, local, lport); >> - } else if ((ps = (port_state_t *)calloc(1, sizeof(port_state_t))) == NULL) { >> - __pmNotifyErr (LOG_ERR, "Out of memory to save state for %s\n", >> - name); >> - } else { >> - int inst; >> - ps->guid = guid; >> - ps->remport = rport; >> - ps->lport = hca->lports + lport; >> - ps->portid.lid = -1; >> - ps->timeout = 1000; >> - >> - if ((inst = pmdaCacheStore (itab[IB_PORT_INDOM].it_indom, >> - PMDA_CACHE_ADD, name, ps)) < 0) { >> - __pmNotifyErr (LOG_ERR, >> - "Cannot add %s to the cache - %s\n", >> - name, pmErrStr(inst)); >> - free (ps); >> - } else { >> - portcount++; >> - } >> + continue; >> } >> + >> + monitor_guid(itab, name, guid, rport, local, lport); >> } >> } >> - (*closef) (fconf); >> +} >> + >> +int >> +ib_load_config(const char *cp, int writeconf, pmdaIndom *itab, unsigned int nindoms) >> +{ >> + char hcas[IBPMDA_MAX_HCAS][UMAD_CA_NAME_LEN]; >> + hca_state_t *st = NULL; >> + int i, n; >> + int (*closef)(FILE *) = fclose; >> + >> + if (nindoms <= IB_CNT_INDOM) >> + return -EINVAL; >> + >> + if (umad_init()) >> + return -EIO; >> + >> + if ((n = umad_get_cas_names(hcas, ARRAYSZ(hcas)))) { >> + if ((st = calloc (n, sizeof(hca_state_t))) == NULL) >> + return -ENOMEM; >> + } else >> + /* No HCAs */ >> + return 0; >> + >> + /* Open config file - if the executable bit is set then assume that >> + * user wants it to be a script and run it, otherwise try loading it. >> + */ >> + strcpy(confpath, cp); >> + if (access(confpath, F_OK) == 0) { >> + if (writeconf) { >> + __pmNotifyErr(LOG_ERR, >> + "Config file exists and writeconf arg was given to pmdaib. " >> + "Using existing config file"); >> + writeconf = 0; >> + } >> + >> + if (access(confpath, X_OK)) { >> + /* Not an executable, just read it */ >> + fconf = fopen (confpath, "r"); >> + } else if (!writeconf) { >> + fconf = popen(confpath, "r"); >> + closef = pclose; >> + } >> + } else if (writeconf) { >> + fconf = fopen(confpath, "w"); >> + } >> + >> + for (i=0; i < n; i++) { >> + if (umad_get_ca(hcas[i], &st[i].ca) == 0) { >> + int e = pmdaCacheStore(itab[IB_HCA_INDOM].it_indom, PMDA_CACHE_ADD, >> + st[i].ca.ca_name, &st[i].ca); >> + >> + if (e < 0) { >> + __pmNotifyErr(LOG_ERR, >> + "Cannot add instance for %s to the cache - %s\n", >> + st[i].ca.ca_name, pmErrStr(e)); >> + continue; >> + } >> + >> + foreachport(st+i, openumadport, NULL); >> + if (fconf == NULL || writeconf) >> + /* No config file - monitor local ports */ >> + foreachport(st+i, monitorport, itab); >> + if (writeconf) >> + foreachport(st+i, printportconfig, fconf); >> + } >> + } >> + >> + if (fconf) { >> + parse_config(itab); >> + (*closef)(fconf); >> + } >> >> if (!portcount) { >> - __pmNotifyErr (LOG_INFO, >> - "No ports found in configuration file %s\n", >> - confpath); >> + __pmNotifyErr(LOG_INFO, "No IB ports found to monitor"); >> } >> - >> + >> itab[IB_CNT_INDOM].it_set = (pmdaInstid *)calloc(ARRAYSZ(mad_cnt_descriptors), >> sizeof(pmdaInstid)); >> >> if (itab[IB_CNT_INDOM].it_set == NULL) { >> - return (-ENOMEM); >> + return -ENOMEM; >> } >> >> itab[IB_CNT_INDOM].it_numinst = ARRAYSZ(mad_cnt_descriptors); >> @@ -351,8 +398,8 @@ ib_load_config(const char *confpath, pmdaIndom *itab, unsigned int nindoms) >> itab[IB_CNT_INDOM].it_set[i].i_name = mad_cnt_descriptors[i].name; >> >> } >> - >> - return (0); >> + >> + return 0; >> } >> >> static char * >> @@ -869,7 +916,7 @@ ib_store(pmResult *result, pmdaExt *pmda) >> return (PM_ERR_INST); >> } >> break; >> - >> + >> case METRIC_ib_control_hiwat: >> if ((id < 0) || >> (id > pmda->e_indoms[IB_CNT_INDOM].it_numinst)) { >> @@ -884,7 +931,7 @@ ib_store(pmResult *result, pmdaExt *pmda) >> } >> } >> } >> - return (0); >> + return 0; >> } >> >> >> diff --git a/src/pmdas/ib/ibpmda.h b/src/pmdas/ib/ibpmda.h >> index 153743b..fae2c3c 100644 >> --- a/src/pmdas/ib/ibpmda.h >> +++ b/src/pmdas/ib/ibpmda.h >> @@ -22,10 +22,10 @@ >> #include "domain.h" >> >> >> -void ibpmda_init (const char *configpath, pmdaInterface *); >> +void ibpmda_init (const char *configpath, int, pmdaInterface *); >> >> int ib_fetch_val(pmdaMetric *, unsigned int, pmAtomValue *); >> -int ib_load_config(const char *, pmdaIndom *, unsigned int); >> +int ib_load_config(const char *, int, pmdaIndom *, unsigned int); >> void ib_rearm_for_update(void *); >> void ib_reset_perfcounters (void *); >> int ib_store(pmResult *, pmdaExt *); >> diff --git a/src/pmdas/ib/pmda.c b/src/pmdas/ib/pmda.c >> index 6a8e02d..d5557b3 100644 >> --- a/src/pmdas/ib/pmda.c >> +++ b/src/pmdas/ib/pmda.c >> @@ -297,7 +297,7 @@ ib_fetch(int numpmid, pmID pmidlist[], pmResult **resp, pmdaExt *pmda) >> } >> >> void >> -ibpmda_init(const char *confpath, pmdaInterface *dp) >> +ibpmda_init(const char *confpath, int writeconf, pmdaInterface *dp) >> { >> char defconf[MAXPATHLEN]; >> int sep = __pmPathSeparator(); >> @@ -320,7 +320,7 @@ ibpmda_init(const char *confpath, pmdaInterface *dp) >> } >> >> >> - if ((dp->status = ib_load_config (confpath, indomtab, ARRAYSZ(indomtab)))) >> + if ((dp->status = ib_load_config(confpath, writeconf, indomtab, ARRAYSZ(indomtab)))) >> return; >> >> for (i=0; i < ARRAYSZ(indomtab); i++) { >> >> >> _______________________________________________ >> pcp mailing list >> pcp@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/pcp > > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From goodwinos@gmail.com Tue Jul 14 06:15:15 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6EBFFtk106291 for ; Tue, 14 Jul 2009 06:15:15 -0500 X-ASG-Debug-ID: 1247570153-1c34030e0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F2A841B53E18 for ; Tue, 14 Jul 2009 04:15:53 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id tuDQxla1QPg2fR6l for ; Tue, 14 Jul 2009 04:15:53 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6EBFm4m028948; Tue, 14 Jul 2009 07:15:48 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6EBFlMB027744; Tue, 14 Jul 2009 07:15:47 -0400 Received: from [10.64.6.18] (vpn6-6-18.bne.redhat.com [10.64.6.18]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6EBFggJ032331; Tue, 14 Jul 2009 07:15:45 -0400 Message-ID: <4A5C68DD.7000904@gmail.com> Date: Tue, 14 Jul 2009 21:15:41 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: kenj@internode.on.net CC: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) Subject: Re: [pcp] Proposal for handling dynamic metric names (and hence dynamic metrics) References: <1004255165.302471247102430882.JavaMail.root@mail-au.aconex.com> <1247180059.7833.257.camel@bozo> In-Reply-To: <1247180059.7833.257.camel@bozo> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1247570154 X-Barracuda-Bayes: INNOCENT GLOBAL 0.2218 1.0000 -0.7150 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.72 X-Barracuda-Spam-Status: No, SCORE=-0.72 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3375 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Ken McDonell wrote: > * clusterns.pl this one makes me nervous ... I am not sure what it > is doing, but this fragment ... ($rawcluster !~ /^[0-9]+$/) and > die "PMID cluster is not numeric in node '$_'\n"; .... may be a > problem if it is handling pmns nodes for other than the cluster > PMDA at this point ... Mark could you please check this one? The entire cluster PMDA namespace will need to be converted over to the dynamic mechanism, one we hve it - this will be a much better solution than the current hacky scheme. See the comments in the clusterns.pl script. Let's deal with that when the time comes. Cheers From mort@sgi.com Tue Jul 14 08:21:04 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6EDL4I7120425 for ; Tue, 14 Jul 2009 08:21:04 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay2.corp.sgi.com (Postfix) with ESMTP id AA121304090; Tue, 14 Jul 2009 06:21:40 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 44682) id 7C784A0A4170; Tue, 14 Jul 2009 08:21:40 -0500 (CDT) Date: Tue, 14 Jul 2009 08:21:40 -0500 From: Martin Hicks To: Mark Goodwin Cc: Max Matveev , pcp@oss.sgi.com Subject: Re: [pcp] IB pmda and writing out the default config file Message-ID: <20090714132140.GH18171@alcatraz.americas.sgi.com> References: <20090608171828.GA14199@alcatraz.americas.sgi.com> <18990.24528.172761.247069@iinet.net.au> <20090616182224.GI20783@alcatraz.americas.sgi.com> <20090706173919.GC18171@alcatraz.americas.sgi.com> <4A5C65A3.3050100@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A5C65A3.3050100@gmail.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Tue, Jul 14, 2009 at 09:01:55PM +1000, Mark Goodwin wrote: > Martin Hicks wrote: >>> How about this patch. It rejigs things a lot, but essentially: >>> >>> - No config file will be created unless the '-w' flag is passed to >>> pmdaib. (this is a change) >>> >>> - By default, if no config file is found, only local ports are monitored. >>> (before we would always write out a config file containing only local >>> ports) >>> >>> - If a config file exists then it is the preferred source of information >>> and perhaps not even local ports will be monitored. (before you could >>> have edited the automatically created file to remove the local ports) >>> >>> >>> So in the case of a user who is using a custom config file (either to >>> name the instances differently, or to monitor remote ports) who replaces >>> an HCA, it will be up to them to edit the config file that they created. >>> >>> For those who are using the ib pmda in its simplest mode with no config >>> file, no changes will be necessary when an HCA is replaced but they have >>> no guarantee of static device naming if they add an additional HCA. > > Seems like a reasonable compromise to me. Instance naming in merged > archives spanning reboots will sometimes be screwed up, but you still > have the option to avoid that if it really matters. When you look at the > flaming hoops the scsi and device-mapper folks have jumped thru to > achieve persistent naming, a more sophisticated scheme isn't warranted; > set-and-forget performance monitoring is more important in most cases. I think I'm going to change things so the '-w' writes the config file and exits immediately. I'll also write up a manpage. This PMDA is fairly complicated and I had a few "oh, it does that too?" moments while I was doing this work. mh From mort@sgi.com Tue Jul 14 09:24:43 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6EEOgZV122708 for ; Tue, 14 Jul 2009 09:24:43 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0D474AC013 for ; Tue, 14 Jul 2009 07:25:19 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 44682) id 90592A0A4170; Tue, 14 Jul 2009 09:25:18 -0500 (CDT) Date: Tue, 14 Jul 2009 09:25:18 -0500 From: Martin Hicks To: pcp@oss.sgi.com Subject: pmgadgets port Message-ID: <20090714142518.GI18171@alcatraz.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean I haven't worked on this (other than on qwt widgets) for quite a while and I should have posted the code sooner. I just pushed out a tree to oss: git clone git://oss.sgi.com/mort/pcp-gui.git The general event mechanism works, the config file parser works, the old metric scheduler works (needs to be converted over to using the one that is provided in the pcp libraries). The big gap is the widets. mh From nscott@aconex.com Wed Jul 15 00:55:36 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6F5tZJU175174 for ; Wed, 15 Jul 2009 00:55:36 -0500 X-ASG-Debug-ID: 1247637372-3640033d0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 59493364260 for ; Tue, 14 Jul 2009 22:56:13 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id XO3Otq6KhOTtrJum for ; Tue, 14 Jul 2009 22:56:13 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id BE0CC18FAFB for ; Wed, 15 Jul 2009 15:56:11 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id ZHcvfIAtUqS5Anr0 for ; Wed, 15 Jul 2009 15:56:11 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id CFDEFA503F7 for ; Wed, 15 Jul 2009 15:55:36 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id AECC14FD82 for ; Wed, 15 Jul 2009 15:56:11 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Qki89-BaSAvu for ; Wed, 15 Jul 2009 15:56:07 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id F2F354FD88 for ; Wed, 15 Jul 2009 15:56:06 +1000 (EST) Date: Wed, 15 Jul 2009 15:56:06 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <206241137.628471247637366881.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcpqa updates Subject: pcpqa updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247637374 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3447 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcpqa.git 348 | 12 +-- 348.out | 2 597 | 28 +------ 597.out.2 | 4 - 646.out | 100 +++++++++++----------------- 647 | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 647.out | 174 ++++++++++++++++++++++++++++++++++++++++++++++++ common.filter | 20 +++++ group | 2 owner | 2 10 files changed, 456 insertions(+), 94 deletions(-) commit 44cc8977d16c3b9ac3d4ae5d5685c8b7241996a2 Author: Nathan Scott Date: Wed Jul 15 15:53:20 2009 +1000 Add more QA test coverage for the MMV PMDA. New QA test to exercise PMDA Install, Remove, and all of the different flavours of MMV export values/metric types, PDU exchanges with pmcd, etc. Also added a generic _pmda_remove_filter analagous to the _pmda_install_filter and updated 348 & 597 to use it too. commit 1c60dc81b848072c60e511891e89be16b56badde Author: Nathan Scott Date: Wed Jul 15 13:52:05 2009 +1000 Fix up 646 output to match revised MMV format with fewer string TOCs. From mort@sgi.com Wed Jul 15 14:52:35 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6FJqYCS217754 for ; Wed, 15 Jul 2009 14:52:34 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7C3378F8040 for ; Wed, 15 Jul 2009 12:53:11 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 44682) id 2EC1EA0A4170; Wed, 15 Jul 2009 14:53:11 -0500 (CDT) Date: Wed, 15 Jul 2009 14:53:11 -0500 From: Martin Hicks To: pcp@oss.sgi.com Subject: [patch] manpage for IB pmda Message-ID: <20090715195311.GF27950@alcatraz.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Here's a patch for giving the infiniband PMDA a manpage. Should this be always installed or should I only install it when HAVE_IBDEV=1? I feel like the manpage should always be installed, but I could be convinced otherwise... I'll push this up soon, if there are no objections. This reflects the reality of the outstanding patch I have to the IB PMDA in my tree. I just need a bit more test time before I commit it. diff --git a/man/man1/GNUmakefile b/man/man1/GNUmakefile index 38197ff..ddce3b5 100644 --- a/man/man1/GNUmakefile +++ b/man/man1/GNUmakefile @@ -33,6 +33,7 @@ MAN_PAGES = chkhelp.1 dbpmda.1 mkaf.1 newhelp.1 pcp.1 pcpintro.1 \ pmtrace.1 pmval.1 pmdaweblog.1 pmlogsummary.1 pmdashping.1 \ pmloglabel.1 genpmda.1 pmproxy.1 pmdasummary.1 pmlogreduce.1 \ autofsd-probe.1 pmie2col.1 telnet-probe.1 pmsleep.1 pmsignal.1 \ + pmdaib.1 MAN_DEST = $(PCP_MAN_DIR)/man$(MAN_SECTION) LSRCFILES = $(MAN_PAGES) and the manpage (man/man1/pmdaib.1) '\"macro stdmacro .\" .\" Copyright (c) 2009 Silicon Graphics, Inc. All Rights Reserved. .\" .\" This program is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by the .\" Free Software Foundation; either version 2 of the License, or (at your .\" option) any later version. .\" .\" This program is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" for more details. .\" .ds ia ib .ds IA IB .TH PMDAIB 1 "SGI" "Performance Co-Pilot" .SH NAME \f3pmda\*(ia\f1 \- \*(ia performance metrics domain agent (PMDA) .SH SYNOPSYS \f3$PCP_PMDAS_DIR/\*(ia/pmda\*(ia\f1 [\f3\-c\f1 \f2configFile\f1] [\f3\-D\f1 \f2debug\f1] [\f3\-d\f1 \f2domain\f1] [\f3\-l\f1 \f2logfile\f1] [\f3\-w\f1] .SH DESCRIPTION .B pmda\*(ia is a Performance Metrics Domain Agent (PMDA) which exports information and performance metrics about local Infiniband HCAs and local or remote Infiniband GUIDs. .PP A brief description of the .B pmda\*(ia command line options follows: .TP 5 .B \-c Location of the config file. By default, the config file is named .BR $PCP_PMDAS_DIR/\*(ia/config. See .BR "CONFIG FILE" for more information. .TP .B -D A debug values, as specified by .B pmdbg (1) .TP .B \-d Specify an alternate performance metrics .I domain number. Almost never necessary. .TP .B \-l Location of the log file. By default, a log file named .I \*(ia.log is written to .BR $PCP_LOG_DIR/pmcd . If the log file cannot be created or is not writable, output is written to the standard error instead. .TP .B \-w Write out the default config file to .BR $PCP_PMDAS_DIRS/\*(ia and exit immediately. The written config file will contain the local HCA ports. It will not overwrite an existing file. This argument should only be used to create the template config file and should never appear in .I pmcd.conf. See .BR "CONFIG FILE" for more information on the file format and on monitoring remote GUIDs. .SH CONFIG FILE By default, the PMDA will operate without using a config file. In this mode of operation the local HCA ports will be monitored. Note that if a new HCA is added to the machine that instance domain naming may change because it will always be based on the kernel's naming. .PP In cases where this is not acceptable, or in the case where monitoring remote Infiniband ports is required, a config file must be created. A "template" file can be created by running the .B pmda\*(ia daemon with the .B \-w argument. This will create a config file with the local ports and GUIDs. .PP If the config file is .I executable then it will be run and the output will be used as the config file. .PP The config file is composed of line-based records. Blank lines and everything after the .I hash (#) character are ignored. Each line has 6 fields: .PP [\f3instName\f1] [\f3portGUID\f1] [\f3portNum\f1] via [\f3localPortName\f1]:[\f3localPortNum\f1] .PP The first field is used to give a static instance name to the Infiniband port that has a specific GUID. All of the other fields must be properly specified in order to monitor a particular port. .PP For example, to monitor port 1 of the local HCA called 'mthca0' a possible config file line would be: .PP myPort1 0xdeadbeef01234567 1 via mthca0:1 .PP Remote ports can be easily monitored by specifying the GUID of the HCA or switch and specifying the remote port number. The \f3localPortName\f1:\f3localPortNum\f1 tuple specifies which local HCA and port to use as the "first hop" in contacting the remote GUID. E.g., to monitor port 13 of a remote switch which is connected to the fabric on the first port of the second HCA: .PP switch13 0xfeeffeefabcdabcd 13 via mthca1:1 .SH SEE ALSO .BR pmcd (1), .BR ibnetdiscover(8). From nscott@aconex.com Thu Jul 16 02:08:15 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6G78ERn255948 for ; Thu, 16 Jul 2009 02:08:15 -0500 X-ASG-Debug-ID: 1247728132-3bcc00f50000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 57CD2367E60 for ; Thu, 16 Jul 2009 00:08:53 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id uHSytrmTxzYYBlg0 for ; Thu, 16 Jul 2009 00:08:53 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id 16F6A19CC0B for ; Thu, 16 Jul 2009 17:08:51 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id JRom8c5IZDTrwELn for ; Thu, 16 Jul 2009 17:08:51 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 931E8A50264 for ; Thu, 16 Jul 2009 17:08:15 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id F062A4FD86 for ; Thu, 16 Jul 2009 17:08:50 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fp6EYWIZBNzD for ; Thu, 16 Jul 2009 17:08:46 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id C22604FD84 for ; Thu, 16 Jul 2009 17:08:46 +1000 (EST) Date: Thu, 16 Jul 2009 17:08:46 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <1743935863.673841247728126673.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates Subject: pcp updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247728134 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3539 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/nathans/pcp.git src/pmdas/linux/proc_cpuinfo.c | 38 +++++++++++++++++--------------------- src/pmdas/linux/proc_cpuinfo.h | 1 - src/pmdas/linux/proc_loadavg.c | 7 ++++--- 3 files changed, 21 insertions(+), 25 deletions(-) commit fee86f6503252207a236c5eb81c8d092eede1a87 Author: Nathan Scott Date: Thu Jul 16 16:59:45 2009 +1000 Rework the special SGI CPU numbering logic in the Linux PMDA. This resolves a buffer overflow bug in the use of realpath(3) in this routine, which was being passed a too-small buffer. This issue was initially reported to us by Chandana De Silva, but looks like others have come across it too, e.g.: https://bugs.launchpad.net/ubuntu/+source/pcp/+bug/384776 I've removed the unused "cname" field from the per-CPU data structure, and also added some short-circuit logic into this code so that we bail out of this logic early if no hardware- graph filesystem paths are detected (which will be the normal case for most people). commit 67ae7fd90a32a43bbc97b939e57302556e864459 Author: Nathan Scott Date: Thu Jul 16 16:54:11 2009 +1000 Resolve a valgrind reported problem when initing Linux loadavg metric. Ensure read buffer is initialised to zero, and also check the return code for a failed read syscall. From daw@sgi.com Thu Jul 16 12:23:05 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6GHN4ZH029079 for ; Thu, 16 Jul 2009 12:23:04 -0500 Received: from zion.americas.sgi.com (zion.americas.sgi.com [128.162.236.17]) by relay3.corp.sgi.com (Postfix) with ESMTP id F3D64AC014 for ; Thu, 16 Jul 2009 10:23:41 -0700 (PDT) Received: (from daw@localhost) by zion.americas.sgi.com (8.12.9/ASC-news-1.4) id n6GHNfPP30924525 for pcp@oss.sgi.com; Thu, 16 Jul 2009 12:23:41 -0500 (CDT) Message-Id: <200907161723.n6GHNfPP30924525@zion.americas.sgi.com> Subject: Getting harder to install PCP To: pcp@oss.sgi.com Date: Thu, 16 Jul 2009 12:23:41 -0500 (CDT) In-Reply-To: from "pcp-request@oss.sgi.com" at Jul 16, 2009 12:00:01 PM From: David Wright X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean The latest pcp rpm wont install anymore. trng180:~/Desktop # rpm -ivh pcp* warning: pcp-2.8.12-1.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 74886b63 error: Failed dependencies: initscripts is needed by pcp-2.8.12-1.x86_64 rtld(GNU_HASH) is needed by pcp-2.8.12-1.x86_64 qt4 >= 4.2 is needed by pcp-gui-1.4.3-1.x86_64 rtld(GNU_HASH) is needed by pcp-gui-1.4.3-1.x86_64 why make it harder to install pcp? I am using sles10sp2 x86_64. thank you, David Wright From mort@bork.org Thu Jul 16 12:47:42 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6GHlfoo029860 for ; Thu, 16 Jul 2009 12:47:42 -0500 X-ASG-Debug-ID: 1247766501-4e1901a80000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from darwin.bork.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2CB4B36A0B5 for ; Thu, 16 Jul 2009 10:48:21 -0700 (PDT) Received: from darwin.bork.org (darwin.bork.org [65.49.60.145]) by cuda.sgi.com with ESMTP id 3GBPe6rOZDQDx5J2 for ; Thu, 16 Jul 2009 10:48:21 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by darwin.bork.org (Postfix) with ESMTP id 37A8B19689; Thu, 16 Jul 2009 13:44:40 -0400 (EDT) Received: from darwin.bork.org ([127.0.0.1]) by localhost (darwin.bork.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id NE15DywI8WGl; Thu, 16 Jul 2009 13:44:40 -0400 (EDT) Received: from laplace.bork.org (laplace.bork.org [IPv6:2001:470:1f11:499:21a:a0ff:feec:57ab]) by darwin.bork.org (Postfix) with ESMTP id 05A2F19321; Thu, 16 Jul 2009 13:44:40 -0400 (EDT) Received: by laplace.bork.org (Postfix, from userid 1000) id A0217538AA; Thu, 16 Jul 2009 13:48:19 -0400 (EDT) Date: Thu, 16 Jul 2009 13:48:19 -0400 From: Martin Hicks To: David Wright Cc: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Getting harder to install PCP Subject: Re: [pcp] Getting harder to install PCP Message-ID: <20090716174819.GV5068@laplace.bork.org> References: <200907161723.n6GHNfPP30924525@zion.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200907161723.n6GHNfPP30924525@zion.americas.sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: darwin.bork.org[65.49.60.145] X-Barracuda-Start-Time: 1247766502 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0008 1.0000 -2.0156 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3577 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Thu, Jul 16, 2009 at 12:23:41PM -0500, David Wright wrote: > > The latest pcp rpm wont install anymore. > > trng180:~/Desktop # rpm -ivh pcp* > warning: pcp-2.8.12-1.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 74886b63 > error: Failed dependencies: > initscripts is needed by pcp-2.8.12-1.x86_64 > rtld(GNU_HASH) is needed by pcp-2.8.12-1.x86_64 > qt4 >= 4.2 is needed by pcp-gui-1.4.3-1.x86_64 > rtld(GNU_HASH) is needed by pcp-gui-1.4.3-1.x86_64 > > why make it harder to install pcp? I am using sles10sp2 x86_64. I think this problem likely reflects that this RPM was build against a redhat distro. Try building from source and using "./Makepkgs" I'd love if we could do away with the distro-specific dependencies, but I don't think it's entirely possible. We likely need to create an additional level of directories on the download site: download/rpm/redhat download/rpm/suse mh -- Martin Hicks || mort@bork.org || PGP/GnuPG: 0x4C7F2BEE From nscott@aconex.com Thu Jul 16 18:37:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6GNblwo044599 for ; Thu, 16 Jul 2009 18:37:48 -0500 X-ASG-Debug-ID: 1247787968-735b02500000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B9CB1A7FE2B for ; Thu, 16 Jul 2009 16:46:09 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id FrStWjwxR2eis0IC for ; Thu, 16 Jul 2009 16:46:09 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id 992B562FE9D; Fri, 17 Jul 2009 09:38:24 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id kxoHmz6r82xHHmUt; Fri, 17 Jul 2009 09:38:24 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id C2C8AA503DD; Fri, 17 Jul 2009 09:37:48 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 7DBA44FD85; Fri, 17 Jul 2009 09:38:24 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wFN3dSc36IgG; Fri, 17 Jul 2009 09:38:20 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 56BFA4FD82; Fri, 17 Jul 2009 09:38:20 +1000 (EST) Date: Fri, 17 Jul 2009 09:38:20 +1000 (EST) From: Nathan Scott To: Martin Hicks Cc: pcp@oss.sgi.com, David Wright Message-ID: <721601120.695111247787500319.JavaMail.root@mail-au.aconex.com> In-Reply-To: <20090716174819.GV5068@laplace.bork.org> X-ASG-Orig-Subj: Re: [pcp] Getting harder to install PCP Subject: Re: [pcp] Getting harder to install PCP MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247787970 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0205 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3601 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Martin Hicks" wrote: > On Thu, Jul 16, 2009 at 12:23:41PM -0500, David Wright wrote: > > > > The latest pcp rpm wont install anymore. > > > > trng180:~/Desktop # rpm -ivh pcp* > > warning: pcp-2.8.12-1.x86_64.rpm: Header V4 DSA signature: NOKEY, > key ID 74886b63 > > error: Failed dependencies: > > initscripts is needed by pcp-2.8.12-1.x86_64 > > rtld(GNU_HASH) is needed by pcp-2.8.12-1.x86_64 > > qt4 >= 4.2 is needed by pcp-gui-1.4.3-1.x86_64 > > rtld(GNU_HASH) is needed by pcp-gui-1.4.3-1.x86_64 > > > > why make it harder to install pcp? I am using sles10sp2 x86_64. > > I think this problem likely reflects that this RPM was build against > a > redhat distro. Try building from source and using "./Makepkgs" > > I'd love if we could do away with the distro-specific dependencies, > but Those deps are all generated by rpm on the fly too (except for qt4, which is build-time conditional in build/rpm/pcp-gui.spec.in) so I don't think we can do away with those at all. > I don't think it's entirely possible. We likely need to create an > additional level of directories on the download site: > > download/rpm/redhat > download/rpm/suse Yeah, possibly even more specific, like "rhel5" and "sles10", etc? cheers. -- Nathan From nscott@aconex.com Fri Jul 17 00:38:29 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6H5cS4C066892 for ; Fri, 17 Jul 2009 00:38:29 -0500 X-ASG-Debug-ID: 1247809147-77e9024b0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0792513A224C for ; Thu, 16 Jul 2009 22:39:07 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id yFpOWd2Y41UuYOMS for ; Thu, 16 Jul 2009 22:39:07 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id 5E1EE6EE0FF for ; Fri, 17 Jul 2009 15:39:06 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id P6V5TAZJryGkEHdu for ; Fri, 17 Jul 2009 15:39:06 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 659F7A503DD for ; Fri, 17 Jul 2009 15:38:30 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 477BB4FD84 for ; Fri, 17 Jul 2009 15:39:06 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bdHrKaYwC8DD for ; Fri, 17 Jul 2009 15:39:02 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 36B744FD82 for ; Fri, 17 Jul 2009 15:39:02 +1000 (EST) Date: Fri, 17 Jul 2009 15:39:02 +1000 (EST) From: Nathan Scott To: pcp Message-ID: <2138078243.727161247809142154.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcpqa updates Subject: pcpqa updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1247809149 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0005 1.0000 -2.0178 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcpqa.git 648 | 99 ++++++++++++++++++++++++++++++++++++++++++++++++ 648.out | 51 ++++++++++++++++++++++++ group | 1 owner | 1 src-oss/.gitignore | 4 + src-oss/GNUmakefile | 6 ++ src-oss/mmv_genstats.c | 5 ++ src-oss/mmv_instances.c | 92 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 257 insertions(+), 2 deletions(-) commit a5f22139490fc396aac748fcadcb943de77f0b14 Author: Nathan Scott Date: Fri Jul 17 15:36:33 2009 +1000 Yet more QA test coverage for the MMV PMDA. New QA test and test program to exercise MMV PMDA instance domain handling, particularly in the presence of multiple files. From wwwrun@oss.sgi.com Sun Jul 19 18:48:56 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6JNmtsw001265 for ; Sun, 19 Jul 2009 18:48:56 -0500 Received: (from wwwrun@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n6JNmt2R001264; Sun, 19 Jul 2009 18:48:55 -0500 Date: Sun, 19 Jul 2009 18:48:55 -0500 From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 843] New: Confused state of AutoScale and Min/Max fields X-Bugzilla-Reason: CC X-Bugzilla-Type: newchanged X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp-glider X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ndonaldson@aconex.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: nathans@debian.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 http://oss.sgi.com/bugzilla/show_bug.cgi?id=843 Summary: Confused state of AutoScale and Min/Max fields Product: pcp Version: unspecified Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P5 Component: pcp-glider AssignedTo: nathans@debian.org ReportedBy: ndonaldson@aconex.com CC: pcp@oss.sgi.com Estimated Hours: 0.0 Classification: Unclassified Created an attachment (id=276) --> (http://oss.sgi.com/bugzilla/attachment.cgi?id=276) Visible proof of confused state of UI components I've just loaded a (predefined) view with six charts, but wanted to make a few adjustments to the vertical scale. 1) click on a (line) chart; select Edit -> Chart; in the Chart tab, click on the 'Off' radio-button for AutoScale; set some non-zero maximum value; click [OK] 2) click on another (line) chart; select Edit -> Chart; in the Chart tab, the AutoScale radio-button is set to 'on', but the Min/Max fields are enabled, and can be changed (I didn't try to save them, though). ***This should not be the case*** Clicking the 'on' radio-button, *or* clicking [Cancel], and subsequently selecting Edit -> Chart recovers the correct situation temporarily, in the second chart, however... 3) click on the original (line) chart; select Edit -> Chart; in the Chart tab, the radio-button for AutoScale is 'off', but now the Min/Max fields are disabled -- Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From goodwinos@gmail.com Mon Jul 20 20:10:11 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6L1AAGL125320 for ; Mon, 20 Jul 2009 20:10:11 -0500 X-ASG-Debug-ID: 1248138651-5733021e0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F1C31374D13 for ; Mon, 20 Jul 2009 18:10:51 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id j9omowgItJMOGj04 for ; Mon, 20 Jul 2009 18:10:51 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6L1Ap4p021860 for ; Mon, 20 Jul 2009 21:10:51 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6L1Aohk028921 for ; Mon, 20 Jul 2009 21:10:50 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6L1AnHJ013004 for ; Mon, 20 Jul 2009 21:10:49 -0400 Message-ID: <4A651598.4080102@gmail.com> Date: Tue, 21 Jul 2009 11:10:48 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: pcp@oss.sgi.com X-ASG-Orig-Subj: pcp-gui updates for Fedora10/11/12 Subject: pcp-gui updates for Fedora10/11/12 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1248138652 X-Barracuda-Bayes: INNOCENT GLOBAL 0.2487 1.0000 -0.5814 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.58 X-Barracuda-Spam-Status: No, SCORE=-0.58 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.3944 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Nathan, can you rv this and merge if OK? Thanks. In the 'master' branch of git://oss.sgi.com/markgw/pcp/pcp-gui.git commit 843c3557f9db566b80ab40baab785d4aaeafb85b Author: Mark Goodwin Date: Tue Jul 21 10:41:30 2009 +1000 minor build and packaging fix for Fedora10/11 Signed-off-by: Mark Goodwin diff --git a/.gitignore b/.gitignore index 9030532..5131615 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ qa/src/qmc_hosts/qmc_hosts qa/src/qmc_indom/qmc_indom qa/src/qmc_metric/qmc_metric qa/src/qmc_source/qmc_source +debug*.list diff --git a/src/libapp/GNUmakefile b/src/libapp/GNUmakefile index e13af80..1525471 100644 --- a/src/libapp/GNUmakefile +++ b/src/libapp/GNUmakefile @@ -11,7 +11,7 @@ CONFFILES = $(PROJECT) LSRCFILES = $(PROJECT).in $(SOURCES) $(HEADERS) $(UIFILES) $(QRCFILE) LDIRT = Makefile* -SUBDIRS = views images +SUBDIRS = images default: $(PROJECT) $(SUBDIRS_MAKERULE) From mort@sgi.com Tue Jul 21 16:43:11 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6LLhAQr195380 for ; Tue, 21 Jul 2009 16:43:11 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay2.corp.sgi.com (Postfix) with ESMTP id 30C0D30407E for ; Tue, 21 Jul 2009 14:43:51 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 44682) id DC0FFA23C440; Tue, 21 Jul 2009 16:43:50 -0500 (CDT) Date: Tue, 21 Jul 2009 16:43:50 -0500 From: Martin Hicks To: pcp@oss.sgi.com Subject: pcp updates Message-ID: <20090721214350.GG14368@alcatraz.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Updates applied to git://oss.sgi.com/mort/pcp.git mort@socrates:~/src/pcp$ git log ^origin/dev mort-dev commit fcca6023cd689ea5f48c6f6c538e2e21af67d32e Author: Martin Hicks Date: Tue Jul 21 17:34:05 2009 -0400 Do not create infiniband pmda config file by default In order to simplify monitoring in the simple case where a machine has a single Infiniband interface, the config file is no longer created by default. Instead, only local ports are monitored. This does solve the problem where if an infiniband card is replaced in a machine that the administrator no longer has to remove the /var/lib/pcp/pmdas/ib/config file in order to restore infiniband monitoring. For more advanced usage where static instance naming is required or remote Infiniband ports must be monitored a config file can still be created, but it is the responsibility of the administrator to update the GUIDs if an HCA replacement is done. commit 840243974c106daae11368730043534d4684bc59 Author: Martin Hicks Date: Tue Jul 21 17:31:54 2009 -0400 Manpage for the infiniband PMDA commit 7f0167d8410147a6645699b0a385dc0c3bdfa5ac Author: Martin Hicks Date: Tue Jul 14 14:14:31 2009 -0400 Reserve domain ID 99 for SGI Ultra Violet PMDA From nscott@aconex.com Tue Jul 21 22:39:46 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6M3dkeb210967 for ; Tue, 21 Jul 2009 22:39:46 -0500 X-ASG-Debug-ID: 1248234026-590d024e0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9864913C7B29 for ; Tue, 21 Jul 2009 20:40:27 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id scW3EasiGw7EOkyv for ; Tue, 21 Jul 2009 20:40:27 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id A8FF47CAF96 for ; Wed, 22 Jul 2009 13:40:25 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id E87I8EG4PLwtChhE for ; Wed, 22 Jul 2009 13:40:25 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 1FE0EA50283 for ; Wed, 22 Jul 2009 13:39:47 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 88EC24FD85 for ; Wed, 22 Jul 2009 13:40:25 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J9iLCuJ-TnKv for ; Wed, 22 Jul 2009 13:40:21 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id BDA424FD82 for ; Wed, 22 Jul 2009 13:40:21 +1000 (EST) Date: Wed, 22 Jul 2009 13:40:21 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <791178811.934141248234021688.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates Subject: pcp updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1248234028 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4049 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean [Also merged Martins tree in here now, BTW] Changes committed to git://oss.sgi.com/nathans/pcp.git src/cpan/PMDA/Changes | 5 + src/cpan/PMDA/PMDA.pm | 2 src/cpan/PMDA/PMDA.xs | 3 src/cpan/PMDA/local.c | 3 src/pmdas/GNUmakefile | 3 src/pmdas/named/.gitignore | 2 src/pmdas/named/GNUmakefile | 45 ++++++++++++ src/pmdas/named/Install | 32 ++++++++ src/pmdas/named/Remove | 25 ++++++ src/pmdas/named/pmdanamed.pl | 155 ++++++++++++++++++++++++++++++++++++++++++- src/pmns/stdpmid.pcp | 1 11 files changed, 272 insertions(+), 4 deletions(-) commit 7f3bf2c9a2966801f95c31f049291da8434faae4 Author: Nathan Scott Date: Wed Jul 22 13:37:47 2009 +1000 Ensure the Perl PMDA process runs in its own process group, and ignore SIGTERM in the atexit handler. This resolves an issue with the earlier fix for reaping children. commit d597f63b47a9eb8140c878bbc26c1434431c3096 Author: Nathan Scott Date: Wed Jul 22 11:52:09 2009 +1000 Comment out some diagnostics in named PMDA. commit c9b822c236f1bf219d830d1185d16cc9e87eae4c Author: Rodney McKee Date: Wed Jul 22 11:44:32 2009 +1000 Add the named PMDA, initially supporting BIND 9.4. From goodwinos@gmail.com Wed Jul 22 02:15:13 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6M7FCxO224243 for ; Wed, 22 Jul 2009 02:15:13 -0500 X-ASG-Debug-ID: 1248247445-72d601350000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D1ED1ABE444 for ; Wed, 22 Jul 2009 00:24:05 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id c6Ry1B3PLvkgUvif for ; Wed, 22 Jul 2009 00:24:05 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6M7FsE7006785 for ; Wed, 22 Jul 2009 03:15:54 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6M7FrkD023436 for ; Wed, 22 Jul 2009 03:15:53 -0400 Received: from [10.64.176.217] (dhcp-176-217.mel.redhat.com [10.64.176.217]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6M7FpFA028853 for ; Wed, 22 Jul 2009 03:15:52 -0400 Message-ID: <4A66BCA6.2020301@gmail.com> Date: Wed, 22 Jul 2009 17:15:50 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: pcp-gui updates for Fedora10/11/12 Subject: Re: pcp-gui updates for Fedora10/11/12 References: <4A651598.4080102@gmail.com> In-Reply-To: <4A651598.4080102@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1248247446 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4064 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Nathan mentioned on IRC that I was on the wrong branch (should be using 'stable', not 'master'). So I switched to the stable branch and this build bug no longer occurs (I guess src/libapp will be acquiring a 'views' directory to match it's SUBDIRS at some point; that's probably work in progress on the master branch). Cheers Mark Goodwin wrote: > Nathan, can you rv this and merge if OK? Thanks. > In the 'master' branch of git://oss.sgi.com/markgw/pcp/pcp-gui.git > > commit 843c3557f9db566b80ab40baab785d4aaeafb85b > Author: Mark Goodwin > Date: Tue Jul 21 10:41:30 2009 +1000 > > minor build and packaging fix for Fedora10/11 > > Signed-off-by: Mark Goodwin > > diff --git a/.gitignore b/.gitignore > index 9030532..5131615 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -32,3 +32,4 @@ qa/src/qmc_hosts/qmc_hosts > qa/src/qmc_indom/qmc_indom > qa/src/qmc_metric/qmc_metric > qa/src/qmc_source/qmc_source > +debug*.list > diff --git a/src/libapp/GNUmakefile b/src/libapp/GNUmakefile > index e13af80..1525471 100644 > --- a/src/libapp/GNUmakefile > +++ b/src/libapp/GNUmakefile > @@ -11,7 +11,7 @@ CONFFILES = $(PROJECT) > LSRCFILES = $(PROJECT).in $(SOURCES) $(HEADERS) $(UIFILES) $(QRCFILE) > LDIRT = Makefile* > > -SUBDIRS = views images > +SUBDIRS = images > > default: $(PROJECT) > $(SUBDIRS_MAKERULE) > > From jeffpc@josefsipek.net Wed Jul 22 22:59:33 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_44 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6N3xQBw028215 for ; Wed, 22 Jul 2009 22:59:28 -0500 X-ASG-Debug-ID: 1248321607-570b03890000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from josefsipek.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5033C13DD3E3 for ; Wed, 22 Jul 2009 21:00:07 -0700 (PDT) Received: from josefsipek.net (josefsipek.net [141.212.112.196]) by cuda.sgi.com with ESMTP id gSWszSBgw3TQdI67 for ; Wed, 22 Jul 2009 21:00:07 -0700 (PDT) Received: by josefsipek.net (Postfix, from userid 1000) id 3F0081C0F70B; Thu, 23 Jul 2009 00:00:07 -0400 (EDT) From: "Josef 'Jeff' Sipek" To: pcp@oss.sgi.com Cc: "Josef 'Jeff' Sipek" , nathans@debian.org X-ASG-Orig-Subj: [PATCH] Add the PowerDNS PMDA Subject: [PATCH] Add the PowerDNS PMDA Date: Thu, 23 Jul 2009 00:00:07 -0400 Message-Id: <1248321607-18043-1-git-send-email-jeffpc@josefsipek.net> X-Mailer: git-send-email 1.6.2.4 X-Barracuda-Connect: josefsipek.net[141.212.112.196] X-Barracuda-Start-Time: 1248321608 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4148 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Cc: nathans@debian.org Signed-off-by: Josef 'Jeff' Sipek --- src/pmdas/GNUmakefile | 2 +- src/pmdas/pdns/GNUmakefile | 53 +++++++++++++ src/pmdas/pdns/Install | 31 +++++++ src/pmdas/pdns/Remove | 29 +++++++ src/pmdas/pdns/pmdapdns.pl | 186 ++++++++++++++++++++++++++++++++++++++++++++ src/pmns/stdpmid.pcp | 1 + 6 files changed, 301 insertions(+), 1 deletions(-) create mode 100644 src/pmdas/pdns/GNUmakefile create mode 100755 src/pmdas/pdns/Install create mode 100755 src/pmdas/pdns/Remove create mode 100644 src/pmdas/pdns/pmdapdns.pl diff --git a/src/pmdas/GNUmakefile b/src/pmdas/GNUmakefile index f1b9fef..8230be9 100644 --- a/src/pmdas/GNUmakefile +++ b/src/pmdas/GNUmakefile @@ -22,7 +22,7 @@ SUBDIRS = pmcd linux solaris aix darwin windows \ lmsensors process roomtemp summary hotproc jstat \ dbping memcache systemtap mysql vmware kvm ib \ bonding cluster lustrecomm mmv netfilter zimbra \ - named + named pdns LDIRT = pmcd.conf diff --git a/src/pmdas/pdns/GNUmakefile b/src/pmdas/pdns/GNUmakefile new file mode 100644 index 0000000..eb85470 --- /dev/null +++ b/src/pmdas/pdns/GNUmakefile @@ -0,0 +1,53 @@ +#!gmake +# +# Copyright (c) 2009 Josef 'Jeff' Sipek +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +TOPDIR = ../../.. +include $(TOPDIR)/src/include/builddefs + +IAM = pdns +PMDADIR = $(PCP_PMDAS_DIR)/$(IAM) +LSRCFILES = Install Remove pmda$(IAM).pl +LDIRT = domain.h root pmns *.log $(MAN_PAGES) + +ifneq ($(POD2MAN),) +MAN_SECTION = 1 +MAN_PAGES = pmda$(IAM).$(MAN_SECTION) +MAN_DEST = $(PCP_MAN_DIR)/man$(MAN_SECTION) +endif + +default: $(MAN_PAGES) + +pmda$(IAM).1: pmda$(IAM).pl + $(POD_MAKERULE) + +include $(BUILDRULES) + +ifeq "$(TARGET_OS)" "linux" +install: default + $(INSTALL) -m 755 -d $(PMDADIR) + $(INSTALL) -m 755 Install Remove $(PMDADIR) + $(INSTALL) -m 644 pmda$(IAM).pl $(PMDADIR)/pmda$(IAM).pl + @$(INSTALL_MAN) +else +install: +endif + +default_pcp : default + +install_pcp : install diff --git a/src/pmdas/pdns/Install b/src/pmdas/pdns/Install new file mode 100755 index 0000000..e569c19 --- /dev/null +++ b/src/pmdas/pdns/Install @@ -0,0 +1,31 @@ +#! /bin/sh +# +# Copyright (c) 2009 Josef 'Jeff' Sipek +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Install the pdns PMDA +# + +. $PCP_DIR/etc/pcp.env +. $PCP_SHARE_DIR/lib/pmdaproc.sh + +iam=pdns +perl_opt=true +daemon_opt=false + +pmdaSetup +pmdaInstall +exit 0 diff --git a/src/pmdas/pdns/Remove b/src/pmdas/pdns/Remove new file mode 100755 index 0000000..ea99655 --- /dev/null +++ b/src/pmdas/pdns/Remove @@ -0,0 +1,29 @@ +#! /bin/sh +# +# Copyright (c) 2009 Josef 'Jeff' Sipek +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Remove the pdns PMDA +# + +. $PCP_DIR/etc/pcp.env +. $PCP_SHARE_DIR/lib/pmdaproc.sh + +iam=pdns + +pmdaSetup +pmdaRemove +exit 0 diff --git a/src/pmdas/pdns/pmdapdns.pl b/src/pmdas/pdns/pmdapdns.pl new file mode 100644 index 0000000..7b69d3b --- /dev/null +++ b/src/pmdas/pdns/pmdapdns.pl @@ -0,0 +1,186 @@ +# +# Copyright (c) 2009 Josef 'Jeff' Sipek +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# + +use strict; +use warnings; +use PCP::PMDA; +use Time::HiRes qw ( time ); + +use vars qw( $pmda ); +my $pdns_control = '/usr/bin/pdns_control'; + +my $cached = 0; +my %vals = (); + +sub pdns_fetch_callback +{ + my ($cluster, $item, $inst) = @_; + my $metric_name = pmda_pmid_name($cluster, $item); + my ($path, $value, $fh); + + my $now = time; + + # $pmda->log("pdns_fetch_callback $metric_name $cluster:$item ($inst)\n"); + + if ($inst != PM_IN_NULL) { return (PM_ERR_INST, 0); } + if (!defined($metric_name)) { return (PM_ERR_PMID, 0); } + + $metric_name =~ s/^pdns\.//; + + if ($now - $cached > 1.0) { + # $pmda->log("pdns_fetch_callback update now:$now cached:$cached\n"); + + open(PIPE, "$pdns_control list |") || return (PM_ERR_APPVERSION, 0); + $_ = ; + close PIPE; + + $_ =~ s/-/_/g; + $_ =~ s/,$//; + for my $kv (split(/,/, $_)) { + if ("$kv" eq "") { + last; + } + + my ($k, $v) = split(/=/, $kv); + $vals{$k} = $v; + } + + $cached = $now; + } + + if (!defined($vals{$metric_name})) { return (PM_ERR_APPVERSION, 0); } + return ($vals{$metric_name}, 1); +} + +$pmda = PCP::PMDA->new('pdns', 101); + +$pmda->add_metric(pmda_pmid(0,0), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.corrupt_packets", '', ''); +$pmda->add_metric(pmda_pmid(0,1), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.deferred_cache_inserts", '', ''); +$pmda->add_metric(pmda_pmid(0,2), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.deferred_cache_lookup", '', ''); +$pmda->add_metric(pmda_pmid(0,3), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT, + pmda_units(0,1,0,0,PM_TIME_USEC,0), + "pdns.latency", '', ''); +$pmda->add_metric(pmda_pmid(0,4), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.packetcache_hit", '', ''); +$pmda->add_metric(pmda_pmid(0,5), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.packetcache_miss", '', ''); +$pmda->add_metric(pmda_pmid(0,6), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.packetcache_size", '', ''); +$pmda->add_metric(pmda_pmid(0,7), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.qsize_q", '', ''); +$pmda->add_metric(pmda_pmid(0,8), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.query_cache_hit", '', ''); +$pmda->add_metric(pmda_pmid(0,9), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.query_cache_miss", '', ''); +$pmda->add_metric(pmda_pmid(0,10), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.recursing_answers", '', ''); +$pmda->add_metric(pmda_pmid(0,11), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.recursing_questions", '', ''); +$pmda->add_metric(pmda_pmid(0,12), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.servfail_packets", '', ''); +$pmda->add_metric(pmda_pmid(0,13), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.tcp_answers", '', ''); +$pmda->add_metric(pmda_pmid(0,14), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.tcp_queries", '', ''); +$pmda->add_metric(pmda_pmid(0,15), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.timedout_packets", '', ''); +$pmda->add_metric(pmda_pmid(0,16), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp_answers", '', ''); +$pmda->add_metric(pmda_pmid(0,17), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp_queries", '', ''); +$pmda->add_metric(pmda_pmid(0,18), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp4_answers", '', ''); +$pmda->add_metric(pmda_pmid(0,19), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp4_queries", '', ''); +$pmda->add_metric(pmda_pmid(0,20), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp6_answers", '', ''); +$pmda->add_metric(pmda_pmid(0,21), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, + pmda_units(0,0,1,0,0,PM_COUNT_ONE), + "pdns.udp6_queries", '', ''); + +$pmda->set_fetch_callback(\&pdns_fetch_callback); +$pmda->run; + +=pod + +=head1 NAME + +pmdapdns - PowerDNS performance metrics domain agent (PMDA) + +=head1 DESCRIPTION + +B is a Performance Metrics Domain Agent (PMDA) which exports +metric values from the PowerDNS daemon. + +=head1 INSTALLATION + +If you want access to the names and values for the PowerDNS performance +metrics, do the following as root: + + # cd $PCP_PMDAS_DIR/pdns + # ./Install + +If you want to undo the installation, do the following as root: + + # cd $PCP_PMDAS_DIR/pdns + # ./Remove + +B is launched by pmcd(1) and should never be executed +directly. The Install and Remove scripts notify pmcd(1) when +the agent is installed or removed. + +=head1 FILES + +=over + +=item $PCP_PMDAS_DIR/pdns/Install + +installation script for the B agent + +=item $PCP_PMDAS_DIR/pdns/Remove + +undo installation script for the B agent + +=item $PCP_LOG_DIR/pmcd/pdns.log + +default log file for error messages from B + +=back + +=head1 SEE ALSO + +pmcd(1) and pdns_control(8). diff --git a/src/pmns/stdpmid.pcp b/src/pmns/stdpmid.pcp index c50b86a..6f9a493 100644 --- a/src/pmns/stdpmid.pcp +++ b/src/pmns/stdpmid.pcp @@ -77,6 +77,7 @@ NETFILTER 97 ZIMBRA 98 UV 99 NAMED 100 +PDNS 101 ### NEXT FREE SLOT ### DBPING 244 COUNTD 245 -- 1.6.2.4 From nscott@aconex.com Wed Jul 22 23:52:44 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6N4qhqr030707 for ; Wed, 22 Jul 2009 23:52:43 -0500 X-ASG-Debug-ID: 1248324805-303303140000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 576D91B0DEEF for ; Wed, 22 Jul 2009 21:53:25 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id EGtqpoqClrnbS3Cf for ; Wed, 22 Jul 2009 21:53:25 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id C0D4B6F99DA; Thu, 23 Jul 2009 14:53:23 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id YQkuKIKm31dwCFZJ; Thu, 23 Jul 2009 14:53:23 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id AF968A5028B; Thu, 23 Jul 2009 14:52:44 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id AAB094FD85; Thu, 23 Jul 2009 14:53:23 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kpMMpOUF6AWG; Thu, 23 Jul 2009 14:53:20 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 062F54FD84; Thu, 23 Jul 2009 14:53:20 +1000 (EST) Date: Thu, 23 Jul 2009 14:53:19 +1000 (EST) From: Nathan Scott To: pcp Cc: jeffpc@josefsipek.net Message-ID: <1102402041.1010281248324799979.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates Subject: pcp updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1248324806 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4152 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean Changes committed to git://oss.sgi.com/nathans/pcp.git src/cpan/PMDA/PMDA.xs | 10 +- src/pmcd/src/config.c | 4 src/pmdas/GNUmakefile | 2 src/pmdas/mysql/pmdamysql.pl | 3 src/pmdas/pdns/GNUmakefile | 45 ++++++++++ src/pmdas/pdns/Install | 27 ++++++ src/pmdas/pdns/Remove | 25 +++++ src/pmdas/pdns/pmdapdns.pl | 186 +++++++++++++++++++++++++++++++++++++++++++ src/pmns/stdpmid.pcp | 1 10 files changed, 296 insertions(+), 9 deletions(-) commit 0b9600ede2f03f15d271ab812a703d0b606c4506 Author: Josef 'Jeff' Sipek Date: Thu Jul 23 14:49:30 2009 +1000 Add a new PMDA for the PowerDNS daemon (www.powerdns.com). commit df6f93cd1b2de0fc1e531cc568f4e53b73adf7e5 Author: Nathan Scott Date: Thu Jul 23 14:32:59 2009 +1000 Remove a duplicated metric from the MySQL PMDA. Problem reported by Josef Sipek, install of this PMDA now fails due to reworking of the pmns generation code, before this would have silently overwritten one metric with the other (122 won in our production environment so I've kept that) but now we check for this condition. commit 737b6904574678e174e5d8b969b91edce66c759a Author: Nathan Scott Date: Thu Jul 23 13:26:31 2009 +1000 Improve error reporting in pmcd on Windows. Should we be asked to open a UNIX domain socket channel to a PMDA on Windows, improve the message for easier diagnosis. commit c87287e790d4636e2abbd98f223daa0c67c644e8 Author: Nathan Scott Date: Thu Jul 23 13:25:11 2009 +1000 Improve error reporting in PCP::PMDA perl module. When failing to build the PMNS file, additional diagnostics would be helpful to pinpoint the source of the error. From nscott@aconex.com Fri Jul 24 00:59:44 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6O5xi8n110791 for ; Fri, 24 Jul 2009 00:59:44 -0500 X-ASG-Debug-ID: 1248415227-7770016b0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AA6D013E523E for ; Thu, 23 Jul 2009 23:00:27 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id d0LMhKmXMF96BwpA for ; Thu, 23 Jul 2009 23:00:27 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id 304081EDD6E for ; Fri, 24 Jul 2009 16:00:26 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id X6lppqGkiyXqwnrg for ; Fri, 24 Jul 2009 16:00:26 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 927E9A50133 for ; Fri, 24 Jul 2009 15:59:46 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 206E54FD86 for ; Fri, 24 Jul 2009 16:00:26 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ekQCiTfLW3Rq for ; Fri, 24 Jul 2009 16:00:22 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id D41FC4FD84 for ; Fri, 24 Jul 2009 16:00:21 +1000 (EST) Date: Fri, 24 Jul 2009 16:00:21 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <722640415.1074921248415221808.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp-gui updates Subject: pcp-gui updates MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1248415228 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4251 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcp-gui.git src/chart/chart.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit b30132df196aa0bb5b1368979786b49a1619e672 Author: Nathan Scott Date: Fri Jul 24 15:34:46 2009 +1000 Fix a longstanding chart alignment problem. This has annoyed me for AGES, finally found a minute to fix it. There was a wierd, permanent missing 5 pixels or so to both the left + right of the chart canvas... reclaim this space and correctly draw any plots that reside it. Hooray! From jeffpc@josefsipek.net Sun Jul 26 16:12:36 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6QLCXSq044755 for ; Sun, 26 Jul 2009 16:12:35 -0500 X-ASG-Debug-ID: 1248642798-2e6900350000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from josefsipek.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D86E113FC3DD for ; Sun, 26 Jul 2009 14:13:18 -0700 (PDT) Received: from josefsipek.net (josefsipek.net [141.212.112.196]) by cuda.sgi.com with ESMTP id UC1pBOHqVShKsGTd for ; Sun, 26 Jul 2009 14:13:18 -0700 (PDT) Received: by josefsipek.net (Postfix, from userid 1000) id E18A31C000F2; Sun, 26 Jul 2009 17:13:17 -0400 (EDT) From: "Josef 'Jeff' Sipek" To: pcp@oss.sgi.com Cc: "Josef 'Jeff' Sipek" , nathans@debian.org X-ASG-Orig-Subj: [PATCH] PowerDNS PMDA's packetcache_size and qsize_q are instant values, not counters Subject: [PATCH] PowerDNS PMDA's packetcache_size and qsize_q are instant values, not counters Date: Sun, 26 Jul 2009 17:13:17 -0400 Message-Id: <1248642797-6006-1-git-send-email-jeffpc@josefsipek.net> X-Mailer: git-send-email 1.6.2.4 X-Barracuda-Connect: josefsipek.net[141.212.112.196] X-Barracuda-Start-Time: 1248642798 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4499 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Cc: nathans@debian.org Signed-off-by: Josef 'Jeff' Sipek --- src/pmdas/pdns/pmdapdns.pl | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pmdas/pdns/pmdapdns.pl b/src/pmdas/pdns/pmdapdns.pl index 00a2a0b..3971b48 100644 --- a/src/pmdas/pdns/pmdapdns.pl +++ b/src/pmdas/pdns/pmdapdns.pl @@ -83,10 +83,10 @@ $pmda->add_metric(pmda_pmid(0,4), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, $pmda->add_metric(pmda_pmid(0,5), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, pmda_units(0,0,1,0,0,PM_COUNT_ONE), "pdns.packetcache_miss", '', ''); -$pmda->add_metric(pmda_pmid(0,6), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, +$pmda->add_metric(pmda_pmid(0,6), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE), "pdns.packetcache_size", '', ''); -$pmda->add_metric(pmda_pmid(0,7), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, +$pmda->add_metric(pmda_pmid(0,7), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE), "pdns.qsize_q", '', ''); $pmda->add_metric(pmda_pmid(0,8), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER, -- 1.6.2.4 From mgoodwin@redhat.com Mon Jul 27 01:30:54 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6R6Urjq076989 for ; Mon, 27 Jul 2009 01:30:54 -0500 X-ASG-Debug-ID: 1248676298-597901d80000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6D306387DD8 for ; Sun, 26 Jul 2009 23:31:38 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id A07tTPT4O9tYxGj9 for ; Sun, 26 Jul 2009 23:31:38 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6R6VbBg008681 for ; Mon, 27 Jul 2009 02:31:37 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6R6VaVJ020181 for ; Mon, 27 Jul 2009 02:31:37 -0400 Received: from [10.64.6.23] (vpn6-6-23.bne.redhat.com [10.64.6.23]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6R6VY1S013890 for ; Mon, 27 Jul 2009 02:31:35 -0400 Message-ID: <4A6D49C6.5090402@redhat.com> Date: Mon, 27 Jul 2009 16:31:34 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: pcp@oss.sgi.com X-ASG-Orig-Subj: [PATCH] provide pcp-devel and pcp-libs Subject: [PATCH] provide pcp-devel and pcp-libs Content-Type: multipart/mixed; boundary="------------040309060802010801070507" X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1248676299 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4537 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean This is a multi-part message in MIME format. --------------040309060802010801070507 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Make the pcp2.x RPM provide pcp-devel and pcp-libs This RPM packaging change makes it easier for dependent packages such as pcp-gui to transition to pcp-3.x, where we have split packaging: pcp, pcp-devel and pcp-libs. Signed-off-by: Mark Goodwin --- --------------040309060802010801070507 Content-Type: text/x-patch; name="provide_libs_devel.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="provide_libs_devel.patch" diff --git a/build/rpm/pcp.spec.in b/build/rpm/pcp.spec.in index a6de568..d5e03a4 100644 --- a/build/rpm/pcp.spec.in +++ b/build/rpm/pcp.spec.in @@ -57,6 +57,9 @@ Obsoletes: pcp <= @package_version@ Provides: pcp = @package_version@ %endif +Provides: pcp-libs = @package_version@ +Provides: pcp-devel = @package_version@ + Provides: libpcp.so.2 %ifarch ia64 x86_64 Provides: libpcp.so.2()(64bit) --------------040309060802010801070507-- From goodwinos@gmail.com Mon Jul 27 01:40:05 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6R6e4dg077452 for ; Mon, 27 Jul 2009 01:40:04 -0500 X-ASG-Debug-ID: 1248676849-5fe201e40000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E284B387FA9 for ; Sun, 26 Jul 2009 23:40:49 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id VGiOAe5f9I7A7m86 for ; Sun, 26 Jul 2009 23:40:49 -0700 (PDT) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6R6enjR011296 for ; Mon, 27 Jul 2009 02:40:49 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6R6emtX023225 for ; Mon, 27 Jul 2009 02:40:48 -0400 Received: from [10.64.6.23] (vpn6-6-23.bne.redhat.com [10.64.6.23]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6R6ekWX015337 for ; Mon, 27 Jul 2009 02:40:47 -0400 Message-ID: <4A6D4BEE.4070907@gmail.com> Date: Mon, 27 Jul 2009 16:40:46 +1000 From: Mark Goodwin User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: pcp@oss.sgi.com X-ASG-Orig-Subj: [PATCH] provide pcp-devel and pcp-libs Subject: [PATCH] provide pcp-devel and pcp-libs Content-Type: multipart/mixed; boundary="------------070404070906020600000508" X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1248676849 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0208 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4537 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean This is a multi-part message in MIME format. --------------070404070906020600000508 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Make the pcp2.x RPM provide pcp-devel and pcp-libs This RPM packaging change makes it easier for dependent packages such as pcp-gui to transition to pcp-3.x, where we have split packaging: pcp, pcp-devel and pcp-libs. Signed-off-by: Mark Goodwin --- --------------070404070906020600000508 Content-Type: text/x-patch; name="provide_libs_devel.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="provide_libs_devel.patch" diff --git a/build/rpm/pcp.spec.in b/build/rpm/pcp.spec.in index a6de568..d5e03a4 100644 --- a/build/rpm/pcp.spec.in +++ b/build/rpm/pcp.spec.in @@ -57,6 +57,9 @@ Obsoletes: pcp <= @package_version@ Provides: pcp = @package_version@ %endif +Provides: pcp-libs = @package_version@ +Provides: pcp-devel = @package_version@ + Provides: libpcp.so.2 %ifarch ia64 x86_64 Provides: libpcp.so.2()(64bit) --------------070404070906020600000508-- From nscott@aconex.com Mon Jul 27 05:10:16 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_73 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6RAAF1O088891 for ; Mon, 27 Jul 2009 05:10:16 -0500 X-ASG-Debug-ID: 1248689978-26ca01ef0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 903E110A9C69 for ; Mon, 27 Jul 2009 03:19:39 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id cxGhazf0uMg3wS7P for ; Mon, 27 Jul 2009 03:19:39 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id 414CC20D34E for ; Mon, 27 Jul 2009 20:10:58 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id xETIBir9zY8lzV6j for ; Mon, 27 Jul 2009 20:10:58 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id D281BA502B7 for ; Mon, 27 Jul 2009 20:10:16 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 107204FD84 for ; Mon, 27 Jul 2009 20:10:58 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4mUh1BdIjB01 for ; Mon, 27 Jul 2009 20:10:54 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 4F20C4FD82 for ; Mon, 27 Jul 2009 20:10:54 +1000 (EST) Date: Mon, 27 Jul 2009 20:10:54 +1000 (EST) From: Nathan Scott To: pcp Message-ID: <1086134931.1177101248689454241.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp updates (2.9.0) Subject: pcp updates (2.9.0) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [211.28.150.226] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - SAF3 (Mac)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1248689980 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4552 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcp.git CHANGELOG | 10 ++ VERSION.pcp | 4 - build/rpm/pcp.spec.in | 3 debian/changelog | 7 + debian/control | 66 +++++++++--------- src/libpcp_pmda/src/open.c | 1 src/pmcd/src/config.c | 159 +++++++++++++++++++++++++++++++++++---------- src/pmdas/pdns/pmdapdns.pl | 8 +- src/pmlogger/pmlogger.c | 3 9 files changed, 185 insertions(+), 76 deletions(-) commit f2866c9e1bf8c9a70213ed4cd859d437b9af6bad Author: Nathan Scott Date: Mon Jul 27 19:59:39 2009 +1000 Bump version to 2.9.0. commit d3f630a269c73017407b46713bb75b91a7516475 Author: Nathan Scott Date: Mon Jul 27 19:57:22 2009 +1000 Tweak Debian perl packaging with explicit dependencies, resolving build warnings. commit e69333488d42d8b3b1a8f35ea1f9ea3b2f12ad35 Author: Mark Goodwin Date: Mon Jul 27 19:56:41 2009 +1000 Make the pcp2.x RPM provide pcp-devel and pcp-libs This RPM packaging change makes it easier for dependent packages such as pcp-gui to transition to pcp-3.x, where we have split packaging: pcp, pcp-devel and pcp-libs. commit 3687851ac4ee2ccc1810b25fccb31c9935427cdf Author: Nathan Scott Date: Mon Jul 27 15:23:21 2009 +1000 Split apart the POSIX and Win32 daemon PMDA code in pmcd. No longer use a wrapper for the Win32 implementation either, which allows us to have finer control over opened/closed file descriptors and gives us a better shot at pipe agents (still not functional due to fd inheritance, I think) and also keeps track of the child PIDs. commit ee52cf1d530317ed290e07bf3dc964b362e3ca5c Author: Nathan Scott Date: Mon Jul 27 14:07:54 2009 +1000 When starting a PMDA in socket mode, we must mark the file descriptor as such. In order for socket communication to function on Windows, socket fd's must be flagged (and hence distinct from pipes, so we know whether to write/send there). This gets socket-based daemon PMDAs to startup correctly under Win32 conditions. commit bd5862657c7f532369ea6e760a06a0aa9f81f74f Author: Nathan Scott Date: Mon Jul 27 14:04:17 2009 +1000 Fix a typo in a comment in pmcd code. commit eb409a0cb7c638a42e2546d7f6e67ac1aa0ac66c Author: Josef 'Jeff' Sipek Date: Mon Jul 27 08:45:50 2009 +1000 PowerDNS PMDA's packetcache_size and qsize_q are instant values, not counters commit c8728d91900e220159bc925084cb3a862a4a5d26 Author: Nathan Scott Date: Mon Jul 27 08:44:21 2009 +1000 Update pmlogger -x message - kill is now (cross-platform) pmsignal. commit 47a82efaefdc26f37ce62df6d736092b96c2ae61 Author: Nathan Scott Date: Thu Jul 23 15:18:20 2009 +1000 Tweak deb package long descriptions for bug 537563. From wwwrun@oss.sgi.com Thu Jul 30 21:48:38 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, J_CHICKENPOX_63 autolearn=no version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6V2mcWu118932 for ; Thu, 30 Jul 2009 21:48:38 -0500 Received: (from wwwrun@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n6V2mcrR118931; Thu, 30 Jul 2009 21:48:38 -0500 Date: Thu, 30 Jul 2009 21:48:38 -0500 Message-Id: <200907310248.n6V2mcrR118931@oss.sgi.com> From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 843] Confused state of AutoScale and Min/Max fields X-Bugzilla-Reason: CC X-Bugzilla-Type: newchanged X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp-glider X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: nathans@debian.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: nathans@debian.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status Resolution In-Reply-To: References: Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 http://oss.sgi.com/bugzilla/show_bug.cgi?id=843 Nathan Scott changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Nathan Scott 2009-07-30 21:48:34 CST --- This is fixed in my local tree, will be released in pcp-gui-1.4.4 which will be included in pcp-glider-0.9.0. -- Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. From nscott@aconex.com Thu Jul 30 23:49:53 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6V4nqBL126859 for ; Thu, 30 Jul 2009 23:49:52 -0500 X-ASG-Debug-ID: 1249015838-7f2c015d0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 445F4142EE84 for ; Thu, 30 Jul 2009 21:50:38 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id LI0IA7NBkb7NX3Hn for ; Thu, 30 Jul 2009 21:50:38 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id A8C5D2330CA for ; Fri, 31 Jul 2009 14:50:36 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id HZe30iD1Sq7hvbHE for ; Fri, 31 Jul 2009 14:50:36 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 4FD99A502B6 for ; Fri, 31 Jul 2009 14:49:53 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id 81A2F4FD84 for ; Fri, 31 Jul 2009 14:50:36 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Me0c+i6qzUI2 for ; Fri, 31 Jul 2009 14:50:32 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 746E64FD86 for ; Fri, 31 Jul 2009 14:50:32 +1000 (EST) Date: Fri, 31 Jul 2009 14:50:32 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <1675242255.1398771249015832347.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: pcp-gui updates (1.4.4) Subject: pcp-gui updates (1.4.4) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1249015840 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4861 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean Changes committed to git://oss.sgi.com/pcp/pcp-gui.git VERSION | 2 debian/changelog | 6 + debian/control | 2 debian/rules | 1 doc/CHANGES | 11 +++ src/chart/chart.cpp | 22 +++++- src/chart/chart.h | 3 src/chart/chartdialog.cpp | 156 +++++++++++++++++++++++++++++++++++----------- src/chart/chartdialog.h | 11 ++- src/chart/chartdialog.ui | 86 +++++++++++++++++++++++++ src/chart/pmchart.cpp | 54 +++++---------- src/chart/pmchart.h | 2 12 files changed, 277 insertions(+), 79 deletions(-) commit f017ad6cfc862e644f91a4a932ced750a7ded74a Author: Nathan Scott Date: Fri Jul 31 14:40:22 2009 +1000 Bump stable pcp-gui version to 1.4.4 commit de3a291e2d5dd8b5a43e56389233d7876f76a93f Author: Nathan Scott Date: Fri Jul 31 14:38:10 2009 +1000 Update debian packaging - standard version, and remove deprecated call to dh_desktop. commit 9bbbc0f0623aaa28869ad9373236bd6370111be8 Author: Nathan Scott Date: Fri Jul 31 14:22:13 2009 +1000 Further win32 default font tweakery commit 8dc244dc45802ba4335c9fd6d0e32ddb147d5465 Author: Nathan Scott Date: Fri Jul 31 12:55:57 2009 +1000 Resolve state transition problems in the Edit Chart dialog. Addresses bugzilla bug 843 - "New: Confused state of AutoScale and Min/Max fields". Rework the dialog reset() logic, keeping all UI setup logic together in one place, and splitting up the New/Edit functionality to make it clearer which is being done. commit 538d0ef75b23b843a87fda2067b848963395a3dd Author: Nathan Scott Date: Fri Jul 31 08:20:41 2009 +1000 Add an "Apply" button to Create/Edit chart dialogs. This allows quicker creation of multiple charts, saving time on the intermediate steps of calling up the dialog multiple times for each new chart. Editing is also improved as the user gets immediate feedback to the effect of each change. Secondly, added a UI element allowing New charts to be non- rate-converted, as requested by Paul Smith. Thirdly. tweaked default font size on Windows - now we use the same as Mac OS X there, which is slightly larger than is used on Linux. Fourthly, fixed a bug where pressing OK on New Chart with no selected metrics would popup an error, but continue creating an (empty) new chart anyway. These changes all overlap, unfortuately, so no single commit. Finally, add some diagnostics to try figure out why resizing goes so quickly past the screen height on Mac OS X (but not on Linux/X11 - oddly). From nscott@aconex.com Fri Jul 31 18:16:43 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SUBJ_FORWARDED autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6VNGhFe179062 for ; Fri, 31 Jul 2009 18:16:43 -0500 X-ASG-Debug-ID: 1249082249-3cfc00cd0000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D4F3D143D6D0 for ; Fri, 31 Jul 2009 16:17:30 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id 9dOoaOMqq2X3BVSg for ; Fri, 31 Jul 2009 16:17:30 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id EC998705763 for ; Sat, 1 Aug 2009 09:17:28 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id 0EEVhIbPdF1NkQA6 for ; Sat, 01 Aug 2009 09:17:28 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 50B48A50123 for ; Sat, 1 Aug 2009 09:16:45 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id DC1A54FD84 for ; Sat, 1 Aug 2009 09:17:28 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tv8hqZBRcxoy for ; Sat, 1 Aug 2009 09:17:24 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id D0F1B4FD82 for ; Sat, 1 Aug 2009 09:17:24 +1000 (EST) Date: Sat, 1 Aug 2009 09:17:24 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <1012702600.1523821249082244817.JavaMail.root@mail-au.aconex.com> In-Reply-To: <1859821252.1177771248697233915.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: Fwd: PCP 2.9.0 is available Subject: Fwd: PCP 2.9.0 is available MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [211.28.150.226] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - SAF3 (Mac)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1249082251 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4931 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Looks like pcp-announce is not forwarding to the pcp list yet, so forwarding on a couple of release announcements... ----- Forwarded Message ----- From: "Nathan Scott" To: pcp-announce@oss.sgi.com Sent: Monday, July 27, 2009 10:20:33 PM GMT +10:00 Canberra / Melbourne / Sydney Subject: PCP 2.9.0 is available Hi all, PCP 2.9.0 has been released in source and binary forms, and is available for download now from http://oss.sgi.com/projects/pcp pcp-2.9.0 (27 July 2009) - Fix Linux PMDA issue with -fstack-protector gcc option. - Get socket daemon PMDAs working with Win32 pmcd. - Bind 9.4 PMDA. - PowerDNS PMDA. - Fix atexit handling in the Perl PMDA module. - Fix a duplicate PMID in the MySQL PMDA. - Infiniband PMDA improvements and man page. - Minor packaging tweaks for rpm and deb formats. Special thanks to Rodney McKee and Josef 'Jeff' Sipek for their efforts towards new DNS PMDAs! An updated version of the PCP GUI package is expected later this week, and the PCP Glider Windows distribution will be rolled up with both sets of changes shortly thereafter. Enjoy! -- Nathan -- Nathan From nscott@aconex.com Fri Jul 31 18:17:21 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SUBJ_FORWARDED autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n6VNHLFC179106 for ; Fri, 31 Jul 2009 18:17:21 -0500 X-ASG-Debug-ID: 1249082288-0c6602160000-S8gJnT X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C9B83143D7D2 for ; Fri, 31 Jul 2009 16:18:09 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id eEFAeWdaWc97QmUg for ; Fri, 31 Jul 2009 16:18:09 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam & Virus Firewall) with ESMTP id BB0BE705767 for ; Sat, 1 Aug 2009 09:18:07 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id LHbPKBukkjPcV95c for ; Sat, 01 Aug 2009 09:18:07 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 203D8A50123 for ; Sat, 1 Aug 2009 09:17:24 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id B62544FD84 for ; Sat, 1 Aug 2009 09:18:07 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uXXctaivN-3q for ; Sat, 1 Aug 2009 09:18:03 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id B03284FD82 for ; Sat, 1 Aug 2009 09:18:03 +1000 (EST) Date: Sat, 1 Aug 2009 09:18:03 +1000 (EST) From: Nathan Scott To: pcp@oss.sgi.com Message-ID: <154192671.1523851249082283679.JavaMail.root@mail-au.aconex.com> In-Reply-To: <918929788.1514521249024251633.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: Fwd: [pcp-announce] PCP GUI 1.4.4 and PCP Glider 0.9.0 released Subject: Fwd: [pcp-announce] PCP GUI 1.4.4 and PCP Glider 0.9.0 released MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [211.28.150.226] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - SAF3 (Mac)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1249082289 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.4931 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Looks like pcp-announce is not forwarding to the pcp list yet, so forwarding on a couple of release announcements... ----- Forwarded Message ----- From: "Nathan Scott" To: pcp-announce@oss.sgi.com Sent: Friday, July 31, 2009 5:10:51 PM GMT +10:00 Canberra / Melbourne / Sydney Subject: [pcp-announce] PCP GUI 1.4.4 and PCP Glider 0.9.0 released Hi all, New versions of PCP GUI (1.4.4) and PCP Glider (0.9.0) are now available for download now from http://oss.sgi.com/projects/pcp pcp-gui 1.4.4 (31 July 2009) - Fix bug 843 - Confused state of AutoScale and Min/Max fields. - Add an "Apply" button to Create/Edit chart dialogs. - Allow New charts to be non-rate-converted. - Tweaked default font size on Windows - Fixed a bug where pressing OK on New Chart with no selected metrics would popup an error, but continue creating an (empty) new chart anyway. - Fix a longstanding chart alignment problem. - Fix bad right-to-left layout in preferences dialog fields. pcp-glider-0.9.0.exe contains both pcp-gui-1.4.4 and pcp-2.9.0 from earlier this week. cheers. -- Nathan _______________________________________________ pcp-announce mailing list pcp-announce@oss.sgi.com http://oss.sgi.com/mailman/listinfo/pcp-announce -- Nathan