From lberk@redhat.com Sat Nov 1 12:02:36 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 922037F54
for ; Sat, 1 Nov 2014 12:02:36 -0500 (CDT)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id 80BF3304032
for ; Sat, 1 Nov 2014 10:02:33 -0700 (PDT)
X-ASG-Debug-ID: 1414861351-04cb6c2efc4ae3a0001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id URqHEqhBy5qW8MCP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 01 Nov 2014 10:02:32 -0700 (PDT)
X-Barracuda-Envelope-From: lberk@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA1H2Vu7026563
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Sat, 1 Nov 2014 13:02:31 -0400
Received: from toium (vpn-59-179.rdu2.redhat.com [10.10.59.179])
by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA1H2SlQ011264
(version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO)
for ; Sat, 1 Nov 2014 13:02:30 -0400
From: Lukas Berk
To: pcp@oss.sgi.com
Subject: PCP Presentation at FSOSS
Date: Sat, 01 Nov 2014 13:02:28 -0400
X-ASG-Orig-Subj: PCP Presentation at FSOSS
Message-ID: <87ppd6ua57.fsf@redhat.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1414861352
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hey,
Last week a colleague and I presented at Toronto's Free Software and
Open Source Symposium (FSOSS) about PCP. I've posted the slide deck if
anybody wants to take a look[1]. The overall 'message' of the talk was
to show how PCP is very flexible in the data it can assimilate and
how it presents data to the user. This was also demonstrated by using
several recent/current developments and how they fit in, conceptually,
with PCP. My hope is that the talk illustrated how the attendees could
solve their performance issues using the facilities PCP provides.
Cheers,
Lukas
[1] - http://fedorapeople.org/~lberk/fsoss-2014.odp
From kenj@internode.on.net Sat Nov 1 15:11:44 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 337E47F54
for ; Sat, 1 Nov 2014 15:11:44 -0500 (CDT)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay1.corp.sgi.com (Postfix) with ESMTP id 219408F8037
for ; Sat, 1 Nov 2014 13:11:40 -0700 (PDT)
X-ASG-Debug-ID: 1414872695-04cbb070c85054d0001-S8gJnT
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id JYE26CeFr5wYIMwo for ; Sat, 01 Nov 2014 13:11:35 -0700 (PDT)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.143
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuQJAOw9VVR5LGvJPGdsb2JhbABcgw6BLII20lIEAgKBFRcBAQEBAQYBAQEBODuEAgEBAQQIAh4SHCMMAQMCBgMRBAEBKAcZIAoDCQgCBBMLBYgwyTIBAQEHAQEBAQEdkRAHBoRFBZIaYKVjKS+CSwEBAQ
Received: from ppp121-44-107-201.lns20.syd6.internode.on.net (HELO bozohorize) ([121.44.107.201])
by ipmail05.adl6.internode.on.net with ESMTP; 02 Nov 2014 06:41:18 +1030
From: "Ken McDonell"
To: "'Frank Ch. Eigler'"
Cc: "'pcp developers'"
References: <20141031201304.GE1913@redhat.com> <002c01cff56c$6febc830$4fc35890$@internode.on.net> <20141101010427.GF1913@redhat.com>
In-Reply-To: <20141101010427.GF1913@redhat.com>
Subject: RE: [pcp] qa/518 tweaks on pcpfans.git fche/dev
Date: Sun, 2 Nov 2014 07:11:15 +1100
X-ASG-Orig-Subj: RE: [pcp] qa/518 tweaks on pcpfans.git fche/dev
Message-ID: <001701cff60f$ff53d460$fdfb7d20$@internode.on.net>
MIME-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQIWIQMIOeKcOGylRqOgmw6wi16M5QIkql93Aj2/Pb+bnMRKEA==
Content-Language: en-au
X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143]
X-Barracuda-Start-Time: 1414872695
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.01
X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, THREAD_INDEX
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11123
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
G'day Frank.
I've had another look at this test.
1. I think the non-determinism Frank observes can be handled in a different
way that does not make the test run for longer ... in other places the test
is correct if we get the expected outcome for N or N-1 or N+1 iterations.
I'll explore this and work with Frank (off the list, as no one else probably
cares and Frank has the environment in which the test was failing).
2. I am not sure why the kill's are there at all (thanks for pointing out
the extra one that I was not expecting) ... seems to me we can do a better
job of filtering the output to ignore the other pmie instances (there is one
block of output from pcp -P per pmie instance). I'll take a look at this.
3. Frank's observations about pmie and signals is a bit concerning, although
I see evidence of "try TERM and if that does not work try KILL and repeat
until successful or timeout" in the pmie init script, so perhaps this is a
long standing problem that has been masked by hackery. pmie does have a
TERM signal handler and a delayed exit but only after the nanosleep() ... so
if we are blocked somewhere else, or don't abandon expression evaluation
completely when an I/O returns with EINTR then we could be off in the weeds
long enough for some script to believe pmie has not died.
Any insight into 3. would be helpful.
> -----Original Message-----
> From: Frank Ch. Eigler [mailto:fche@redhat.com]
> Sent: Saturday, 1 November 2014 12:04 PM
> To: Ken McDonell
> Cc: 'pcp developers'
> Subject: Re: [pcp] qa/518 tweaks on pcpfans.git fche/dev
>
> ...
> I'll try to trace it with something like systemtap. (Even with pmmgr I
> encountered cases where a single SIGTERM sent to pmie was blocked/ignored,
> so sudo is probably not a necessary component of the
> problem.)
From fche@redhat.com Sun Nov 2 09:48:47 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id CD7067F56
for ; Sun, 2 Nov 2014 09:48:47 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id 5ABD7AC001
for ; Sun, 2 Nov 2014 07:48:44 -0800 (PST)
X-ASG-Debug-ID: 1414943319-04cb6c2efa4cc580001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id n3WY9DLjUECL4Dai (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 02 Nov 2014 07:48:40 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA2FmZE2030403
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Sun, 2 Nov 2014 10:48:35 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA2FmZHD030329;
Sun, 2 Nov 2014 10:48:35 -0500
Received: by fche.csb (Postfix, from userid 2569)
id 853FC58186; Sun, 2 Nov 2014 10:48:34 -0500 (EST)
To: Dave Brolley
Cc: Ken McDonell ,
"'PCP Mailing List'"
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com>
<007e01cfe010$7867f090$6937d1b0$@internode.on.net>
<545110DC.2020104@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
From: fche@redhat.com (Frank Ch. Eigler)
Date: Sun, 02 Nov 2014 10:48:34 -0500
In-Reply-To: <545110DC.2020104@redhat.com> (Dave Brolley's message of "Wed, 29 Oct 2014 12:07:56 -0400")
Message-ID:
User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1414943320
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
kenj wrote:
> [...] One simple solution that might be acceptable for 95% of the
> cases would be to rule all of the metadata data differences (except
> instance domains) to be unsupported. [...]
It'd be interesting to assess how many actual libraries of archives
would meet or fail this test. Identical "pmdumplog -d"?
A set of outputs from an constantly-configured configured pmlogger may
pass OR fail, depending on whether the pmlogger ran long enough to
sample the entire set of metrics at least once. (An early SIGTERM
might let only the "log once" metrics show up in the .meta file.) Or
the order of first-appearance between metrics might be different. Or
pmcd might have had a version update, and hinv.*.online metrics may
have appeared from one day to the next.
- FChE
From kenj@internode.on.net Sun Nov 2 13:56:29 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id B79637F56
for ; Sun, 2 Nov 2014 13:56:29 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id A5820304039
for ; Sun, 2 Nov 2014 11:56:26 -0800 (PST)
X-ASG-Debug-ID: 1414958180-04cb6c2ef94d15c0001-S8gJnT
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id fGkvCeV8D6Ke6uZH for ; Sun, 02 Nov 2014 11:56:21 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: As4IACyLVlR5LCL3/2dsb2JhbABcgw6BLII20igEAgKBERcBAQEBAX2EAgEBAQQIAh4SHBgGBQwBAwIGAxEEAQEoBxkgDQkIAgQBEgsFiDDJAwEBAQEBBQEBAQEekC4QAgFPBwaERQWSGmChV4QMKS+CSwEBAQ
Received: from ppp121-44-34-247.lns20.syd6.internode.on.net (HELO bozohorize) ([121.44.34.247])
by ipmail07.adl2.internode.on.net with ESMTP; 03 Nov 2014 06:26:18 +1030
From: "Ken McDonell"
To: "'Frank Ch. Eigler'" ,
"'Dave Brolley'"
Cc: "'PCP Mailing List'"
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com>
In-Reply-To:
Subject: RE: Multi-Volume Archive + Live Data Playback for PCP Client Tools
Date: Mon, 3 Nov 2014 06:55:58 +1100
X-ASG-Orig-Subj: RE: Multi-Volume Archive + Live Data Playback for PCP Client Tools
Message-ID: <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net>
MIME-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQHclF1cpR2XxHkXIjv6In84hym83AHe7s6aAjYqx4MCSZJtG5wBjM5g
Content-Language: en-au
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1414958180
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.01
X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, THREAD_INDEX
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11163
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
I should have been clearer in my earlier email ... any metrics that are only
in one archive will always be OK ... by "metadata differences" I mean a
metric that appears in more than one archive and has some difference in the
pmDesc data that describes that metric or the associated PMNS fragment that
maps a name to a PMID ... this means
- name
- PMID
- type
- indom (identifier of the instance domain)
- semantics
- units
The name to PMID and PMID to name(s) mapping we could handle (I owe Dave a
response to his email asking questions about this).
type differences we could handle, but I don't think it is worth the effort
and there are some combinations that cannot preserve precision.
indom and semantics differences are probably impossible to reconcile.
We could do units, but it is probably not worth the effort at this stage.
Different metadata between archives is sort of expected, as the examples in
Frank's mail illustrate.
I was referring to differences in metadata for the same metric.
In this context, my original brave assertion about this being OK most of the
time still stands, I believe.
> -----Original Message-----
> From: Frank Ch. Eigler [mailto:fche@redhat.com]
> Sent: Monday, 3 November 2014 2:49 AM
> To: Dave Brolley
> Cc: Ken McDonell; 'PCP Mailing List'
> Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client
Tools
>
> ...
> It'd be interesting to assess how many actual libraries of archives would
meet
> or fail this test. Identical "pmdumplog -d"?
> ...
From brolley@redhat.com Mon Nov 3 08:20:06 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 1CCDF7F47
for ; Mon, 3 Nov 2014 08:20:06 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id EF958304032
for ; Mon, 3 Nov 2014 06:20:02 -0800 (PST)
X-ASG-Debug-ID: 1415024398-04cbb070c75451f0001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 36yhkM5tSQKiNWCH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 06:19:59 -0800 (PST)
X-Barracuda-Envelope-From: brolley@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA3EJstA026126
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 3 Nov 2014 09:19:54 -0500
Received: from [10.10.59.254] (vpn-59-254.rdu2.redhat.com [10.10.59.254])
by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA3EJqpI003822;
Mon, 3 Nov 2014 09:19:53 -0500
Message-ID: <54578F87.9000108@redhat.com>
Date: Mon, 03 Nov 2014 09:21:59 -0500
From: Dave Brolley
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: Ken McDonell ,
"'Frank Ch. Eigler'"
CC: "'PCP Mailing List'"
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
In-Reply-To: <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415024398
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
On 11/02/2014 02:55 PM, Ken McDonell wrote:
> I should have been clearer in my earlier email ... any metrics that are only
> in one archive will always be OK ... by "metadata differences" I mean a
> metric that appears in more than one archive and has some difference in the
> pmDesc data that describes that metric or the associated PMNS fragment that
> maps a name to a PMID ... this means
> - name
> - PMID
> - type
> - indom (identifier of the instance domain)
> - semantics
> - units
>
> The name to PMID and PMID to name(s) mapping we could handle (I owe Dave a
> response to his email asking questions about this).
>
> type differences we could handle, but I don't think it is worth the effort
> and there are some combinations that cannot preserve precision.
>
> indom and semantics differences are probably impossible to reconcile.
>
> We could do units, but it is probably not worth the effort at this stage.
>
> Different metadata between archives is sort of expected, as the examples in
> Frank's mail illustrate.
>
> I was referring to differences in metadata for the same metric.
>
> In this context, my original brave assertion about this being OK most of the
> time still stands, I believe.
>
Thanks Ken. This is essentially how I understood things.
Dave
From fche@redhat.com Mon Nov 3 08:26:47 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id C6C397F47
for ; Mon, 3 Nov 2014 08:26:47 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id B315C304039
for ; Mon, 3 Nov 2014 06:26:47 -0800 (PST)
X-ASG-Debug-ID: 1415024806-04cb6c2ef94f0980001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id LV8irEiIo2t91HTJ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 06:26:46 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA3EQi6L012417
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 3 Nov 2014 09:26:44 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA3EQhXA025199;
Mon, 3 Nov 2014 09:26:43 -0500
Received: by fche.csb (Postfix, from userid 2569)
id 398A958186; Mon, 3 Nov 2014 09:26:43 -0500 (EST)
Date: Mon, 3 Nov 2014 09:26:43 -0500
From: "Frank Ch. Eigler"
To: Ken McDonell
Cc: "'Dave Brolley'" ,
"'PCP Mailing List'"
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
Message-ID: <20141103142643.GA3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net>
User-Agent: Mutt/1.4.2.2i
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415024806
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi, Ken -
> [...] by "metadata differences" I mean a metric that appears in more
> than one archive and has some difference in the pmDesc data that
> describes that metric or the associated PMNS fragment that maps a
> name to a PMID ... this means - name [...]
One glitch with that could be PMDAs whose PMNS is dynamic from run to
run (like the papi pmda, which is almost able to be used as a logged
data source). The name-to-PMID mapping may vary there (as new PAPI
versions come, or host CPU changes, new counters(=metrics) may appear
in some odd sequence, so get scrambled PMIDs), but the name & pmDesc
(semantics etc.) would remain the same and previous values comparable.
I don't know how pervasive this situation would be, but if it's not
too hard to support, we should. (e.g., we could track metrics across
archives by name rather than pmid.)
- FChE
From fche@redhat.com Mon Nov 3 15:07:52 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 87F377F56
for ; Mon, 3 Nov 2014 15:07:52 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 66934304051
for ; Mon, 3 Nov 2014 13:07:49 -0800 (PST)
X-ASG-Debug-ID: 1415048868-04bdf038cf61fb40001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id fgAhBhEu11s0w8FZ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 13:07:48 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA3L7lai002945
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Mon, 3 Nov 2014 16:07:48 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA3L7lWQ006894
for ; Mon, 3 Nov 2014 16:07:47 -0500
Received: by fche.csb (Postfix, from userid 2569)
id 2CFC858186; Mon, 3 Nov 2014 16:07:47 -0500 (EST)
Date: Mon, 3 Nov 2014 16:07:47 -0500
From: "Frank Ch. Eigler"
To: pcp developers
Subject: RFC: papi pmda auto-enable on fetch
Message-ID: <20141103210747.GB3859@redhat.com>
X-ASG-Orig-Subj: RFC: papi pmda auto-enable on fetch
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.2.2i
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415048868
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi -
Please have a look over pcpfans.git fche/papi. If it looks generally
acceptable, I'm ready to assist lberk in QA'ing the heck out of it.
commit 3f7223221fc313441079be7c8c41c3d14a322247
Author: Frank Ch. Eigler
Date: Mon Nov 3 15:55:41 2014 -0500
papi pmda: add counter auto-enable on fetch
By reinterpreting the papi_info[].metric_enabled as a timestamp rather
than a boolean, and a small bit of logic, we get automatic enablement
of PAPI metric/counters upon pmfetch. This allows PAPI metrics to be
used with plain old pmlogger, pmval, etc., without necessary manual
pmstore's. Counters are retired based on a timeout mechanism,
assisted by pmaf(3). The papi.control.status metric is enhanced to
show the remaining lifespan of the counters, and to make it more safe
& reliable.
A new papi.control.auto_enable metric is available to set the timeout
(default 120 seconds). The Install script runs a papi.control.reset
operation to avoid leaving the counters running for even that long
after the post-install metric/value checks.
The previous pmstore mechanism is left in place unchanged, and
overrides the automatic scheme.
From kenj@internode.on.net Mon Nov 3 15:47:14 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 497187F57
for ; Mon, 3 Nov 2014 15:47:14 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay3.corp.sgi.com (Postfix) with ESMTP id BD011AC002
for ; Mon, 3 Nov 2014 13:47:13 -0800 (PST)
X-ASG-Debug-ID: 1415051227-04cbb070c8576a30001-S8gJnT
Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id M3h9ZLdY5URBCSxi for ; Mon, 03 Nov 2014 13:47:08 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.129
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AsQBAIT2V1R20SpqPGdsb2JhbAANT4t3ywuDIAKBPAEBAQEBBgEBAQE4hD4BAQQnETwEARALGAkWDwkDAgECATEUBg0BBwEBvR6VKwEBAQEBAQEDAQEBAQEBARuQPwEBTweESwEEmSyfMYFngTwBAQE
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail06.adl2.internode.on.net with ESMTP; 04 Nov 2014 08:17:06 +1030
Message-ID: <5457F82D.3050307@internode.on.net>
Date: Tue, 04 Nov 2014 08:48:29 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: "Frank Ch. Eigler"
CC: 'Dave Brolley' ,
'PCP Mailing List'
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net> <20141103142643.GA3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
In-Reply-To: <20141103142643.GA3859@redhat.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129]
X-Barracuda-Start-Time: 1415051227
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11204
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
On 04/11/14 01:26, Frank Ch. Eigler wrote:
> ...
> One glitch with that could be PMDAs whose PMNS is dynamic from run to
> run (like the papi pmda, which is almost able to be used as a logged
> data source). The name-to-PMID mapping may vary there (as new PAPI
> versions come, or host CPU changes, new counters(=metrics) may appear
> in some odd sequence, so get scrambled PMIDs), but the name & pmDesc
> (semantics etc.) would remain the same and previous values comparable.
>
> I don't know how pervasive this situation would be, but if it's not
> too hard to support, we should. (e.g., we could track metrics across
> archives by name rather than pmid.)
This is not pervasive at all ... this is the only PMDA I am aware of
that behaves like this.
And I think I would be lobbying for the PMDA to be different, not the
archive handling to be different.
There are already services available to a PMDA that allow the instance
domain mapping (name <--> id) to be consistent across PMDA restarts. It
would only be a small perversion of the pmdaCache* routine usage to
allow the papi pmda to maintain a consistent and persistent metric name
to low-order bits of the PMID mapping.
Note this does not need to be consistent between hosts, just consistent
for a single host across repeated PMDA invocations (and possible changes
in version and configuration of the PMDA).
Returning to the multi-archive work that triggered all of this, where
there is a contradiction in the name <---> PMID mapping between
archives, we have several cases and options:
Case 1
Multiple names map to the same PMID.
Options:
1a. Assume this is same metric and the PMID is correct, add both names
to the PMNS (the data structure and libpcp routines support this, so for
example, given the PMID pmNameAll() will return all the corresponding
names). No rewriting of pmDesc or pmResult data structures is required.
1b. Assume these are different metrics. Invent a new (and unique) PMID
for the subsequent ones, add all the names and their unique PMIDs to the
PMNS. Synthesize a new pmDesc for each metric that gets an invented
PMID. Rewrite pmResult data structures to map from the old PMID to an
invented PMID, but in the context of the archive in which the name was
mapped (need to choose the PMID based on which archive the pmResult came
from).
Case 2
Multiple PMIDs map to the same name.
Options:
2a. Assume these are the same metric. Pick one PMID (probably the first
one encountered ... Dave this is the "first" one is the winner part I
was cryptically referring to in the earlier mail) and add mappings from
all the names to the same PMID into the PMNS. There is only one pmDesc
as a result, and in each pmResult any of the loser PMIDs need to be
mapped to the winner PMID.
2b. Assume these are different metrics. Invent a new (and unique) name
for the subsequent ones, add all the names and their associated PMIDs to
the PMNS. No rewriting on pmDesc of pmResult data structures is required.
Case 3
N:M mapping between PMIDs and names.
Forget it, don't even thing about this one.
I was suggesting that initially none of this is supported, i.e. the name
<--> PMID mapping was consistent across all archives in the set (Stage 0).
Then options 1a and 2b might be suitable for a Stage 1.
And Stage 2 might add support for all 4 options above (Frank's
suggestion is 1b I think).
Note that all of the options above can be supported OUTSIDE libpcp today
using (admittedly manual) pmlogrewrite step on one or more archives to
remove the inconsistencies before the archive set is processed as a unit.
From fche@redhat.com Mon Nov 3 15:58:35 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 4F9487F5A
for ; Mon, 3 Nov 2014 15:58:35 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id 2D22C304051
for ; Mon, 3 Nov 2014 13:58:35 -0800 (PST)
X-ASG-Debug-ID: 1415051913-04cbb070c75773c0001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NcTQdcw0gS0wSCnu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 13:58:34 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA3LwHgm032516
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 3 Nov 2014 16:58:17 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA3LwHe5021444;
Mon, 3 Nov 2014 16:58:17 -0500
Received: by fche.csb (Postfix, from userid 2569)
id DE94758186; Mon, 3 Nov 2014 16:58:16 -0500 (EST)
Date: Mon, 3 Nov 2014 16:58:16 -0500
From: "Frank Ch. Eigler"
To: Ken McDonell
Cc: "'Dave Brolley'" ,
"'PCP Mailing List'"
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
Message-ID: <20141103215816.GC3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net> <20141103142643.GA3859@redhat.com> <5457F82D.3050307@internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5457F82D.3050307@internode.on.net>
User-Agent: Mutt/1.4.2.2i
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415051914
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi, Ken -
> >I don't know how pervasive this situation would be, but if it's not
> >too hard to support, we should. (e.g., we could track metrics across
> >archives by name rather than pmid.)
>
> This is not pervasive at all ... this is the only PMDA I am aware of
> that behaves like this.
(Well, the cgroup.* PMNS hierarchy may be similarly affected, but that
is due for a revamp.)
> And I think I would be lobbying for the PMDA to be different, not
> the archive handling to be different. [...] allow the papi pmda to
> maintain a consistent and persistent metric name to low-order bits
> of the PMID mapping. [...]
I see what you mena, but unfortunately, the PAPI event code space (at
least 32 bits) is much larger than the PMID low-order bits space, is
not densely encoded, and bound to get worse when we address counters
with extra option flags, "uncore" counters, and per-process/-cgroup.
- FChE
From kenj@internode.on.net Mon Nov 3 17:20:14 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id E3F7F7F3F
for ; Mon, 3 Nov 2014 17:20:13 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id 726FEAC002
for ; Mon, 3 Nov 2014 15:20:10 -0800 (PST)
X-ASG-Debug-ID: 1415056804-04cb6c2efc520e60001-S8gJnT
Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id aRQxIGvwjLf3pXoi for ; Mon, 03 Nov 2014 15:20:07 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.129
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AsQBAPQMWFR20SpqPGdsb2JhbAANT4t3zjECgToCAQEBBgEBAQE4hD4BBThAARALGAkWDwkDAgECATEUBg0BBwEBvXeWGZEQB4RLBZksnzGDIwEBAQ
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail06.adl2.internode.on.net with ESMTP; 04 Nov 2014 09:39:11 +1030
Message-ID: <54580B6A.1090007@internode.on.net>
Date: Tue, 04 Nov 2014 10:10:34 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: "Frank Ch. Eigler"
CC: 'Dave Brolley' ,
'PCP Mailing List'
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net> <20141103142643.GA3859@redhat.com> <5457F82D.3050307@internode.on.net> <20141103215816.GC3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
In-Reply-To: <20141103215816.GC3859@redhat.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129]
X-Barracuda-Start-Time: 1415056804
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11209
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
G'day Frank.
On 04/11/14 08:58, Frank Ch. Eigler wrote:
> ...
> I see what you mena, but unfortunately, the PAPI event code space (at
> least 32 bits) is much larger than the PMID low-order bits space, is
> not densely encoded, and bound to get worse when we address counters
> with extra option flags, "uncore" counters, and per-process/-cgroup.
I was not advocating a fixed mapping ... while there may be more than
2^22 possible event counters, is it really the case that on one machine
we could expect that more than 4 million different event codes to be
enabled and exported by the PMDA?
The pmdaCache* routines would allow a dense allocation of more than 4
million unique ids and maintain a persistent mapping from the PMNS name
that the PMDA chooses and those unique ids.
Perhaps someone could send me the output from:
$ pminfo -dm papi
from a machine where the papi PMDA is running and collecting real data.
Then restart the PMDA, start a different collection profile and repeat
the command above.
This might give me some concrete context to understand the issues if
I've got it wrong.
From lberk@redhat.com Mon Nov 3 18:17:06 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 09CF87F4E
for ; Mon, 3 Nov 2014 18:17:06 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id EBCD1304048
for ; Mon, 3 Nov 2014 16:17:02 -0800 (PST)
X-ASG-Debug-ID: 1415060218-04cbb070c7580470001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id AIXCPB3j5mHAZnkF (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 16:16:58 -0800 (PST)
X-Barracuda-Envelope-From: lberk@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA40GvG1017036
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Mon, 3 Nov 2014 19:16:58 -0500
Received: from toium ([10.15.16.184])
by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA40GvX8012964
(version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO);
Mon, 3 Nov 2014 19:16:57 -0500
From: Lukas Berk
To: "Frank Ch. Eigler"
Cc: pcp developers
Subject: Re: [pcp] RFC: papi pmda auto-enable on fetch
References: <20141103210747.GB3859@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] RFC: papi pmda auto-enable on fetch
Date: Mon, 03 Nov 2014 19:16:56 -0500
In-Reply-To: <20141103210747.GB3859@redhat.com> (Frank Ch. Eigler's message of
"Mon, 3 Nov 2014 16:07:47 -0500")
Message-ID: <87k33b251j.fsf@redhat.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415060218
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
--=-=-=
Content-Type: text/plain
Hey Frank,
"Frank Ch. Eigler" writes:
> Please have a look over pcpfans.git fche/papi. If it looks generally
> acceptable, I'm ready to assist lberk in QA'ing the heck out of it.
Thanks for throwing this together. I like the idea of using the
timeout to ensure counters don't continue on for too long. The only nit
I have within the code itself; is there a chance you could give the
'auto_afid' variable a more descriptive name? or perhaps a comment to
the appropriate man page (I assume pmaf but it wasn't initially clear to
me).
If you would consider a few doc tweaks (patch attached) I'd appreciate
it. I'd be nice if the pminfo help text labled the units for a quick
glance without needing the man page. And I added the note that setting
papi.control.auto_enable to 0 disables the auto_enabling.
Other than that I'd be happy to start throwing together some relavent
qa.
Cheers,
Lukas
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=0001-Tweak-pmdapapi-docs.patch
>From 95ea7889721068705d7ea4ca9ff0ec1d1c6a1e83 Mon Sep 17 00:00:00 2001
From: Lukas Berk
Date: Mon, 3 Nov 2014 18:56:23 -0500
Subject: [PATCH 1/1] Tweak pmdapapi docs
Add the unit (seconds) to the papi.control.auto_enable metric and
mention how one would disable the auto_enable functionality if needed
in the man page.
Signed-off-by: Lukas Berk
---
src/pmdas/papi/help | 2 +-
src/pmdas/papi/pmdapapi.1 | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/pmdas/papi/help b/src/pmdas/papi/help
index e2d8b6d..3b48ce8 100644
--- a/src/pmdas/papi/help
+++ b/src/pmdas/papi/help
@@ -34,7 +34,7 @@
@ papi.control.status A string of papi counters current state
-@ papi.control.auto_enable Timeout for future auto-enabled counters.
+@ papi.control.auto_enable Timeout for future auto-enabled counters in seconds.
@ papi.available.num_counters Number of hardware counters available for use
diff --git a/src/pmdas/papi/pmdapapi.1 b/src/pmdas/papi/pmdapapi.1
index 868e276..356fb9f 100644
--- a/src/pmdas/papi/pmdapapi.1
+++ b/src/pmdas/papi/pmdapapi.1
@@ -66,7 +66,10 @@ or
This automatic activation is temporary, and lasts only a number of seconds
governed by the
.B papi.control.auto_enable
-control value (default 120).
+control value (default 120). In the case automatic activation is undesirable, one may
+disable it by setting the
+.B papi.control.auto_enable
+metric to 0.
.P
Alternately, the
.BR pmstore (1)
--
1.9.3
--=-=-=--
From fche@redhat.com Mon Nov 3 20:18:28 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 8F35A7F4E
for ; Mon, 3 Nov 2014 20:18:28 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay3.corp.sgi.com (Postfix) with ESMTP id 1DA90AC002
for ; Mon, 3 Nov 2014 18:18:24 -0800 (PST)
X-ASG-Debug-ID: 1415067500-04cbb070c7584a10001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id TNfmHYr8t4fxu8tt (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 18:18:20 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA42IF1a026809
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 3 Nov 2014 21:18:15 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA42IF8b004729;
Mon, 3 Nov 2014 21:18:15 -0500
Received: by fche.csb (Postfix, from userid 2569)
id C191E58186; Mon, 3 Nov 2014 21:18:14 -0500 (EST)
Date: Mon, 3 Nov 2014 21:18:14 -0500
From: "Frank Ch. Eigler"
To: Ken McDonell
Cc: "'Dave Brolley'" ,
"'PCP Mailing List'"
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
Message-ID: <20141104021814.GD3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net> <20141103142643.GA3859@redhat.com> <5457F82D.3050307@internode.on.net> <20141103215816.GC3859@redhat.com> <54580B6A.1090007@internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <54580B6A.1090007@internode.on.net>
User-Agent: Mutt/1.4.2.2i
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415067500
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi, Ken -
> [...] I was not advocating a fixed mapping [...]
Aha.
> The pmdaCache* routines would allow a dense allocation of more than 4
> million unique ids and maintain a persistent mapping from the PMNS name
> that the PMDA chooses and those unique ids.
OK, that could work.
> Perhaps someone could send me the output from:
> $ pminfo -dm papi
> from a machine where the papi PMDA is running and collecting real data.
(Sent under separate cover.)
> Then restart the PMDA, start a different collection profile and repeat
> the command above.
It won't change just based on that. But a different version of
PAPI/libpfm, a CPU/kernel change, can easily generate a different
enumeration of available events, thus a different and/or reordered
PMNS name sets.
- FChE
From fche@redhat.com Mon Nov 3 20:46:07 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 8E4447F4E
for ; Mon, 3 Nov 2014 20:46:07 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 6DC81304062
for ; Mon, 3 Nov 2014 18:46:07 -0800 (PST)
X-ASG-Debug-ID: 1415069163-04bdf038d262ff20001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Oy85SFrsM44l2UwD (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 03 Nov 2014 18:46:03 -0800 (PST)
X-Barracuda-Envelope-From: fche@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA42k28W004771
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Mon, 3 Nov 2014 21:46:03 -0500
Received: from fche.csb (vpn-236-171.phx2.redhat.com [10.3.236.171])
by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA42k2O6016473;
Mon, 3 Nov 2014 21:46:02 -0500
Received: by fche.csb (Postfix, from userid 2569)
id 0FC3658186; Mon, 3 Nov 2014 21:46:02 -0500 (EST)
Date: Mon, 3 Nov 2014 21:46:01 -0500
From: "Frank Ch. Eigler"
To: Lukas Berk
Cc: pcp developers
Subject: Re: [pcp] RFC: papi pmda auto-enable on fetch
Message-ID: <20141104024601.GE3859@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] RFC: papi pmda auto-enable on fetch
References: <20141103210747.GB3859@redhat.com> <87k33b251j.fsf@redhat.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87k33b251j.fsf@redhat.com>
User-Agent: Mutt/1.4.2.2i
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415069163
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi -
> Thanks for throwing this together. I like the idea of using the
> timeout to ensure counters don't continue on for too long.
No problemo.
> The only nit I have within the code itself; is there a chance you
> could give the 'auto_afid' variable a more descriptive name? [...]
Sure.
> If you would consider a few doc tweaks (patch attached) I'd appreciate
> it.
Sure. (Please feel free to commit such things straight to my branch.)
> I'd be nice if the pminfo help text labled the units for a quick
> glance without needing the man page. [...]
In the case of the papi.control.auto_enable metric, I had that
addendum ("in seconds") there too at one point, but then realized that
the metric was already self-describing (pminfo -d -> Units: sec).
- FChE
From kenj@internode.on.net Tue Nov 4 14:10:36 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id D29D37F9D
for ; Tue, 4 Nov 2014 14:10:36 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay1.corp.sgi.com (Postfix) with ESMTP id C08B68F804C
for ; Tue, 4 Nov 2014 12:10:33 -0800 (PST)
X-ASG-Debug-ID: 1415131827-04cb6c2ef957b390001-S8gJnT
Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id WYvy7vs8mzP62uDi for ; Tue, 04 Nov 2014 12:10:28 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.129
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ar4BAFQsWVR20SpqPGdsb2JhbAANTodAhDfLT4MgAoE5AQEBAQEGAQEBATiEPgEBBCMEUQEQCxgJFgsCAgkDAgECATEUBg0BBwEBwDN4lRUBAQEBAQEBAQEBAQEBAQEBAQEBGZEQB4J3gVQBBJQ1gVKJMYZ+kiyDIwEBAQ
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail06.adl2.internode.on.net with ESMTP; 05 Nov 2014 06:18:23 +1030
Message-ID: <54592DDC.8030809@internode.on.net>
Date: Wed, 05 Nov 2014 06:49:48 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: "Frank Ch. Eigler"
CC: 'Dave Brolley' ,
'PCP Mailing List'
Subject: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
References: <542C21AE.1010504@redhat.com> <007e01cfe010$7867f090$6937d1b0$@internode.on.net> <545110DC.2020104@redhat.com> <001d01cff6d7$0e9e4a50$2bdadef0$@internode.on.net> <20141103142643.GA3859@redhat.com> <5457F82D.3050307@internode.on.net> <20141103215816.GC3859@redhat.com> <54580B6A.1090007@internode.on.net> <20141104021814.GD3859@redhat.com>
X-ASG-Orig-Subj: Re: Multi-Volume Archive + Live Data Playback for PCP Client Tools
In-Reply-To: <20141104021814.GD3859@redhat.com>
Content-Type: multipart/mixed;
boundary="------------010601000601010709080000"
X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129]
X-Barracuda-Start-Time: 1415131827
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11232
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
This is a multi-part message in MIME format.
--------------010601000601010709080000
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
On 04/11/14 13:18, Frank Ch. Eigler wrote:
> Hi, Ken -
>
>> [...] I was not advocating a fixed mapping [...]
>
> Aha.
>
>> The pmdaCache* routines would allow a dense allocation of more than 4
>> million unique ids and maintain a persistent mapping from the PMNS name
>> that the PMDA chooses and those unique ids.
>
> OK, that could work.
Attached is a quick script that uses the pmns data Frank sent me and the
qa test program pmdacache to demonstrate how a persistent name <--> id
map could be managed by the papi PMDA.
--------------010601000601010709080000
Content-Type: text/plain; charset=UTF-8;
name="papi_pmns_demo"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="papi_pmns_demo"
#!/bin/sh
#
# demo if pmdaCache to manage papi PMNS
#
here=`pwd`
if [ ! -x /var/lib/pcp/testsuite/src/pmdacache ]
then
if [ -f /var/lib/pcp/testsuite/src/pmdacache.c ]
then
cd /var/lib/pcp/testsuite/src
sudo -u pcpqa make pmdacache
if [ ! -x /var/lib/pcp/testsuite/src/pmdacache ]
then
echo "Error: failed to make pmdacache in /var/lib/pcp/testsuite/src"
exit 1
fi
else
echo "Error: need pmdacache.c in /var/lib/pcp/testsuite/src"
exit 1
fi
fi
sudo -u pcp ./pmdacache -C -S
cat <
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 11BE27F90
for ; Tue, 4 Nov 2014 17:55:40 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id 001B0304048
for ; Tue, 4 Nov 2014 15:55:36 -0800 (PST)
X-ASG-Debug-ID: 1415145334-04cb6c2efb58e220001-S8gJnT
Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id DNP2aCmO4ZOGpLrI (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 04 Nov 2014 15:55:35 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.37
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA4NtTlT021172;
Tue, 4 Nov 2014 18:55:29 -0500
Date: Tue, 4 Nov 2014 18:55:29 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Ken McDonell
Cc: pcp developers
Message-ID: <785129839.7773835.1415145329525.JavaMail.zimbra@redhat.com>
In-Reply-To: <001701cff60f$ff53d460$fdfb7d20$@internode.on.net>
References: <20141031201304.GE1913@redhat.com> <002c01cff56c$6febc830$4fc35890$@internode.on.net> <20141101010427.GF1913@redhat.com> <001701cff60f$ff53d460$fdfb7d20$@internode.on.net>
Subject: Re: [pcp] qa/518 tweaks on pcpfans.git fche/dev
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] qa/518 tweaks on pcpfans.git fche/dev
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: qa/518 tweaks on pcpfans.git fche/dev
Thread-Index: AQIWIQMIOeKcOGylRqOgmw6wi16M5QIkql93Aj2/Pb+bnMRKEG114gej
X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37]
X-Barracuda-Start-Time: 1415145335
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11241
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Hi Ken,
----- Original Message -----
> [...]
> 3. Frank's observations about pmie and signals is a bit concerning, although
> I see evidence of "try TERM and if that does not work try KILL and repeat
> until successful or timeout" in the pmie init script, so perhaps this is a
> long standing problem that has been masked by hackery. pmie does have a
> TERM signal handler and a delayed exit but only after the nanosleep() ... so
> if we are blocked somewhere else, or don't abandon expression evaluation
> completely when an I/O returns with EINTR then we could be off in the weeds
> long enough for some script to believe pmie has not died.
>
> Any insight into 3. would be helpful.
The pmie (init/check) scripts were initially close cousins to the pmlogger
scripts - the sigterm-upgrade-to-sigkill there is very likely to be mainly
for historical reasons, rather than tackling any pmie specific issue.
cheers.
--
Nathan
From nscott@redhat.com Tue Nov 4 23:40:13 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 92AD77F3F
for ; Tue, 4 Nov 2014 23:40:13 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay1.corp.sgi.com (Postfix) with ESMTP id 80CC78F8033
for ; Tue, 4 Nov 2014 21:40:10 -0800 (PST)
X-ASG-Debug-ID: 1415166007-04cbb070c564a1a0001-S8gJnT
Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id QZ3l1GhKyBMM1fNX (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 04 Nov 2014 21:40:08 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.24
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sA55e76V031743;
Wed, 5 Nov 2014 00:40:07 -0500
Date: Wed, 5 Nov 2014 00:40:07 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: David Smith
Cc: pcp
Message-ID: <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com>
In-Reply-To: <54512E80.9090302@redhat.com>
References: <54512E80.9090302@redhat.com>
Subject: Re: [pcp] [RFC] pcp python patch
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] [RFC] pcp python patch
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp python patch
Thread-Index: wdMT5vXXBxXNRbrg0ivYLTeSaJY++w==
X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24]
X-Barracuda-Start-Time: 1415166008
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.03
X-Barracuda-Spam-Status: No, SCORE=0.03 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11248
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient
Domain
Hi David,
----- Original Message -----
> First, some background. I'm working on integrating systemtap and pcp,
> and I wrote a python PMDA that will be similar to the mmv pmda in that
> it will need to monitor a directory for new data. After working on it, I
> found out that the pcp python support doesn't really allow adding new
> metrics (or clearing metrics) after PMDA.run() has been called.
>
> So, commit 38983a5 in the pcpfans.git dsmith/dev branch adds a 'refresh
> metrics' callback to the pcp python support. This allows a python pmda
> to add/remove metrics after PMDA.run() has been called.
Looking good.
> Here's how you'd use it. In your PMDA.init() function, you'd set the
> callback, like this:
>
> self.set_refresh_metrics(self.__refresh_metrics)
>
> Then your __refresh_metrics (or whatever you want to call it) function
> will get called when needed. I based this code on the mmv pmda, so it
> could get called during several PDUs. Then your callback function could
> add metrics. New code in the PMDA class will update everything.
diff --git a/src/python/pcp/pmda.py b/src/python/pcp/pmda.py
index 5d4e71b..51263aa 100644
--- a/src/python/pcp/pmda.py
+++ b/src/python/pcp/pmda.py
@@ -287,6 +287,7 @@ class PMDA(MetricDispatch):
pmdaname = 'pmda' + name
helpfile = '%s/%s/help' % (PCP.pmGetConfig('PCP_PMDAS_DIR'), name)
MetricDispatch.__init__(self, domain, pmdaname, logfile, helpfile)
+ self.__refresh_metrics_func = None
(see below for more, but I'm not sure we need to keep this
handle to the callback routine up at this level as well as
the cpmda callback handle? maybe we can simplify this)
##
@@ -345,6 +346,26 @@ class PMDA(MetricDispatch):
metrics[i] = self._metrictable[i]
cpmda.pmda_dispatch(ibuf.raw, numindoms, mbuf.raw, nummetrics)
+ def __refresh_metrics(self):
Hmm, do we need this interface? (there seem to be no callers in
the wrapper - is the intention the PMDA would call this? If so
a double-underscore (internal) routine is probably not right
(for an API we are expecting PMDAs to use). If not explicitly
needed, we should keep it simple and drop it (but, maybe I am
missing something there?)
I was expecting this "refreshing" would happen around the time
PDUs exchanges happen with pmcd, which delays it until the last
moment (and prevents the situation where unnecessary duplication
of "refresh" work from a PMDA is done). Can we set that "refresh
needed" flag in cpmda land from the PMDA and delay this work til
then? That'd also encapsulate a bit more of the implementation
details by pushing that down into the lower layers of the wrapper.
+ # Call the user's function.
+ if self.__refresh_metrics_func:
+ self.__refresh_metrics_func()
+
+ # Now that the user's function has been called, we need to
+ # refresh all our class internal data.
+ #
+ # FIXME: instead of using cpmda.get_need_refresh(), we could
+ # ask the user to return a '1' from the refresh metrics
+ # function if a refresh is needed.
+ if cpmda.get_need_refresh():
+ self.pmns_refresh()
+ cpmda.pmid_oneline_refresh(self._metric_oneline)
+ cpmda.pmid_longtext_refresh(self._metric_helptext)
+ cpmda.indom_oneline_refresh(self._indom_oneline)
+ cpmda.indom_longtext_refresh(self._indom_helptext)
+ cpmda.pmda_rehash(self._indomtable, self._metrictable)
This ended up with lots of calls back down into the cpmda layer
from the higher level python code - kinda feels like we may have
some unnecessary up/down-calls here? (if that makes sense at all).
IOW, can we push most of this down into the cpmda layer, hopefully
making the interface exposed to PMDAs a little simpler/clearer?
diff --git a/src/python/pmda.c b/src/python/pmda.c
index f0c4845..3d6079c 100644
--- a/src/python/pmda.c
+++ b/src/python/pmda.c
[...]
+static PyObject *
+pmda_rehash(PyObject *self, PyObject *args, PyObject *keywords)
+{
+ char *keyword_list[] = {"indoms", "metrics", NULL};
+
+ if (indom_list) {
+ Py_DECREF(indom_list);
+ indom_list = NULL;
+ }
+ if (metric_list) {
+ Py_DECREF(metric_list);
+ metric_list = NULL;
+ }
+
+ if (!PyArg_ParseTupleAndKeywords(args, keywords, "OO", keyword_list,
+ &indom_list, &metric_list))
+ return NULL;
+
+ if (indom_list && metric_list) {
Do we require both of these (indom_list/metric_list) to be passed in?
I guess it may happen that this code is used from PMDAs that do not
have indoms (or the dynamic state is such that currently there are
only metrics with no associated indoms?) - in those cases, we could
be called here with a metric_list only I guess, so the logic in this
branch would need some tweaking.
#ifdef PyBUF_SIMPLE
+ static void
+ pmda_refresh_metrics(void)
... you've got a fair bit of new code there that's only going to be
compiled for the python 2.x series (guarded by the above ifdef) - I
haven't tried, but I'm punting we'll need to refactor a bit here to
make this work for python 3 as well.
cheers.
--
Nathan
From dsmith@redhat.com Wed Nov 5 10:43:36 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 9EFCD7F3F
for ; Wed, 5 Nov 2014 10:43:36 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay3.corp.sgi.com (Postfix) with ESMTP id 1FD59AC007
for ; Wed, 5 Nov 2014 08:43:35 -0800 (PST)
X-ASG-Debug-ID: 1415205810-04cbb070c7662630001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id kPP1a1mKrOcCjGtw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 05 Nov 2014 08:43:31 -0800 (PST)
X-Barracuda-Envelope-From: dsmith@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA5GhU2D029018
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Wed, 5 Nov 2014 11:43:30 -0500
Received: from t540p.usersys.redhat.com (vpn-61-129.rdu2.redhat.com [10.10.61.129])
by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA5GhSei023508
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
Wed, 5 Nov 2014 11:43:29 -0500
Message-ID: <545A53B0.9030500@redhat.com>
Date: Wed, 05 Nov 2014 10:43:28 -0600
From: David Smith
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: pcp
Subject: Re: [pcp] [RFC] pcp python patch
References: <54512E80.9090302@redhat.com> <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] [RFC] pcp python patch
In-Reply-To: <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415205811
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
On 11/04/2014 11:40 PM, Nathan Scott wrote:
> Hi David,
>
> ----- Original Message -----
>> First, some background. I'm working on integrating systemtap and pcp,
>> and I wrote a python PMDA that will be similar to the mmv pmda in that
>> it will need to monitor a directory for new data. After working on it, I
>> found out that the pcp python support doesn't really allow adding new
>> metrics (or clearing metrics) after PMDA.run() has been called.
>>
>> So, commit 38983a5 in the pcpfans.git dsmith/dev branch adds a 'refresh
>> metrics' callback to the pcp python support. This allows a python pmda
>> to add/remove metrics after PMDA.run() has been called.
>
> Looking good.
>
>> Here's how you'd use it. In your PMDA.init() function, you'd set the
>> callback, like this:
>>
>> self.set_refresh_metrics(self.__refresh_metrics)
>>
>> Then your __refresh_metrics (or whatever you want to call it) function
>> will get called when needed. I based this code on the mmv pmda, so it
>> could get called during several PDUs. Then your callback function could
>> add metrics. New code in the PMDA class will update everything.
>
> diff --git a/src/python/pcp/pmda.py b/src/python/pcp/pmda.py
> index 5d4e71b..51263aa 100644
> --- a/src/python/pcp/pmda.py
> +++ b/src/python/pcp/pmda.py
> @@ -287,6 +287,7 @@ class PMDA(MetricDispatch):
> pmdaname = 'pmda' + name
> helpfile = '%s/%s/help' % (PCP.pmGetConfig('PCP_PMDAS_DIR'), name)
> MetricDispatch.__init__(self, domain, pmdaname, logfile, helpfile)
> + self.__refresh_metrics_func = None
>
> (see below for more, but I'm not sure we need to keep this
> handle to the callback routine up at this level as well as
> the cpmda callback handle? maybe we can simplify this)
>
> ##
> @@ -345,6 +346,26 @@ class PMDA(MetricDispatch):
> metrics[i] = self._metrictable[i]
> cpmda.pmda_dispatch(ibuf.raw, numindoms, mbuf.raw, nummetrics)
>
> + def __refresh_metrics(self):
>
>
> Hmm, do we need this interface? (there seem to be no callers in
> the wrapper - is the intention the PMDA would call this? If so
> a double-underscore (internal) routine is probably not right
> (for an API we are expecting PMDAs to use). If not explicitly
> needed, we should keep it simple and drop it (but, maybe I am
> missing something there?)
You have missed something here. See below.
> I was expecting this "refreshing" would happen around the time
> PDUs exchanges happen with pmcd, which delays it until the last
> moment (and prevents the situation where unnecessary duplication
> of "refresh" work from a PMDA is done). Can we set that "refresh
> needed" flag in cpmda land from the PMDA and delay this work til
> then? That'd also encapsulate a bit more of the implementation
> details by pushing that down into the lower layers of the wrapper.
>
> + # Call the user's function.
> + if self.__refresh_metrics_func:
> + self.__refresh_metrics_func()
> +
> + # Now that the user's function has been called, we need to
> + # refresh all our class internal data.
> + #
> + # FIXME: instead of using cpmda.get_need_refresh(), we could
> + # ask the user to return a '1' from the refresh metrics
> + # function if a refresh is needed.
>
> + if cpmda.get_need_refresh():
> + self.pmns_refresh()
> + cpmda.pmid_oneline_refresh(self._metric_oneline)
> + cpmda.pmid_longtext_refresh(self._metric_helptext)
> + cpmda.indom_oneline_refresh(self._indom_oneline)
> + cpmda.indom_longtext_refresh(self._indom_helptext)
> + cpmda.pmda_rehash(self._indomtable, self._metrictable)
>
> This ended up with lots of calls back down into the cpmda layer
> from the higher level python code - kinda feels like we may have
> some unnecessary up/down-calls here? (if that makes sense at all).
> IOW, can we push most of this down into the cpmda layer, hopefully
> making the interface exposed to PMDAs a little simpler/clearer?
So here's the deal with this. I probably should have explained this
better when I sent the patch.
Right now we've got 3 levels:
- low (cpmda)
- medium (PMDA class)
- high (user's class derived from the PMDA class)
Up at the high level (the user's class), a user calls add_metric() (for
instance), which updates several of the PMDA's class internal variables,
then calls the cpmda as needed.
So, when a user wants to use the new refresh functionality, he calls
PMDA.set_refresh_metrics(my_refresh_function). From the user's point of
view, here's what happens. His 'my_refresh_function' gets called when
necessary. In that function he can add new metrics or completely clear
out the existing metrics and start from scratch adding metrics.
The problem is that adding metrics updates a bunch of information at the
medium level, the PMDA class itself - all those _metric_* and _indom_*
lists above. So, if the low level (cpmda) called directly into the
user's derived class (the high level), the PMDA class data would get
updated, but neither the user's class or cpmda really knows anything
about the PMDA class' internal data.
So, the current solution wraps the user's refresh_metrics function with
its own function called PMDA.__refresh_metrics(). So, what happens is
that the cpmda really calls PMDA.__refresh_metrics() which calls the
user's my_refresh_metrics(). If when we get back from the user's
my_refresh_metrics() function something has changed that requires a
refresh, the PMDA.__refresh_metrics() function sends the cpmda all the
PMDA class internal data.
Note that the list of PMDA class internal data being sent down to the
cpmda in PMDA.__refresh_metrics() is exactly the same list as being sent
down in PMDA.run().
If you don't like the PMDA class wrapper around the users' refresh
function, another solution would be for the PMDA class to provide a
function that would need to be called at the end of the user's refresh
function to update everything (kind of like the PMDA.run() function).
>
>
> diff --git a/src/python/pmda.c b/src/python/pmda.c
> index f0c4845..3d6079c 100644
> --- a/src/python/pmda.c
> +++ b/src/python/pmda.c
> [...]
> +static PyObject *
> +pmda_rehash(PyObject *self, PyObject *args, PyObject *keywords)
> +{
> + char *keyword_list[] = {"indoms", "metrics", NULL};
> +
> + if (indom_list) {
> + Py_DECREF(indom_list);
> + indom_list = NULL;
> + }
> + if (metric_list) {
> + Py_DECREF(metric_list);
> + metric_list = NULL;
> + }
> +
> + if (!PyArg_ParseTupleAndKeywords(args, keywords, "OO", keyword_list,
> + &indom_list, &metric_list))
> + return NULL;
> +
> + if (indom_list && metric_list) {
>
> Do we require both of these (indom_list/metric_list) to be passed in?
> I guess it may happen that this code is used from PMDAs that do not
> have indoms (or the dynamic state is such that currently there are
> only metrics with no associated indoms?) - in those cases, we could
> be called here with a metric_list only I guess, so the logic in this
> branch would need some tweaking.
With the current code, calling this with an empty indom list would work
fine. Calling it with 'None' would probably fail.
> #ifdef PyBUF_SIMPLE
> + static void
> + pmda_refresh_metrics(void)
>
> ... you've got a fair bit of new code there that's only going to be
> compiled for the python 2.x series (guarded by the above ifdef) - I
> haven't tried, but I'm punting we'll need to refactor a bit here to
> make this work for python 3 as well.
Hmm, from my reading of the python devel code, PyBUF_SIMPLE is defined
in python 2.6+. I think the code in the '#else' here is dead code for
python < 2.6.
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)
From kenj@internode.on.net Wed Nov 5 15:07:05 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 53FAA7F3F
for ; Wed, 5 Nov 2014 15:07:05 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id D26F0AC004
for ; Wed, 5 Nov 2014 13:07:04 -0800 (PST)
X-ASG-Debug-ID: 1415221612-04cb6c1e6a08430001-S8gJnT
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 5PYnqhDwIbrYPDvg for ; Wed, 05 Nov 2014 13:06:53 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApUBACGQWlR20Spq/2dsb2JhbAANT4NiWYMGyhaJBwEBAQEBhSlVMAYCBRYLAgsDAgECAVgGAgEBiEq2HXiVW4EtjUeFG4FUBYY3kDuiAViBBgWBQAEBAQ
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail07.adl2.internode.on.net with ESMTP; 06 Nov 2014 07:36:50 +1030
Message-ID: <545A91B5.6010600@internode.on.net>
Date: Thu, 06 Nov 2014 08:08:05 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Subject: pcp updates - mostly QA
Content-Type: text/plain; charset=utf-8
X-ASG-Orig-Subj: pcp updates - mostly QA
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1415221612
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11265
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Changes committed to git://git.performancecopilot.org/kenj/pcp.git dev
qa/518 | 51 ++++++++++++++++++++++++++++++-----------------
qa/518.out | 8 +++----
qa/553 | 2 -
qa/763 | 1
qa/841 | 1
qa/843 | 1
qa/985 | 2 -
src/pcp/pcp.sh | 1
src/pmcd/src/client.c | 4 +++
src/pmcd/src/dopdus.c | 54 +++++++++++++++++++++++++++++++++++++++++++-------
10 files changed, 94 insertions(+), 31 deletions(-)
commit 271e99450d614692db688cfb6ec11f11cb5527c5
Author: Ken McDonell
Date: Thu Nov 6 08:06:51 2014 +1100
pmcd: additional diagnostics in the area of user/group authorisation
commit 4f090f19d352c941c56874a353fc1121ccf6c8e9
Author: Ken McDonell
Date: Thu Nov 6 07:57:17 2014 +1100
pcp(1): add missing sort for -P output
With multiple pmie's running, pcp -P could fail because the inputs
to one of the (many) join commands is not not sorted.
Found in the rework of qa/518.
commit b1549077c2e101a73278ffe86249cc5dc6097361
Author: Ken McDonell
Date: Thu Nov 6 07:01:44 2014 +1100
qa/518: better checking for the expected number of rule evaluations
Change timing to revert to older duration (4sec, not 12sec).
Avoid use of pmsignal all together, so pmie exit is guaranteed.
Tolerate small differences in the number of rule evaluations.
commit 9c6480f97d20e5369d347a5535e859becc2d29c3
Author: Ken McDonell
Date: Thu Nov 6 06:58:38 2014 +1100
qa/832: remove pmns before exit
commit 9ecebec90605bf25af4ea73d31fd4e4a5cfd5df4
Author: Ken McDonell
Date: Thu Nov 6 06:55:50 2014 +1100
qa/841 - remove domain.h.python before exit
commit 3dde6954f6f042ef5c11d255d6094ea3cc33c9ab
Author: Ken McDonell
Date: Thu Nov 6 06:54:02 2014 +1100
qa/763 - remove domain.h.perl and pmns.perl before exit
commit 5c13e3fe647822e27b18c862666784e89705b03d
Author: Ken McDonell
Date: Thu Nov 6 06:47:27 2014 +1100
qa/553 - remove ./gluster.log before exit
commit 1bb003afe463f7aeb118b96c7cf451176ff1e218
Author: Ken McDonell
Date: Thu Nov 6 06:45:48 2014 +1100
qa/985 - remove ./dmcache.log before exit
commit a4393b405e9d3d449d93a40313dfae6d2a2c0d81
Author: Frank Ch. Eigler
Date: Fri Oct 31 16:03:37 2014 -0400
qa/518: stretch timing to run more reliably
This test case involves a race between pmie running rules a certain
number of times, and a separate task waiting (by time) to match the
results via /usr/bin/pcp. It was observed as flakey, not always
winning the race. This version stretches the pmie time and fine-tunes
the waiting interval to give the race a larger (multi-second) window
for success.
commit 31e5a3e1db23bc1755b39612c11fd3aeb18fc96c
Author: Frank Ch. Eigler
Date: Fri Oct 31 16:02:03 2014 -0400
qa/518:
It was observed that the $sudo pmie invocation didn't always
receive the closing signal at this test case, leading it to
hang. Now we kill it harder, both by pid and later by name.
From nscott@redhat.com Wed Nov 5 17:17:30 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 64DF57F3F
for ; Wed, 5 Nov 2014 17:17:30 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay3.corp.sgi.com (Postfix) with ESMTP id 01091AC001
for ; Wed, 5 Nov 2014 15:17:29 -0800 (PST)
X-ASG-Debug-ID: 1415229448-04bdf0650d0eb20001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id F6nm5751cgAoUXur (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 05 Nov 2014 15:17:28 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sA5NHRS2001504;
Wed, 5 Nov 2014 18:17:27 -0500
Date: Wed, 5 Nov 2014 18:17:27 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Lukas Berk
Cc: pcp@oss.sgi.com
Message-ID: <631823046.8750009.1415229447702.JavaMail.zimbra@redhat.com>
In-Reply-To: <87ppd6ua57.fsf@redhat.com>
References: <87ppd6ua57.fsf@redhat.com>
Subject: Re: [pcp] PCP Presentation at FSOSS
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] PCP Presentation at FSOSS
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: PCP Presentation at FSOSS
Thread-Index: 3RVkDhdZAB0J/lJKeLooc+YqlfYCAw==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415229448
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.03
X-Barracuda-Spam-Status: No, SCORE=0.03 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11271
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient
Domain
Hi Lukas,
----- Original Message -----
> Hey,
>
> Last week a colleague and I presented at Toronto's Free Software and
> Open Source Symposium (FSOSS) about PCP. I've posted the slide deck if
> anybody wants to take a look[1]. The overall 'message' of the talk was
> to show how PCP is very flexible in the data it can assimilate and
> how it presents data to the user. This was also demonstrated by using
> several recent/current developments and how they fit in, conceptually,
> with PCP. My hope is that the talk illustrated how the attendees could
> solve their performance issues using the facilities PCP provides.
>
That's great (& thanks for the pdf too) - I've put copies of the slides
at www.pcp.io/presentations.html as well.
cheers.
--
Nathan
From nscott@redhat.com Wed Nov 5 18:36:58 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id D255F7F3F
for ; Wed, 5 Nov 2014 18:36:57 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay1.corp.sgi.com (Postfix) with ESMTP id B23D38F8039
for ; Wed, 5 Nov 2014 16:36:54 -0800 (PST)
X-ASG-Debug-ID: 1415234211-04bdf0650c11840001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id xNAaKikDGeWrQNSv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 05 Nov 2014 16:36:51 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sA60apXh014115
for ; Wed, 5 Nov 2014 19:36:51 -0500
Date: Wed, 5 Nov 2014 19:36:51 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: pcp
Message-ID: <1494245284.8766580.1415234211066.JavaMail.zimbra@redhat.com>
In-Reply-To: <291786473.8766572.1415234195881.JavaMail.zimbra@redhat.com>
Subject: pcp updates: qa, build
MIME-Version: 1.0
X-ASG-Orig-Subj: pcp updates: qa, build
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp updates: qa, build
Thread-Index: d3/fClQJnts+3GUGSYwcUJUBv+XRug==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415234211
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11275
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Changes committed to git://git.pcp.io/pcp.git dev
Ken McDonell (9):
qa/985 - remove ./dmcache.log before exit
qa/553 - remove ./gluster.log before exit
qa/763 - remove domain.h.perl and pmns.perl before exit
qa/841 - remove domain.h.python before exit
qa/832: remove pmns before exit
qa/518: better checking for the expected number of rule evaluations
pcp(1): add missing sort for -P output
pmcd: additional diagnostics in the area of user/group authorisation
qa/944: better handling of multiple users being in the same default group
Frank Ch. Eigler (2):
qa/518:
qa/518: stretch timing to run more reliably
Nathan Scott (1):
build: update packaging and project forward for next release date
CHANGELOG | 3 ++
VERSION.pcp | 2 -
build/rpm/fedora.spec | 13 +++---------
build/rpm/pcp.spec.in | 8 -------
debian/changelog | 6 +++++
qa/518 | 51 ++++++++++++++++++++++++++++++-----------------
qa/518.out | 8 +++----
qa/553 | 2 -
qa/763 | 1
qa/841 | 1
qa/843 | 1
qa/944 | 1
qa/985 | 2 -
src/pcp/pcp.sh | 1
src/pmcd/src/client.c | 4 +++
src/pmcd/src/dopdus.c | 54 +++++++++++++++++++++++++++++++++++++++++++-------
16 files changed, 109 insertions(+), 49 deletions(-)
From nscott@redhat.com Thu Nov 6 00:34:49 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 2FBEB7F3F
for ; Thu, 6 Nov 2014 00:34:49 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id 0E7EB304043
for ; Wed, 5 Nov 2014 22:34:45 -0800 (PST)
X-ASG-Debug-ID: 1415255680-04cbb00e681c2e0001-S8gJnT
Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id R8Hsv24xGlEMNvXy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 05 Nov 2014 22:34:41 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.37
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA66YewF027730;
Thu, 6 Nov 2014 01:34:40 -0500
Date: Thu, 6 Nov 2014 01:34:40 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: David Smith
Cc: pcp
Message-ID: <704052736.8837998.1415255680009.JavaMail.zimbra@redhat.com>
In-Reply-To: <545A53B0.9030500@redhat.com>
References: <54512E80.9090302@redhat.com> <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com> <545A53B0.9030500@redhat.com>
Subject: Re: [pcp] [RFC] pcp python patch
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] [RFC] pcp python patch
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp python patch
Thread-Index: NBa4cZSGmDqGa/KyX1UOH+h2d1ya3w==
X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37]
X-Barracuda-Start-Time: 1415255681
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.03
X-Barracuda-Spam-Status: No, SCORE=0.03 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11284
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient
Domain
Hi David,
----- Original Message -----
> On 11/04/2014 11:40 PM, Nathan Scott wrote:
> > (for an API we are expecting PMDAs to use). If not explicitly
> > needed, we should keep it simple and drop it (but, maybe I am
> > missing something there?)
>
> You have missed something here. See below.
That's usually it :) - thanks for the extra explanation.
> > of "refresh" work from a PMDA is done). Can we set that "refresh
> > needed" flag in cpmda land from the PMDA and delay this work til
> > then? That'd also encapsulate a bit more of the implementation
> > details by pushing that down into the lower layers of the wrapper.
> >
> > + # Call the user's function.
> > + if self.__refresh_metrics_func:
> > + self.__refresh_metrics_func()
> > +
> > + # Now that the user's function has been called, we need to
> > + # refresh all our class internal data.
> > + #
> > + # FIXME: instead of using cpmda.get_need_refresh(), we could
> > + # ask the user to return a '1' from the refresh metrics
> > + # function if a refresh is needed.
> >
> > + if cpmda.get_need_refresh():
> > + self.pmns_refresh()
> > + cpmda.pmid_oneline_refresh(self._metric_oneline)
> > + cpmda.pmid_longtext_refresh(self._metric_helptext)
> > + cpmda.indom_oneline_refresh(self._indom_oneline)
> > + cpmda.indom_longtext_refresh(self._indom_helptext)
> > + cpmda.pmda_rehash(self._indomtable, self._metrictable)
> >
> > This ended up with lots of calls back down into the cpmda layer
> > from the higher level python code - kinda feels like we may have
> > some unnecessary up/down-calls here? (if that makes sense at all).
> > IOW, can we push most of this down into the cpmda layer, hopefully
> > making the interface exposed to PMDAs a little simpler/clearer?
>
> So here's the deal with this. I probably should have explained this
> better when I sent the patch.
>
> Right now we've got 3 levels:
>
> - low (cpmda)
> - medium (PMDA class)
> - high (user's class derived from the PMDA class)
>
> Up at the high level (the user's class), a user calls add_metric() (for
> instance), which updates several of the PMDA's class internal variables,
> then calls the cpmda as needed.
Yeah, but :) ... its a bit more convoluted than that isn't it? e.g.
the dictionary "self._metric_helptext" at the medium level is also
open for business down at the low level, via "pmid_longtext_dict" -
isn't it? If this is as I remember it, the boundaries are blurred a
bit here for convenient access between middle and lower levels - we
may be able to exploit that a bit to simplify the new API?
If its not as I remember, just disregard this & carry on. :)
The only other thing I wanted to revisit a bit is this subtlety...
> > I was expecting this "refreshing" would happen around the time
> > PDUs exchanges happen with pmcd, which delays it until the last
> > moment (and prevents the situation where unnecessary duplication
Its not 100% clear to me from...
> So, when a user wants to use the new refresh functionality, he calls
> PMDA.set_refresh_metrics(my_refresh_function). From the user's point of
> view, here's what happens. His 'my_refresh_function' gets called when
> necessary.
... what the definition of "when necessary" is? Is it at the time
we are responding to PDUs from pmcd, or is it the time the PMDA has
realised "something changed" (i.e. up at the high level)? Heh, it's
a twisty maze following all these callbacks - sorry.
If its the latter situation, we'll sometimes end up doing unnecessary
refreshing - so if that can be delayed until PDU processing time (eg
via that existing just-set-a-flag-and-refresh-me-later mechanism), that
will help reduce CPU time for some situations.
>
> If you don't like the PMDA class wrapper around the users' refresh
> function, another solution would be for the PMDA class to provide a
> function that would need to be called at the end of the user's refresh
> function to update everything (kind of like the PMDA.run() function).
>
I've not got a strong opinion really - stick with what you have? sounds
simpler.
>
> With the current code, calling this with an empty indom list would work
> fine. Calling it with 'None' would probably fail.
Okie doke, something worth double-checking anyway I guess (since "fail"
here means "generate an exception and exit(3) the PMDA process", a long
running daemon).
> > #ifdef PyBUF_SIMPLE
> > + static void
> > + pmda_refresh_metrics(void)
> >
> > ... you've got a fair bit of new code there that's only going to be
> > compiled for the python 2.x series (guarded by the above ifdef) - I
> > haven't tried, but I'm punting we'll need to refactor a bit here to
> > make this work for python 3 as well.
>
> Hmm, from my reading of the python devel code, PyBUF_SIMPLE is defined
> in python 2.6+. I think the code in the '#else' here is dead code for
> python < 2.6.
Ah, yes, right you are - I was thinking PyBUF_SIMPLE was removed in 3.x
but on closer inspection it is still there & yep, looks like dead code.
I do vaguely remember some py3 porting issues around buffers - but this
looks unrelated.
cheers.
--
Nathan
From nscott@redhat.com Thu Nov 6 02:14:25 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 84AED7F3F
for ; Thu, 6 Nov 2014 02:14:25 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay1.corp.sgi.com (Postfix) with ESMTP id 632BF8F8033
for ; Thu, 6 Nov 2014 00:14:22 -0800 (PST)
X-ASG-Debug-ID: 1415261660-04cb6c1e6b22d30001-S8gJnT
Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id c2X9FRPYseocwnvk (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 06 Nov 2014 00:14:20 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.39
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA68EJun026826
for ; Thu, 6 Nov 2014 03:14:19 -0500
Date: Thu, 6 Nov 2014 03:14:19 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: pcp
Message-ID: <384411614.8875153.1415261659884.JavaMail.zimbra@redhat.com>
In-Reply-To: <1388625474.8859393.1415259838057.JavaMail.zimbra@redhat.com>
Subject: pcp updates: qa, build
MIME-Version: 1.0
X-ASG-Orig-Subj: pcp updates: qa, build
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp updates: qa, build
Thread-Index: hMEMixhBLkZgsp2GUDijz0NcNGQzSw==
X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39]
X-Barracuda-Start-Time: 1415261660
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11286
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Changes committed to git://git.pcp.io/pcp.git dev
Nathan Scott (3):
qa: fix cleanup trap in qa/898 from leaving tmpfile remnants
qa: fix cleanup trap in qa/067 from leaving tmpfile remnants
build: default to a more professionally named webapps directory
build/rpm/fedora.spec | 6 ++++--
debian/pcp-webapi.dirs | 1 +
man/html/guide.html | 8 ++++----
man/man1/pmwebd.1 | 6 +++---
qa/067 | 8 ++++----
qa/661 | 9 ++++++---
qa/898 | 8 +++-----
src/pmwebapi/GNUmakefile | 1 +
src/pmwebapi/pmwebd.options | 2 +-
9 files changed, 27 insertions(+), 22 deletions(-)
From myllynen@redhat.com Thu Nov 6 05:00:58 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 61C5D7F51
for ; Thu, 6 Nov 2014 05:00:58 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id D7DC4AC007
for ; Thu, 6 Nov 2014 03:00:54 -0800 (PST)
X-ASG-Debug-ID: 1415271649-04cb6c1e6a3fa80001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id GdFrUbULSibkUyVI (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 06 Nov 2014 03:00:50 -0800 (PST)
X-Barracuda-Envelope-From: myllynen@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA6B0lb5011818
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Thu, 6 Nov 2014 06:00:48 -0500
Received: from mmyllyne.csb (vpn-203-21.tlv.redhat.com [10.35.203.21])
by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA6B0jOH011470
for ; Thu, 6 Nov 2014 06:00:46 -0500
Message-ID: <545B54DD.8060205@redhat.com>
Date: Thu, 06 Nov 2014 13:00:45 +0200
From: Marko Myllynen
Reply-To: myllynen@redhat.com
Organization: Red Hat
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: PCP
Subject: [PATCH] Clarify the web services sections in the quick guide
Content-Type: text/plain; charset=ISO-8859-1
X-ASG-Orig-Subj: [PATCH] Clarify the web services sections in the quick guide
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415271650
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi,
below is an attempt to clarify the web services sections in the Quick Reference Guide a bit now that we have first builds available.
---
man/html/guide.html | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/man/html/guide.html b/man/html/guide.html
index db78c6c..a143655 100644
--- a/man/html/guide.html
+++ b/man/html/guide.html
@@ -475,7 +475,10 @@ This example shows a PMIE script, checks its syntax, runs it against an archive,
PCP Web Services
-A daemon for exporting PCP metrics using a REST web service (over HTTP/JSON) is also available. Use this for viewing or monitoring PCP metrics in a web browser - several web interfaces are becoming available (also via the pcp-webapi package) to make this a reality.
+
+
Performance Metrics Web Daemon
+
+Performance Metrics Web Daemon (pmwebd(1)) is a front-end to both PMCD and PCP archives, providing a REST web service (over HTTP/JSON) suitable for use by web-based tools wishing to access performance data over HTTP. Custom applications can access all the available PCP information using this method, including custom metrics generated by custom PMDAs.
To install the PCP web service on Fedora/RHEL:
@@ -490,17 +493,12 @@ This example shows a PMIE script, checks its syntax, runs it against an archive,
|
-
-Performance Metrics Web Daemon
-
-Performance Metrics Web Daemon (pmwebd(1)) is a front-end to both PMCD and PCP archives, providing a JSON interface suitable for use by web-based tools wishing to access performance data over HTTP. Custom applications can access all the available PCP information using this method, including custom metrics generated by custom PMDAs.
-
-
Web Interface for Performance Metrics
+User Web Interface for Performance Metrics
-Several browser interfaces for accessing PCP performance metrics are available. These web interfaces make PCP metrics available via your choice of Grafana or Graphite.
+
Several browser interfaces for accessing PCP performance metrics are also available. These web interfaces make PCP metrics available via your choice of Grafana or Graphite.
-
Install the PCP web services daemon as described above, and the contents of the pcp-webjs package (platform-independent HTML and Javascript) into /usr/share/pcp/webapps, then point a browser toward http://localhost:44323.
+
After installing the PCP web services daemon as described above, install the pcp-webjs package and then just point a browser toward http://localhost:44323.
Customizing and Extending PCP
--
1.7.1
--
Marko Myllynen
From chandana@desilva.id.au Thu Nov 6 17:01:57 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 6D6A97F3F
for ; Thu, 6 Nov 2014 17:01:57 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 4C729304032
for ; Thu, 6 Nov 2014 15:01:54 -0800 (PST)
X-ASG-Debug-ID: 1415314912-04bdf0650f9f910001-S8gJnT
Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) by cuda.sgi.com with ESMTP id 1m6MNa3Amfyd7Fz1 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 06 Nov 2014 15:01:52 -0800 (PST)
X-Barracuda-Envelope-From: chandana@desilva.id.au
X-Barracuda-Apparent-Source-IP: 204.13.248.72
Received: from ec2-54-252-74-219.ap-southeast-2.compute.amazonaws.com ([54.252.74.219] helo=mail.desilva.id.au)
by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72)
(envelope-from )
id 1XmW3r-0006Co-MK
for pcp@oss.sgi.com; Thu, 06 Nov 2014 23:01:51 +0000
Received: from [192.168.19.83] (unknown [175.45.83.34])
by mail.desilva.id.au (Postfix) with ESMTPSA id A41DB24190
for ; Thu, 6 Nov 2014 23:01:49 +0000 (UTC)
X-Mail-Handler: Dyn Standard SMTP by Dyn
X-Originating-IP: 54.252.74.219
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+qfh8DZLeRShDkfB7hBbZEkXnECCQ69Sg=
Message-ID: <1415314907.2202.17.camel@tardis>
Subject: Makepkgs does not work from source tarball
From: Chandana De Silva
X-ASG-Orig-Subj: Makepkgs does not work from source tarball
Reply-To: chandana@desilva.id.au
To: pcp@oss.sgi.com
Date: Fri, 07 Nov 2014 10:01:47 +1100
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20)
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: mho-02-ewr.mailhop.org[204.13.248.72]
X-Barracuda-Start-Time: 1415314912
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11311
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
I just downloaded the source tarball for 3.10
$ ./Makepkgs
Error: can only be run from within the PCP git repository
Is this intentional ?
From nscott@redhat.com Thu Nov 6 17:32:28 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 7E1487F3F
for ; Thu, 6 Nov 2014 17:32:28 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay3.corp.sgi.com (Postfix) with ESMTP id 1BB69AC006
for ; Thu, 6 Nov 2014 15:32:24 -0800 (PST)
X-ASG-Debug-ID: 1415316743-04bdf0650fa76a0001-S8gJnT
Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id fLdrhvoiVwqg3pDP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 06 Nov 2014 15:32:23 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.39
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA6NWMjn030898;
Thu, 6 Nov 2014 18:32:22 -0500
Date: Thu, 6 Nov 2014 18:32:21 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: chandana@desilva.id.au
Cc: pcp@oss.sgi.com
Message-ID: <10189230.9465033.1415316741674.JavaMail.zimbra@redhat.com>
In-Reply-To: <1415314907.2202.17.camel@tardis>
References: <1415314907.2202.17.camel@tardis>
Subject: Re: [pcp] Makepkgs does not work from source tarball
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Makepkgs does not work from source tarball
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Makepkgs does not work from source tarball
Thread-Index: G2J9DOuhI/3eje/3ceSy5vcT6aYmjA==
X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39]
X-Barracuda-Start-Time: 1415316743
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11312
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header
Hi Chandana,
----- Original Message -----
> I just downloaded the source tarball for 3.10
>
> $ ./Makepkgs
> Error: can only be run from within the PCP git repository
>
> Is this intentional ?
Yep. A few releases back we changed the build to depend on
using git for some steps that form part of the build - this
(use of git) became required when using Makepkgs as a result.
The source tarball can be built using configure/make (this is
what the individual distro builds do).
cheers.
--
Nathan
From nscott@redhat.com Thu Nov 6 23:02:30 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 3AF8E7F3F
for ; Thu, 6 Nov 2014 23:02:30 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id 29B30304032
for ; Thu, 6 Nov 2014 21:02:27 -0800 (PST)
X-ASG-Debug-ID: 1415336539-04cbb00e66aa350001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id 2RJGTlcVxln9w1Ub (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 06 Nov 2014 21:02:20 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sA752JjJ017435
for ; Fri, 7 Nov 2014 00:02:19 -0500
Date: Fri, 7 Nov 2014 00:02:19 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: pcp
Message-ID: <1691519215.9520620.1415336539691.JavaMail.zimbra@redhat.com>
In-Reply-To: <1234051244.9520509.1415336475810.JavaMail.zimbra@redhat.com>
Subject: pcp updates: docs, qa, proc, perfevent pmda
MIME-Version: 1.0
X-ASG-Orig-Subj: pcp updates: docs, qa, proc, perfevent pmda
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.12]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp updates: docs, qa, proc, perfevent pmda
Thread-Index: ScRZO0Nu0gHYw2uNhjSb5x5ntiJlYw==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415336540
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11321
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Changes committed to git://git.pcp.io/pcp.git dev
Joe White (13):
Added perfevent PMDA to build structure.
Lock file path is now obtained from the environment.
Add man page for config file. Don't create DSO build.
perfevent is now built as a seperate RPM.
Added environment variables to proc pmda. Fixed -A flag.
Add cpusallowed metric to linux_proc
Added tests for perfevent PMDA
Added missing test configuration file.
Added another missing file.
Forgot to update the expected output with the new test ids.
Don't use bash extensions in a borne shell script.
Ensure tests are independent of the number of CPUs present on the test host.
Allow the test harness to work properly if the perfevent PMDA is not built.
Nathan Scott (2):
qa: remove a superflous trap in ds390log test
perfevent pmda: updates, latest code/build/qa conventions mainly
Marko Myllynen (1):
docs: clarify web services sections in the quick guide
build/rpm/GNUmakefile | 3
build/rpm/fedora.spec | 43
build/rpm/pcp.spec.in | 57
configure | 245 +-
configure.ac | 52
man/html/guide.html | 16
man/man1/GNUmakefile | 3
man/man1/perfalloc.1 | 416 ++-
man/man1/pmdaperfevent.1 | 196 +
man/man5/perfevent.conf.5 | 76
qa/756 | 37
qa/756.out | 77
qa/757 | 215 +
qa/757.out | 40
qa/960 | 5
qa/GNUmakefile | 2
qa/GNUmakefile.install | 7
qa/common.filter | 3
qa/group | 2
qa/perfevent/GNUmakefile | 92
qa/perfevent/GNUmakefile.install | 21
qa/perfevent/config/syntax_error.txt | 7
qa/perfevent/config/test_config.txt | 14
qa/perfevent/config/test_event_programming.txt | 7
qa/perfevent/config/test_init.txt | 5
qa/perfevent/config/test_lots_of_counters.txt | 19
qa/perfevent/config/test_node_rr.txt | 10
qa/perfevent/config/test_rapl.txt | 27
qa/perfevent/fakefs.tar.gz |binary
qa/perfevent/fakefs/proc/cpuinfo | 600 ++---
qa/perfevent/fakefs/sys/devices/system/node/node0/cpulist | 2
qa/perfevent/fakefs/sys/devices/system/node/node1/cpulist | 2
qa/perfevent/mock_pfm.c | 219 +
qa/perfevent/mock_pfm.h | 16
qa/perfevent/mockperfinterface.c | 33
qa/perfevent/perf_event_test.c | 612 +++++
qa/perfevent/perfevent.conf | 7
qa/perfevent/rapl_test.c | 49
qa/perfevent/runtest | 47
qa/perfevent/threadtest.c | 34
src/include/builddefs.in | 4
src/pmdas/GNUmakefile | 2
src/pmdas/linux_proc/help | 2
src/pmdas/linux_proc/pmda.c | 31
src/pmdas/linux_proc/proc_pid.c | 41
src/pmdas/linux_proc/proc_pid.h | 13
src/pmdas/linux_proc/root_proc | 2
src/pmdas/perfevent/ChangeLog | 28
src/pmdas/perfevent/GNUmakefile | 108
src/pmdas/perfevent/Install | 45
src/pmdas/perfevent/Remove | 38
src/pmdas/perfevent/architecture.c | 260 ++
src/pmdas/perfevent/architecture.h | 52
src/pmdas/perfevent/configparser.h | 62
src/pmdas/perfevent/configparser.l | 251 ++
src/pmdas/perfevent/domain.h | 4
src/pmdas/perfevent/help | 20
src/pmdas/perfevent/perfalloc.c | 193 +
src/pmdas/perfevent/perfevent.conf | 243 ++
src/pmdas/perfevent/perfinterface.c | 645 +++++
src/pmdas/perfevent/perfinterface.h | 56
src/pmdas/perfevent/perflock.c | 75
src/pmdas/perfevent/perflock.h | 26
src/pmdas/perfevent/perfmanager.c | 287 ++
src/pmdas/perfevent/perfmanager.h | 41
src/pmdas/perfevent/pmda.c | 579 ++++
src/pmdas/perfevent/pmns | 22
src/pmdas/perfevent/rapl-interface.c | 343 ++
src/pmdas/perfevent/rapl-interface.h | 37
src/pmdas/perfevent/root | 10
src/pmdas/perfevent/unittest/config/syntax_error.txt | 14
src/pmdas/perfevent/unittest/config/test_config.txt | 28
src/pmdas/perfevent/unittest/config/test_event_programming.txt | 14
src/pmdas/perfevent/unittest/config/test_init.txt | 10
src/pmdas/perfevent/unittest/config/test_lots_of_counters.txt | 38
src/pmdas/perfevent/unittest/config/test_node_rr.txt | 20
src/pmdas/perfevent/unittest/config/test_rapl.txt | 54
src/pmdas/perfevent/unittest/fakefs/proc/cpuinfo | 600 ++---
src/pmdas/perfevent/unittest/fakefs/sys/devices/system/node/node0/cpulist | 2
src/pmdas/perfevent/unittest/fakefs/sys/devices/system/node/node1/cpulist | 2
src/pmdas/perfevent/unittest/mock_pfm.c | 438 +--
src/pmdas/perfevent/unittest/mock_pfm.h | 32
src/pmdas/perfevent/unittest/mockperfinterface.c | 66
src/pmdas/perfevent/unittest/perf_event_test.c | 1188 +++++-----
src/pmdas/perfevent/unittest/rapl_test.c | 98
src/pmdas/perfevent/unittest/runtest | 94
src/pmdas/perfevent/unittest/threadtest.c | 68
87 files changed, 7495 insertions(+), 2109 deletions(-)
From tdm@sgi.com Fri Nov 7 09:38:55 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 74CF47F3F
for ; Fri, 7 Nov 2014 09:38:55 -0600 (CST)
Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10])
by relay1.corp.sgi.com (Postfix) with ESMTP id 4D33F8F8033;
Fri, 7 Nov 2014 07:38:52 -0800 (PST)
Received: from [128.162.232.11] (porter.americas.sgi.com [128.162.232.11])
by estes.americas.sgi.com (Postfix) with ESMTP id 2B5727001E78;
Fri, 7 Nov 2014 09:38:52 -0600 (CST)
Message-ID: <545CE78C.5000102@sgi.com>
Date: Fri, 07 Nov 2014 09:38:52 -0600
From: Troy McCorkell
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Cc: Troy McCorkell
Subject: oss.sgi.com - maintenance downtime Friday 11/14/2014 at 10:00 CST
USA
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
On Friday November 14, 2014 at 10:00 CST USA
oss.sgi.com will be unavailable for a short period of time to perform
network maintenance.
The outage is expected to last approximately 15 minutes.
From dsmith@redhat.com Fri Nov 7 10:09:13 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id DF52F7F3F
for ; Fri, 7 Nov 2014 10:09:12 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay3.corp.sgi.com (Postfix) with ESMTP id 1A2DFAC002
for ; Fri, 7 Nov 2014 08:09:04 -0800 (PST)
X-ASG-Debug-ID: 1415376540-04bdf0650d1113f0001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id FDHhmjNrgvBamm3k (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 07 Nov 2014 08:09:01 -0800 (PST)
X-Barracuda-Envelope-From: dsmith@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA7G901O010563
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Fri, 7 Nov 2014 11:09:00 -0500
Received: from t540p.usersys.redhat.com (dhcp-10-15-1-100.hsv.redhat.com [10.15.1.100])
by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA7G8xmg024973
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
Fri, 7 Nov 2014 11:09:00 -0500
Message-ID: <545CEE9A.5060007@redhat.com>
Date: Fri, 07 Nov 2014 10:08:58 -0600
From: David Smith
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: pcp
Subject: Re: [pcp] [RFC] pcp python patch
References: <54512E80.9090302@redhat.com> <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com> <545A53B0.9030500@redhat.com> <704052736.8837998.1415255680009.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] [RFC] pcp python patch
In-Reply-To: <704052736.8837998.1415255680009.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415376541
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
On 11/06/2014 12:34 AM, Nathan Scott wrote:
> Hi David,
>
> ----- Original Message -----
>> On 11/04/2014 11:40 PM, Nathan Scott wrote:
>>> (for an API we are expecting PMDAs to use). If not explicitly
>>> needed, we should keep it simple and drop it (but, maybe I am
>>> missing something there?)
>>
>> You have missed something here. See below.
>
> That's usually it :) - thanks for the extra explanation.
>
>>> of "refresh" work from a PMDA is done). Can we set that "refresh
>>> needed" flag in cpmda land from the PMDA and delay this work til
>>> then? That'd also encapsulate a bit more of the implementation
>>> details by pushing that down into the lower layers of the wrapper.
>>>
>>> + # Call the user's function.
>>> + if self.__refresh_metrics_func:
>>> + self.__refresh_metrics_func()
>>> +
>>> + # Now that the user's function has been called, we need to
>>> + # refresh all our class internal data.
>>> + #
>>> + # FIXME: instead of using cpmda.get_need_refresh(), we could
>>> + # ask the user to return a '1' from the refresh metrics
>>> + # function if a refresh is needed.
>>>
>>> + if cpmda.get_need_refresh():
>>> + self.pmns_refresh()
>>> + cpmda.pmid_oneline_refresh(self._metric_oneline)
>>> + cpmda.pmid_longtext_refresh(self._metric_helptext)
>>> + cpmda.indom_oneline_refresh(self._indom_oneline)
>>> + cpmda.indom_longtext_refresh(self._indom_helptext)
>>> + cpmda.pmda_rehash(self._indomtable, self._metrictable)
>>>
>>> This ended up with lots of calls back down into the cpmda layer
>>> from the higher level python code - kinda feels like we may have
>>> some unnecessary up/down-calls here? (if that makes sense at all).
>>> IOW, can we push most of this down into the cpmda layer, hopefully
>>> making the interface exposed to PMDAs a little simpler/clearer?
>>
>> So here's the deal with this. I probably should have explained this
>> better when I sent the patch.
>>
>> Right now we've got 3 levels:
>>
>> - low (cpmda)
>> - medium (PMDA class)
>> - high (user's class derived from the PMDA class)
>>
>> Up at the high level (the user's class), a user calls add_metric() (for
>> instance), which updates several of the PMDA's class internal variables,
>> then calls the cpmda as needed.
>
> Yeah, but :) ... its a bit more convoluted than that isn't it? e.g.
> the dictionary "self._metric_helptext" at the medium level is also
> open for business down at the low level, via "pmid_longtext_dict" -
> isn't it? If this is as I remember it, the boundaries are blurred a
> bit here for convenient access between middle and lower levels - we
> may be able to exploit that a bit to simplify the new API?
>
> If its not as I remember, just disregard this & carry on. :)
I've taken another look at this. I see where my confusion came from. We
have 3 distinct classes of dictionaries, each treated differently.
During PMDA.run(), the PMDA class passes down to cpmda several dictionaries:
(1) self._metric_names (used by cpmda.pmns_refresh)
(2) self._metric_oneline (used by cpmda.pmid_oneline_refresh)
(2) self._metric_helptext (used by cpmda.pmid_longtext_refresh)
(2) self._indom_oneline (used by cpmda.indom_oneline_refresh)
(2) self._indom_helptext (used by cpmda.indom_longtext_refresh)
(3) self._indomtable (used by cpmda.pmda_dispatch)
(3) self._metrictable (used by cpmda.pmda_dispatch)
Dictionaries marked by (1) are passed down, used once when needed, then
discarded.
Dictionaries marked by (2) are passed down and kept, used when needed,
never discarded.
Dictionaries marked by (3) aren't passed down and kept. Instead the PMDA
class creates a string buffer for each dictionary and passes that down
to cpmda. This string buffer is used once and then discarded.
I was thinking all dictionaries were treated as being in class (1) (used
once then discarded). That's why I was passing down everything again in
PMDA.__refresh_metrics(). Since I don't need to pass down items again in
class (2), that simplifies PMDA.__refresh_metrics() to:
====
def __refresh_metrics(self):
# Call the user's function.
if self.__refresh_metrics_func:
self.__refresh_metrics_func()
if cpmda.get_need_refresh():
self.pmns_refresh()
cpmda.pmda_rehash(self._indomtable, self._metrictable)
====
We actually could go further here, if we can change the cpmda interface.
I'm not sure how set in stone it is. I'm not talking about a change to
the PMDA class interface here, just the cpmda interface. If we change
cpmda.pmda_dispatch() to take the indomtable and metrictable
dictionaries directly (instead of using string buffers), we could keep
them around for use later by pmda_rehash() - basically moving them to
class (2).
If we go that far, then all dictionaries are in class (2) (passed down
and kept) - except for _metric_names in class (1). If we decide to move
it to class (2), then all dictionaries are treated the same. At that
point, we don't need a wrapper around the user's refresh_metrics()
function in the PMDA class at all, since the cpmda already has all the
information it needs (pointers to all the dictionaries) and knows when
to do the refreshing.
> The only other thing I wanted to revisit a bit is this subtlety...
>
>>> I was expecting this "refreshing" would happen around the time
>>> PDUs exchanges happen with pmcd, which delays it until the last
>>> moment (and prevents the situation where unnecessary duplication
I'm afraid you'll have decide on/help me figure out pcp subtleties...
Right now the user's refresh_metrics callback function gets called down
in cpmda at similar places as the mmv pmda calls mmv_reload_maybe().
I'll need help in figuring out if that is causing unnecessary
duplication. Assuming the user's refresh_metrics callback is smart
enough to not change anything when it doesn't need to, then cpmda
shouldn't really refresh anything either.
>>> ... you've got a fair bit of new code there that's only going to be
>>> compiled for the python 2.x series (guarded by the above ifdef) - I
>>> haven't tried, but I'm punting we'll need to refactor a bit here to
>>> make this work for python 3 as well.
>>
>> Hmm, from my reading of the python devel code, PyBUF_SIMPLE is defined
>> in python 2.6+. I think the code in the '#else' here is dead code for
>> python < 2.6.
>
> Ah, yes, right you are - I was thinking PyBUF_SIMPLE was removed in 3.x
> but on closer inspection it is still there & yep, looks like dead code.
> I do vaguely remember some py3 porting issues around buffers - but this
> looks unrelated.
We should probably just delete the whole '#else' code to avoid confusing
others in the future.
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)
From minnus@buffalo.edu Fri Nov 7 14:35:14 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 79A8B7F3F
for ; Fri, 7 Nov 2014 14:35:14 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 48819304032
for ; Fri, 7 Nov 2014 12:35:14 -0800 (PST)
X-ASG-Debug-ID: 1415392509-04bdf0650f120690001-S8gJnT
Received: from mtareserve1.acsu.buffalo.edu (mtareserve6.acsu.buffalo.edu [128.205.6.4]) by cuda.sgi.com with ESMTP id nsIWxQaQKywK608d for ; Fri, 07 Nov 2014 12:35:09 -0800 (PST)
X-Barracuda-Envelope-From: minnus@buffalo.edu
X-Barracuda-Apparent-Source-IP: 128.205.6.4
Received: from localmailA.acsu.buffalo.edu (localmaila.acsu.buffalo.edu [128.205.5.196])
by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id E191F1050A
for ; Fri, 7 Nov 2014 15:35:08 -0500 (EST)
Received: from localmailA.acsu.buffalo.edu (localhost [127.0.0.1])
by localhost (Postfix) with SMTP id DE1E8EB43
for ; Fri, 7 Nov 2014 15:35:08 -0500 (EST)
Received: from localmailA.acsu.buffalo.edu (localhost [127.0.0.1])
by localmailA.acsu.buffalo.edu (Postfix) with ESMTP id 78BBFEB3B
for ; Fri, 7 Nov 2014 15:35:07 -0500 (EST)
Received: from smtp.buffalo.edu (smtp1.acsu.buffalo.edu [128.205.5.253])
by localmailA.acsu.buffalo.edu (Prefixe) with ESMTP id 5ED93EB3A
for ; Fri, 7 Nov 2014 15:35:07 -0500 (EST)
Received: from prince.ccr.buffalo.edu (prince.ccr.buffalo.edu [128.205.40.45])
(Authenticated sender: minnus@buffalo.edu)
by smtp.buffalo.edu (Postfix) with ESMTPSA id 54DCE21BE
for ; Fri, 7 Nov 2014 15:35:07 -0500 (EST)
Message-ID: <545D2CFA.1050600@buffalo.edu>
Date: Fri, 07 Nov 2014 15:35:06 -0500
From: Martins Innus
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp
Subject: Dynamic Proc PMDA metrics
Content-Type: multipart/mixed;
boundary="------------040503090407020609020107"
X-ASG-Orig-Subj: Dynamic Proc PMDA metrics
X-PM-EL-Spam-Prob: : 8%
X-Barracuda-Connect: mtareserve6.acsu.buffalo.edu[128.205.6.4]
X-Barracuda-Start-Time: 1415392509
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11342
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.00 HTML_MESSAGE BODY: HTML included in message
This is a multi-part message in MIME format.
--------------040503090407020609020107
Content-Type: multipart/alternative;
boundary="------------030903090205040300060002"
--------------030903090205040300060002
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
I think I have a pretty good version of the dynamic proc metrics
implemented as they relate to anything with a PID instance. My tree is
here:
https://github.com/ubccr/pcp/tree/dynamic_proc
src/pmdas/linux_proc/GNUmakefile | 2 +-
src/pmdas/linux_proc/help | 140 ----------
src/pmdas/linux_proc/help_text.h | 121 +++++++++
src/pmdas/linux_proc/pmda.c | 13 +-
src/pmdas/linux_proc/proc_dynamic.c | 477
+++++++++++++++++++++++++++++++++++
src/pmdas/linux_proc/root_proc | 129 +---------
6 files changed, 614 insertions(+), 268 deletions(-)
create mode 100644 src/pmdas/linux_proc/help_text.h
create mode 100644 src/pmdas/linux_proc/proc_dynamic.c
If this all looks generally ok, I'll submit my hotprocs changes on top
of this. I modeled it on the basic structure of linux/interrupts.c. A
couple things:
1. I ran the existing QA tests (./check -g pmda.proc) and everything
seemed to be OK, except for the ordering of the metrics in 022 and 943.
I don't think this can be fixed since it would mean some non-dynamic
metrics would have to come in the middle. Let me know if there is a
way/desire to fix the ordering.
2. I needed to use pmdaTreeRebuildHash while the interrupts code
didn't. Joe pointed out that this is likely due to that fact that the
linux pmda runs as a dso and proc does not. So there may be some other
code that handles the dso case differently. I couldn't find this
documented anywhere.
3. Couldn't find any precedent for handling long form help text for
dynamic pmdas. So I just generated a header file from the existing help
file and used that. Let me know if you want something different.
Attached is the perl script I wrote for that in case it is generally
useful.
4. I left a few commented code sections that will show where hotprocs
will hook in. Will add another root node, and all other stuff ( help,
etc ) will be shared.
If this looks ok, it will probably take another day to update hotprocs.
Let me know if there is anything that looks wrong or needs to be changed.
Thanks
Martins
--------------030903090205040300060002
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit
Hi,
   I think I have a pretty good version of the dynamic proc
metrics implemented as they relate to anything with a PID
instance. My tree is here:
https://github.com/ubccr/pcp/tree/dynamic_proc
 src/pmdas/linux_proc/GNUmakefile   |   2 +-
 src/pmdas/linux_proc/help          | 140 ----------
 src/pmdas/linux_proc/help_text.h   | 121 +++++++++
 src/pmdas/linux_proc/pmda.c        |  13 +-
 src/pmdas/linux_proc/proc_dynamic.c | 477
+++++++++++++++++++++++++++++++++++
 src/pmdas/linux_proc/root_proc     | 129 +---------
 6 files changed, 614 insertions(+), 268 deletions(-)
 create mode 100644 src/pmdas/linux_proc/help_text.h
 create mode 100644 src/pmdas/linux_proc/proc_dynamic.c
If this all looks generally ok, I'll submit my hotprocs changes on
top of this. I modeled it on the basic structure of
linux/interrupts.c. A couple things:
1. I ran the existing QA tests (./check -g pmda.proc) and
everything seemed to be OK, except for the ordering of the metrics
in 022 and 943. I don't think this can be fixed since it would
mean some non-dynamic metrics would have to come in the middle.Â
Let me know if there is a way/desire to fix the ordering.
2. I needed to use pmdaTreeRebuildHash while the interrupts code
didn't. Joe pointed out that this is likely due to that fact that
the linux pmda runs as a dso and proc does not. So there may be
some other code that handles the dso case differently. I couldn't
find this documented anywhere.
3. Couldn't find any precedent for handling long form help text
for dynamic pmdas. So I just generated a header file from the
existing help file and used that. Let me know if you want
something different. Attached is the perl script I wrote for that
in case it is generally useful.
4. I left a few commented code sections that will show where
hotprocs will hook in. Will add another root node, and all other
stuff ( help, etc ) will be shared.
If this looks ok, it will probably take another day to update
hotprocs. Let me know if there is anything that looks wrong or
needs to be changed.
Thanks
Martins
--------------030903090205040300060002--
--------------040503090407020609020107
Content-Type: text/plain; charset=UTF-8;
name="convhelp.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="convhelp.txt"
IyEvdXNyL2Jpbi9wZXJsCgoKb3BlbiBIRUxQLCAnPCcsICJoZWxwLm9yaWciIHx8IGRpZSAi
Q2FuJ3Qgb3BlbiBoZWxwIjsKCm15ICRjdXJfbWV0cmljOwpteSAkc2hvcnRfdGV4dDsKbXkg
JGxvbmdfdGV4dDsKCm15ICVoZWxwID0gKCk7Cgp3aGlsZSAoPEhFTFA+KSB7CgogICAgbXkg
JGxpbmUgPSAkXzsKCiAgICBpZiAoJGxpbmUgPX4gL14jLiovICl7ICNjb21tZW50CgluZXh0
OwogICAgfQogICAgZWxzaWYgKCRsaW5lID1+IC9eXHMqJC8gKSB7IyBza2lwIGJsYW5rcwoJ
bmV4dDsKICAgIH0KICAgIGVsc2lmICggJGxpbmUgPX4gL15cQCAoXFMqKSAoLiopJC8gKXsK
CSRjdXJfbWV0cmljID0gJDE7Cgkkc2hvcnRfdGV4dCA9ICQyOwoKCSRjdXJfbWV0cmljID1+
IHMvXnByb2NcLi8vOyAjIHJlbW92ZSBsZWFkaW5nIHByb2MuCgoJJHNob3J0X3RleHQgPX4g
cy8iLy9nOyAjIGdldCByaWQgb2YgYW55IHF1b3RlcywgaGFja2lzaAoKCSRoZWxweyRjdXJf
bWV0cmljfT17fTsKCSRoZWxweyRjdXJfbWV0cmljfS0+eyduYW1lJ309JGN1cl9tZXRyaWM7
CgkkaGVscHskY3VyX21ldHJpY30tPnsnc2hvcnQnfT0kc2hvcnRfdGV4dDsKICAgIH0KICAg
IGVsc2UgeyAjIHNob3VsZCBiZSBhbGwgbG9uZyB0ZXh0IG5vdwoKCSRsb25nX3RleHQgPSAk
bGluZTsKCgkkbG9uZ190ZXh0ID1+IHMvIi8vZzsgIyBnZXQgcmlkIG9mIGFueSBxdW90ZXMs
IGhhY2tpc2gKCWNob21wKCRsb25nX3RleHQpOwoKCSRoZWxweyRjdXJfbWV0cmljfS0+eyds
b25nJ30gPSAkaGVscHskY3VyX21ldHJpY30tPnsnbG9uZyd9IC4gJGxvbmdfdGV4dCAuIlxc
biI7CiAgICB9Cn0KCnByaW50ICJ0eXBlZGVmIHN0cnVjdCB7XG5jaGFyICpuYW1lO1xuY2hh
ciAqc2hvcnRoZWxwO1xuY2hhciAqbG9uZ2hlbHA7XG59IGhlbHBfdGV4dF90O1xuIjsKCnBy
aW50ICJoZWxwX3RleHRfdCBoZWxwX3RleHRbXSA9IHtcbiI7Cgpmb3JlYWNoIG15ICRrZXkg
KGtleXMgJWhlbHApewogICAgbXkgJG5hbWUgPSAkaGVscHska2V5fS0+eyduYW1lJ307CiAg
ICBteSAkc2hvcnQgPSAkaGVscHska2V5fS0+eydzaG9ydCd9OwogICAgbXkgJGxvbmcgPSAk
aGVscHska2V5fS0+eydsb25nJ307CiAgICBwcmludCAieyAubmFtZSA9IFwiJG5hbWVcIiwg
ICAgICAgICAgICAuc2hvcnRoZWxwID0gXCIkc2hvcnRcIiwgICAgICAgIC5sb25naGVscCA9
IFwiJGxvbmdcIiB9LFxuIjsKfQoKcHJpbnQgIn07IjsK
--------------040503090407020609020107--
From michele@acksyn.org Sun Nov 9 15:19:35 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id A17B77F67
for ; Sun, 9 Nov 2014 15:19:35 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id EE255AC004
for ; Sun, 9 Nov 2014 13:19:34 -0800 (PST)
X-ASG-Debug-ID: 1415567968-04cb6c1e6c161070001-S8gJnT
Received: from palahniuk.acksyn.org (palahniuk.acksyn.org [5.9.7.26]) by cuda.sgi.com with ESMTP id 65JVu2vSHD2yW9hr for ; Sun, 09 Nov 2014 13:19:28 -0800 (PST)
X-Barracuda-Envelope-From: michele@acksyn.org
X-Barracuda-Apparent-Source-IP: 5.9.7.26
Received: from localhost (localhost [127.0.0.1])
by palahniuk.acksyn.org (Postfix) with ESMTP id 0D14026539;
Sun, 9 Nov 2014 16:19:28 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acksyn.org; h=
content-transfer-encoding:content-type:content-type:mime-version
:x-mailer:message-id:date:date:subject:subject:from:from
:received:received; s=2010; t=1415567966; bh=kdCQiR23GlEzn1oTAjH
LXgUuHXM4CI/ukl7SKbu0mo0=; b=RQH2qJWu+wPpDplNVumi75Zf1D2Np0YECGH
8A85bNAZvVR9BbUKnEKTCkjPOV18SUhe992wyZ0DTUE0HZUDQcj6mdWvO32QzVqL
fxQaa4NvR+C4GYCbrEuTeJBOMabisrY2IdrLdIJB64F1SL3PkplTLIck03gJSu2h
nf7XfgAE=
Received: from palahniuk.acksyn.org ([127.0.0.1])
by localhost (mail.acksyn.org [127.0.0.1]) (amavisd-new, port 10026)
with ESMTP id fG5XS2jNyn6U; Sun, 9 Nov 2014 16:19:26 -0500 (EST)
Received: from localhost (host54-190-dynamic.24-79-r.retail.telecomitalia.it [79.24.190.54])
by palahniuk.acksyn.org (Postfix) with ESMTPSA id 456D3243AC;
Sun, 9 Nov 2014 16:19:25 -0500 (EST)
From: Michele Baldessari
To: pcp@oss.sgi.com
Cc: Michele Baldessari
Subject: [PATCH] Fix manpages sections
Date: Sun, 9 Nov 2014 22:19:16 +0100
X-ASG-Orig-Subj: [PATCH] Fix manpages sections
Message-Id: <1415567956-5906-1-git-send-email-michele@acksyn.org>
X-Mailer: git-send-email 2.1.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Barracuda-Connect: palahniuk.acksyn.org[5.9.7.26]
X-Barracuda-Start-Time: 1415567968
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11409
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
-0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes
verification
0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature
- There is no man4/ folder in PCP. Fix all the links pointing to
the wrong section.
- Fix up pmwebd man section
- Fix pmParseInterval man section pcp-free
- Fix pmconfig man section in pmgetoptions
---
man/html/lab.importdata.html | 2 +-
man/html/pcpintro.html | 10 +++++-----
man/man1/pmatop.1 | 2 +-
man/man1/pmchart.1 | 8 ++++----
man/man1/pmdumptext.1 | 2 +-
man/man1/pmquery.1 | 4 ++--
man/man1/pmview.1 | 6 +++---
man/man1/sheet2pcp.1 | 2 +-
man/man3/pmgetoptions.3 | 2 +-
man/man3/pmwebapi.3 | 2 +-
src/pcp/free/pcp-free.1 | 2 +-
11 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/man/html/lab.importdata.html b/man/html/lab.importdata.html
index c80b53ca8844..8250b592ab21 100644
--- a/man/html/lab.importdata.html
+++ b/man/html/lab.importdata.html
@@ -159,7 +159,7 @@ a name – the rules must conform to those for th=
e Performance Metrics
Name Space (PMNS), namely a number of components separated by periods
"." with each component starting with an alphabetic followed
by zero or more characters drawn from the alphabetics, digits and the
-underscore "_" character (see pmns(4) for more
+underscore "_" character (see pmns(5) for more
details). For our metrics we'll use the prefix mover. and so the
first metric will be known as mover.nfile.
diff --git a/man/html/pcpintro.html b/man/html/pcpintro.html
index dc1d20a0767d..3cb9e2c65d70 100644
--- a/man/html/pcpintro.html
+++ b/man/html/pcpintro.html
@@ -149,7 +149,7 @@ where number is an integer or floating point c=
onstant (parsed using st
PMCD and Archive Versions =
TD> |
-Since PCP version 2, version information has been associated with =
pmcd(1) and PCP archives. The version number is used in a number of =
ways, but most noticeably for the distributed pmns(4). In PCP version 1,=
the client applications would load the PMNS from the default PMNS file b=
ut in PCP version 2, the client applications extract the PMNS information=
from pmcd or a PCP archive. Thus in PCP version 2, the version n=
umber is used to determine if the PMNS to use is from the default local f=
ile or from the actual current source of the metrics.
+
Since PCP version 2, version information has been associated with =
pmcd(1) and PCP archives. The version number is used in a number of =
ways, but most noticeably for the distributed pmns(5). In PCP version 1,=
the client applications would load the PMNS from the default PMNS file b=
ut in PCP version 2, the client applications extract the PMNS information=
from pmcd or a PCP archive. Thus in PCP version 2, the version n=
umber is used to determine if the PMNS to use is from the default local f=
ile or from the actual current source of the metrics.
Environment |
@@ -193,7 +193,7 @@ where number is an integer or floating point c=
onstant (parsed using st
PMDA_LOCAL_SAMPLE |
If set, then a context established with the type of PM_CONTE=
XT_LOCAL will have access to the =E2=80=98=E2=80=98sample=E2=80=99=E2=80=99=
PMDA if this optional PMDA has been installed locally. |
PMIECONF_PATH |
- If set, pmieconf(1) will form its pmieconf(4) =
specification (set of parameterized pmie(1) rules) using all valid=
pmieconf files found below each subdirectory in this colon-separa=
ted list of subdirectories. If not set, the default is $PCP_VAR_DIR/conf=
ig/pmieconf. |
+ If set, pmieconf(1) will form its pmieconf(5) =
specification (set of parameterized pmie(1) rules) using all valid=
pmieconf files found below each subdirectory in this colon-separa=
ted list of subdirectories. If not set, the default is $PCP_VAR_DIR/conf=
ig/pmieconf. |
@@ -202,7 +202,7 @@ where number is an integer or floating point c=
onstant (parsed using st
/etc/pcp.conf |
- Configuration file for the PCP runtime environment, see p=
cp.conf(4). |
+ Configuration file for the PCP runtime environment, see p=
cp.conf(5). |
$PCP_RC_DIR/pcp |
Script for starting and stopping pmcd(1). |
$PCP_PMCDCONF_PATH |
@@ -229,7 +229,7 @@ where number is an integer or floating point c=
onstant (parsed using st
$PCP_VAR_DIR/config/pmcd/rc.local =
TD>
| Local script for controlling PCP boot, shutdown and restart =
actions. |
$PCP_VAR_DIR/pmns/root |
- The ASCII $PCP_LOG_DIR/NOTICES/pmns(4) exported by pmcd(1) by default. This PMNS is be the super set of all other PMNS=
files installed in $PCP_VAR_DIR/pmns. |
+ The ASCII $PCP_LOG_DIR/NOTICES/pmns(5) exported by pmcd(1) by default. This PMNS is be the super set of all other PMNS=
files installed in $PCP_VAR_DIR/pmns. |
$PCP_LOG_DIR/NOTICES |
In addition to the pmcd(1) and PMDA activity, may be =
used to log alarms and notices from pmie(1) via pmpost(1). =
|
$PCP_VAR_DIR/config/pmlogger/control |
@@ -239,7 +239,7 @@ where number is an integer or floating point c=
onstant (parsed using st
-Environment variables with the prefix PCP_ are used to parameterize t=
he file and directory names used by PCP. On each installation, the file =
/etc/pcp.conf contains the local values for these variables. The =
$PCP_CONF variable may be used to specify an alternative configura=
tion file, as described in pcp.conf(4).
+
Environment variables with the prefix PCP_ are used to parameterize t=
he file and directory names used by PCP. On each installation, the file =
/etc/pcp.conf contains the local values for these variables. The =
$PCP_CONF variable may be used to specify an alternative configura=
tion file, as described in pcp.conf(5).
diff --git a/man/man1/pmatop.1 b/man/man1/pmatop.1
index 3cbbef5f1140..7d10c7035229 100644
--- a/man/man1/pmatop.1
+++ b/man/man1/pmatop.1
@@ -208,5 +208,5 @@ pmatop will continue with a next sample.
.BR pmval (1),
.BR PMAPI (3),
and
-.BR pcp.conf (4).
+.BR pcp.conf (5).
=20
diff --git a/man/man1/pmchart.1 b/man/man1/pmchart.1
index 3cd2a40dd4b4..8632d2f45b7b 100644
--- a/man/man1/pmchart.1
+++ b/man/man1/pmchart.1
@@ -627,7 +627,7 @@ The
variable may be used to specify an alternative
configuration file,
as described in
-.BR pcp.conf (4).
+.BR pcp.conf (5).
.PP
Of particular note, the
.B $PCP_XCONFIRM_PROG
@@ -649,7 +649,7 @@ application.
.BR pmval (1),
.BR pmcd (1),
.BR pminfo (1),
-.BR pcp.conf (4),
-.BR pcp.env (4)
+.BR pcp.conf (5),
+.BR pcp.env (5)
and
-.BR pmns (4).
+.BR pmns (5).
diff --git a/man/man1/pmdumptext.1 b/man/man1/pmdumptext.1
index 5fffaa3fffd0..04bdc5f01704 100644
--- a/man/man1/pmdumptext.1
+++ b/man/man1/pmdumptext.1
@@ -408,7 +408,7 @@ The
variable may be used to specify an alternative
configuration file,
as described in
-.BR pcp.conf (4).
+.BR pcp.conf (5).
.SH SEE ALSO
.BR pmchart (1),
.BR pmtime (1),
diff --git a/man/man1/pmquery.1 b/man/man1/pmquery.1
index 9644e8443114..b09fafda77cc 100644
--- a/man/man1/pmquery.1
+++ b/man/man1/pmquery.1
@@ -231,7 +231,7 @@ terminal with an ssh session connected to the request=
ed host.
.B pmquery
is an excellent choice of utility for the "PCP_XCONFIRM_PROG"
Performance Co-Pilot configuration parameter (refer to
-.BR pcp.conf (4)
+.BR pcp.conf (5)
for details).
.PP
Note that PCP_XCONFIRM_PROG will be automatically set to
@@ -249,4 +249,4 @@ zero on success.
.BR pmchart (1),
.BR xconfirm (1),
.BR xmessage (1),
-.BR pcp.conf (4).
+.BR pcp.conf (5).
diff --git a/man/man1/pmview.1 b/man/man1/pmview.1
index 3f0ceb7f0706..15750d117df9 100644
--- a/man/man1/pmview.1
+++ b/man/man1/pmview.1
@@ -547,7 +547,7 @@ The
variable may be used to specify an alternative
configuration file,
as described in
-.BR pcp.conf (4).
+.BR pcp.conf (5).
.SH SEE ALSO
.BR dkvis (1),
.BR insight (1),
@@ -569,8 +569,8 @@ as described in
.BR X (1),
.BR xconfirm (1),
.BR xlv_vis (1),
-.BR pcp.conf (4),
-.BR pmview (4),
+.BR pcp.conf (5),
+.BR pmview (5),
.BR environ (5)
and
.BR pmlaunch (5).
diff --git a/man/man1/sheet2pcp.1 b/man/man1/sheet2pcp.1
index 2230ee85e9fc..4a5bd4e2d765 100644
--- a/man/man1/sheet2pcp.1
+++ b/man/man1/sheet2pcp.1
@@ -106,7 +106,7 @@ tag supports the following optional attributes:
.IX Item "pmid"
The Performance Metrics Identifier (\s-1PMID\s0), specified as 3 numbers
separated by a periods (.) to
-set the \fBdomain\fR, \fBcluster\fR and \fBitem\fR fields of the \s-1PMI=
D\s0, see \fB\s-1PMNS\s0\fR(4)
+set the \fBdomain\fR, \fBcluster\fR and \fBitem\fR fields of the \s-1PMI=
D\s0, see \fB\s-1PMNS\s0\fR(5)
for more details of PMIDs. If omitted, the \s-1PMID\s0 will be automati=
cally
assigned by \fBpmiAddMetric\fR(3).
The value \fB\s-1PM_ID_NULL\s0\fR may be used to explicitly nominate
diff --git a/man/man3/pmgetoptions.3 b/man/man3/pmgetoptions.3
index a713b2b801b6..b14e55eb8b10 100644
--- a/man/man3/pmgetoptions.3
+++ b/man/man3/pmgetoptions.3
@@ -474,7 +474,7 @@ function.
.BR getopt (3),
.BR getopt_long (3),
.BR pmNewContext (3),
-.BR pmconfig (3),
+.BR pmconfig (1),
.BR pmprintf (3),
.BR pmflush (3)
and
diff --git a/man/man3/pmwebapi.3 b/man/man3/pmwebapi.3
index 20fd4355b408..97081d5fce80 100644
--- a/man/man3/pmwebapi.3
+++ b/man/man3/pmwebapi.3
@@ -314,7 +314,7 @@ Same, with a slightly different result encoding.
=20
.BR PCPIntro (1),
.BR PCPIntro (3),
-.BR pmwebd (3),
+.BR pmwebd (1),
.nh
.BR http://graphite.readthedocs.org/
.hy
diff --git a/src/pcp/free/pcp-free.1 b/src/pcp/free/pcp-free.1
index 2a8b4f80d4a5..565c4272140d 100644
--- a/src/pcp/free/pcp-free.1
+++ b/src/pcp/free/pcp-free.1
@@ -66,6 +66,6 @@ The shared memory column should be ignored; it is obsol=
ete.
.BR pcp (1),
.BR free(1),
.BR PCPIntro (1),
-.BR pmParseInterval (1)
+.BR pmParseInterval (3)
and
.BR environ (5).
--=20
2.1.0
From kenj@internode.on.net Sun Nov 9 16:38:49 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 1B9AB7F67
for ; Sun, 9 Nov 2014 16:38:49 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay1.corp.sgi.com (Postfix) with ESMTP id E098B8F8033
for ; Sun, 9 Nov 2014 14:38:45 -0800 (PST)
X-ASG-Debug-ID: 1415572719-04bdf0650e185730001-S8gJnT
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id aoRf298e5HdBXmmL for ; Sun, 09 Nov 2014 14:38:40 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.143
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AsABAN/rX1R20SpqPGdsb2JhbAANToNiWYMGhDfEK4h+AQEBAQEGAQEBATiEZ1UwBgIFFgsCCwMCAQIBMScGAgEBiEq2XXiVRYEtkAWCYYFUBYY6kEqIVYcBkjlYgksBAQE
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail05.adl6.internode.on.net with ESMTP; 10 Nov 2014 09:08:39 +1030
Message-ID: <545FED4E.5080800@internode.on.net>
Date: Mon, 10 Nov 2014 09:40:14 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Subject: pcp updates - assorted
Content-Type: text/plain; charset=utf-8
X-ASG-Orig-Subj: pcp updates - assorted
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143]
X-Barracuda-Start-Time: 1415572720
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11410
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Changes committed to git://git.performancecopilot.org/kenj/pcp.git dev
qa/003 | 1
qa/752.out | 228 ++++++++++++++++++++++++-------------------------
qa/944 | 1
qa/src/rtimetest.c | 90 ++++++++++++++++++-
src/include/buildrules | 2
5 files changed, 203 insertions(+), 119 deletions(-)
commit d1ab4c41b9be162a3245a1d350bfd5cf2e180f9d
Author: Ken McDonell
Date: Mon Nov 10 09:39:19 2014 +1100
qa/src/rtimetest.c: improve diags, accept command line args
On the trail of the "Next Tuesday" bug ...
commit ecc90bf9f0b23e9bc1a2445cb8eacd5638df26d7
Author: Ken McDonell
Date: Mon Nov 10 09:37:24 2014 +1100
buildrules: need rm -f before ln -s
In the build this was hidden because the alternate named python and
perl files did not exist.
But the same rule is used in qa/src and there the targets may exist
and it was only a matter of time before this bit somone ... like me
a couple of days ago.
commit 5e32d07b38272fda1bce37f24449b352cec9eac7
Author: Ken McDonell
Date: Fri Nov 7 06:46:52 2014 +1100
qa/752: tidy up output from rtimetest.c
Previous commit made the formatting harder to read which was the exact
opposite of the intention.
The "Tuesday" bug remains unresolved at this point in time.
commit 9b736c050261be3ae9abff857004449a3cd63659
Author: Ken McDonell
Date: Fri Nov 7 06:36:18 2014 +1100
qa/003: hinv.node.online not always available, add to filter
commit db2bd86aa051f8c7d47836002b7d2ab1d291c930
Author: Ken McDonell
Date: Thu Nov 6 09:48:56 2014 +1100
qa/944: better handling of multiple users being in the same default group
For example on grundy, need to handle case when the target is _not_ first
in the list, ... so filter
12(games),1000(kenj),1001(trev)
to produce
GROUPID(GROUPNAME),...
not
12(games), GROUPID(GROUPNAME),...
From nscott@redhat.com Sun Nov 9 17:28:09 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 4B4817F60
for ; Sun, 9 Nov 2014 17:28:09 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id 3A77B304032
for ; Sun, 9 Nov 2014 15:28:06 -0800 (PST)
X-ASG-Debug-ID: 1415575665-04cb6c1e6d163e00001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id 4LZ9FdHQmNYBNxsQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 09 Nov 2014 15:27:46 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sA9NRjDm012599
for ; Sun, 9 Nov 2014 18:27:45 -0500
Date: Sun, 9 Nov 2014 18:27:45 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: pcp
Message-ID: <1912154843.10770665.1415575665397.JavaMail.zimbra@redhat.com>
In-Reply-To: <1906858742.10770643.1415575645946.JavaMail.zimbra@redhat.com>
Subject: pcp updates: docs, qa
MIME-Version: 1.0
X-ASG-Orig-Subj: pcp updates: docs, qa
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp updates: docs, qa
Thread-Index: SjOlVNiTijuvrN52RY54W4IcSpQ2Fw==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415575666
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Barracuda-BRTS-Status: 1
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11411
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Changes committed to git://git.pcp.io/pcp.git dev
Ken McDonell (4):
qa/003: hinv.node.online not always available, add to filter
qa/752: tidy up output from rtimetest.c
buildrules: need rm -f before ln -s
qa/src/rtimetest.c: improve diags, accept command line args
Nathan Scott (2):
qa: extend http request filter for 780/782 determinism
qa: extend http request filter for qa/660 determinism
Michele Baldessari (1):
docs: fix man page sections
man/html/lab.importdata.html | 2
man/html/pcpintro.html | 10 -
man/man1/pmatop.1 | 2
man/man1/pmchart.1 | 8 -
man/man1/pmdumptext.1 | 2
man/man1/pmquery.1 | 4
man/man1/pmview.1 | 6 -
man/man1/sheet2pcp.1 | 2
man/man3/pmgetoptions.3 | 2
man/man3/pmwebapi.3 | 2
qa/003 | 1
qa/660 | 20 +++
qa/660.out.4 | 2
qa/660.out.46 | 2
qa/752.out | 228 +++++++++++++++++++++----------------------
qa/common.webapi | 15 +-
qa/src/rtimetest.c | 90 ++++++++++++++++
src/include/buildrules | 2
src/pcp/free/pcp-free.1 | 2
19 files changed, 254 insertions(+), 148 deletions(-)
From kenj@internode.on.net Sun Nov 9 18:08:43 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 811807F67
for ; Sun, 9 Nov 2014 18:08:43 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay1.corp.sgi.com (Postfix) with ESMTP id 6FB1B8F8033
for ; Sun, 9 Nov 2014 16:08:43 -0800 (PST)
X-ASG-Debug-ID: 1415578117-04cbb00e681524d0001-S8gJnT
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id IRpDPmZ8VfRFxl9L for ; Sun, 09 Nov 2014 16:08:38 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.143
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ar0BAP4AYFR20SpqPGdsb2JhbAANTodBhDfIXoRPAQEBAQEGAQEBATiEZxVANgIFFgsCCwMCAQIBMRoNCAEBvzx4lRwsgS2SZoFUBasojWuDIwEBAQ
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail05.adl6.internode.on.net with ESMTP; 10 Nov 2014 10:38:37 +1030
Message-ID: <54600264.2080602@internode.on.net>
Date: Mon, 10 Nov 2014 11:10:12 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: PCP
Subject: qa/843 - memory_python, failure
Content-Type: text/plain; charset=utf-8; format=flowed
X-ASG-Orig-Subj: qa/843 - memory_python, failure
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143]
X-Barracuda-Start-Time: 1415578118
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11413
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Is there a minimum Python version required for qa/843 and the
memory_python PMDA?
The test is failing on i586 CentOS 5.10 with this python
kenj@vm04:~/src/pcp/qa$ python -V
Python 2.4.3
and with this in the PMDA's log file.
Log for pmdamemory_python on vm04.localdomain started Sun Nov 9
09:25:29 2014
[Sun Nov 9 09:25:34] pmdamemory_python(6079) Info: _metric_names value
is '', not 'memory_python.memory_valid'
Traceback (most recent call last):
File
"/home/kenj/src/pcp/qa/pmdas/memory_python/pmdamemory_python.python",
line 55, in memory_fetch
raise KeyError(msg)
KeyError: "_metric_names value is '', not 'memory_python.memory_valid'"
From nscott@redhat.com Sun Nov 9 18:16:48 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 375E67F67
for ; Sun, 9 Nov 2014 18:16:48 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay1.corp.sgi.com (Postfix) with ESMTP id 23BFA8F8035
for ; Sun, 9 Nov 2014 16:16:48 -0800 (PST)
X-ASG-Debug-ID: 1415578605-04cb6c1e6a164e40001-S8gJnT
Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id 7fS5k3iDWGJVHDOh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 09 Nov 2014 16:16:46 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.24
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAA0Gg0I014992;
Sun, 9 Nov 2014 19:16:42 -0500
Date: Sun, 9 Nov 2014 19:16:41 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Ken McDonell
Cc: PCP
Message-ID: <1652357511.10779967.1415578601559.JavaMail.zimbra@redhat.com>
In-Reply-To: <54600264.2080602@internode.on.net>
References: <54600264.2080602@internode.on.net>
Subject: Re: [pcp] qa/843 - memory_python, failure
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] qa/843 - memory_python, failure
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: qa/843 - memory_python, failure
Thread-Index: b80bqJ7yl8q0AJT4BFqLkGfK9tv/5Q==
X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24]
X-Barracuda-Start-Time: 1415578606
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11413
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Hi Ken,
----- Original Message -----
> Is there a minimum Python version required for qa/843 and the
> memory_python PMDA?
>
> The test is failing on i586 CentOS 5.10 with this python
>
> kenj@vm04:~/src/pcp/qa$ python -V
> Python 2.4.3
There's a minimum python version for all of PCP - 2.6 - so I'm
guessing this machine has an old pcp-python package installed,
from an older PCP version?
The test is also missing a does-the-python-pmda-module-exist at
all check (notrun) - I'll add that in.
cheers.
--
Nathan
From kenj@internode.on.net Sun Nov 9 20:44:13 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 88A787F67
for ; Sun, 9 Nov 2014 20:44:13 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay3.corp.sgi.com (Postfix) with ESMTP id 23E86AC007
for ; Sun, 9 Nov 2014 18:44:12 -0800 (PST)
X-ASG-Debug-ID: 1415587450-04bdf0650d18e3e0001-S8gJnT
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id k7dXw6MeV5UejFRT for ; Sun, 09 Nov 2014 18:44:11 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.143
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ar4BAJQlYFR20SpqPGdsb2JhbAANTodBhDfIXoMgAoEwAQEBAQEGAQEBATiEPQEBAQMBIwQRQAEMBAsYAgIFFgsCAgkDAgECATEUBg0BBwEBiDS3JXiVHgEBAQEBAQEBAgEBAQEBAQEbgS2PaAeCd4FUAQSrKI1rgyMBAQE
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail05.adl6.internode.on.net with ESMTP; 10 Nov 2014 13:14:09 +1030
Message-ID: <546026D9.9050100@internode.on.net>
Date: Mon, 10 Nov 2014 13:45:45 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: PCP
Subject: Re: [pcp] qa/843 - memory_python, failure
References: <54600264.2080602@internode.on.net> <1652357511.10779967.1415578601559.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] qa/843 - memory_python, failure
In-Reply-To: <1652357511.10779967.1415578601559.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143]
X-Barracuda-Start-Time: 1415587450
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11417
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
On 10/11/14 11:16, Nathan Scott wrote:
> Hi Ken,
>
> ----- Original Message -----
>> Is there a minimum Python version required for qa/843 and the
>> memory_python PMDA?
>>
>> The test is failing on i586 CentOS 5.10 with this python
>>
>> kenj@vm04:~/src/pcp/qa$ python -V
>> Python 2.4.3
>
> There's a minimum python version for all of PCP - 2.6 - so I'm
> guessing this machine has an old pcp-python package installed,
> from an older PCP version?
Sort of yes and no ... has 3.10 pcp-python from an earlier build, but no
pcp-python from the latest 3.10 build.
kenj@vm04:~/src/pcp/qa$ rpm -qa | grep -E '^(pcp-3|python-pcp)'
python-pcp-3.10.0-7
pcp-3.10.0-19
And python 2.7 is sort of installed here ... python -> python2.4 but
kenj@vm04:~/src/pcp/qa$ python2.7 -V
Python 2.7.3
kenj@vm04:~/src/pcp/qa$ which python2.7
/usr/bin/python2.7
kenj@vm04:~/src/pcp/qa$ rpm -q -f /usr/bin/python2.7
file /usr/bin/python2.7 is not owned by any package
I have no idea how it got like this, let me see if I can clean the
installation up.
>
> The test is also missing a does-the-python-pmda-module-exist at
> all check (notrun) - I'll add that in.
Ta.
From kvivekananthan@zoho.com Mon Nov 10 00:07:09 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_FONT_FACE_BAD,
HTML_MESSAGE autolearn=ham version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 3DE6C7F62
for ; Mon, 10 Nov 2014 00:07:09 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 1D86C304039
for ; Sun, 9 Nov 2014 22:07:06 -0800 (PST)
X-ASG-Debug-ID: 1415599621-04bdf0650e193750001-S8gJnT
Received: from sender1.zohomail.com (sender1.zohomail.com [74.201.84.154]) by cuda.sgi.com with ESMTP id 9lF8avZUVVz651io (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Sun, 09 Nov 2014 22:07:02 -0800 (PST)
X-Barracuda-Envelope-From: kvivekananthan@zoho.com
X-Barracuda-Apparent-Source-IP: 74.201.84.154
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
s=zapps768; d=zoho.com;
h=date:from:to:message-id:subject:mime-version:content-type:user-agent;
b=I7T2csuvc6whWvdGXGlfcJxr82EM4er2oy2nypK10r7Wa2TB4Gj2DdZPpitE/fm2IMRqPSKOkJdQ
wUYll4IlZlmBmbmAEtkvzPuxLIeI2H62hwdpXdSaK8ZsnPqGWCnl
Received: from mail.zoho.com by mx.zohomail.com
with SMTP id 141559962129551.11984090534895; Sun, 9 Nov 2014 22:07:01 -0800 (PST)
Date: Mon, 10 Nov 2014 11:37:01 +0530
From: kvivekananthan
To:
Message-ID: <1499850047f.1099d424c320050.6651429955964838422@zoho.com>
Subject: Reg : pmdumptext command not installing
MIME-Version: 1.0
X-ASG-Orig-Subj: Reg : pmdumptext command not installing
Content-Type: multipart/alternative;
boundary="----=_Part_416669_323650818.1415599621246"
X-Priority: MEDIUM
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-Barracuda-Connect: sender1.zohomail.com[74.201.84.154]
X-Barracuda-Start-Time: 1415599622
X-Barracuda-Encrypted: RC4-MD5
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.61
X-Barracuda-Spam-Status: No, SCORE=0.61 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_FONT_FACE_BAD, HTML_MESSAGE
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11421
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
-0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes
verification
0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature
0.00 HTML_MESSAGE BODY: HTML included in message
0.61 HTML_FONT_FACE_BAD BODY: HTML font face is not a word
------=_Part_416669_323650818.1415599621246
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Hi,
I'm trying to install pcp in a freebsd 9.2 server. pmdumptext command is not installing be default. Is there any option to mention in configure to enable it.
Regards,
Vivekananthan. K
------=_Part_416669_323650818.1415599621246
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Hi,
I'm trying to install pcp in a freebsd 9.2 server. pmdumptext command is not installing be default. Is there any option to mention in configure to enable it.
Regards,
------=_Part_416669_323650818.1415599621246--
From nscott@redhat.com Mon Nov 10 00:16:43 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 07AB67F62
for ; Mon, 10 Nov 2014 00:16:43 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay3.corp.sgi.com (Postfix) with ESMTP id 88E52AC034
for ; Sun, 9 Nov 2014 22:16:42 -0800 (PST)
X-ASG-Debug-ID: 1415600199-04cbb00e6915dd80001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id fOTBLfGxGwl7IBLr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 09 Nov 2014 22:16:40 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAA6GdWW031109;
Mon, 10 Nov 2014 01:16:39 -0500
Date: Mon, 10 Nov 2014 01:16:38 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: kvivekananthan
Cc: pcp@oss.sgi.com
Message-ID: <763726291.10878298.1415600198740.JavaMail.zimbra@redhat.com>
In-Reply-To: <1499850047f.1099d424c320050.6651429955964838422@zoho.com>
References: <1499850047f.1099d424c320050.6651429955964838422@zoho.com>
Subject: Re: [pcp] Reg : pmdumptext command not installing
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Reg : pmdumptext command not installing
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Reg : pmdumptext command not installing
Thread-Index: pc0OUfQ/0aH+UpzEfyrBRZJEHOlRfg==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415600200
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11421
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
----- Original Message -----
> Hi,
>
> I'm trying to install pcp in a freebsd 9.2 server. pmdumptext command is not
> installing be default. Is there any option to mention in configure to enable
> it.
pmdumptext uses the Qt console libraries - you'll need to have a Qt development
environment installed, and pmdumptext (and pmchart, pmtime, ...) will then build
automatically.
Info here - https://www.freebsd.org/doc/en/books/porters-handbook/using-qt.html
(you'll need qt >= 4.4 to build the PCP tools that rely on it, incl pmdumptext)
cheers.
--
Nathan
From nscott@redhat.com Mon Nov 10 00:27:05 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id 3651D7F62
for ; Mon, 10 Nov 2014 00:27:05 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay3.corp.sgi.com (Postfix) with ESMTP id A7930AC038
for ; Sun, 9 Nov 2014 22:27:04 -0800 (PST)
X-ASG-Debug-ID: 1415600821-04cbb00e6715e2a0001-S8gJnT
Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id LwRNE8pNcZg8zjJM (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 09 Nov 2014 22:27:02 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.39
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sAA6R0Ai026324;
Mon, 10 Nov 2014 01:27:00 -0500
Date: Mon, 10 Nov 2014 01:26:59 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Martins Innus
Cc: pcp
Message-ID: <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
In-Reply-To: <545D2CFA.1050600@buffalo.edu>
References: <545D2CFA.1050600@buffalo.edu>
Subject: Re: [pcp] Dynamic Proc PMDA metrics
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Dynamic Proc PMDA metrics
Thread-Index: acR6pVAtHRBlSwlKgqqljOQ9nimP9w==
X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39]
X-Barracuda-Start-Time: 1415600822
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11422
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
----- Original Message -----
> Hi,
>
> I think I have a pretty good version of the dynamic proc metrics implemented
> as they relate to anything with a PID instance. My tree is here:
>
> https://github.com/ubccr/pcp/tree/dynamic_proc
Great, thanks Martins. I've started using this code as the base for that
cgroups metric rework too.
> If this all looks generally ok, I'll submit my hotprocs changes on top of
> this.
Yes please.
> I modeled it on the basic structure of linux/interrupts.c. A couple
> things:
>
> 1. I ran the existing QA tests (./check -g pmda.proc) and everything seemed
> to be OK, except for the ordering of the metrics in 022 and 943. I don't
> think this can be fixed since it would mean some non-dynamic metrics would
> have to come in the middle. Let me know if there is a way/desire to fix the
> ordering.
I have a fix for 022 & will do 943 - they're fixable using sort(1) to produce
deterministic output.
I'm also seeing 580 fail, looks probably related:
$ diff 580.out 580.out.bad
7,9c7
< pm*InDom: inst=[1] iname= reverse lookup: inst=[1]
< pmGetInDom:
< [1]
---
> Error: Unknown or illegal metric identifier
I'll dig into it later in the week if its not failing elsewhere and/or not
reproducible.
> 2. I needed to use pmdaTreeRebuildHash while the interrupts code didn't. Joe
> pointed out that this is likely due to that fact that the linux pmda runs as
> a dso and proc does not. So there may be some other code that handles the
> dso case differently. I couldn't find this documented anywhere.
Yeah, thats like it - pmcd will do it (internally via libpcp) and that is
probably fixing things up by luck for those interrupt metrics too.
> 3. Couldn't find any precedent for handling long form help text for dynamic
> pmdas. So I just generated a header file from the existing help file and
> used that. Let me know if you want something different. Attached is the perl
> script I wrote for that in case it is generally useful.
We might be able to do some remapping from hotproc -> proc variants, but I
don't think there's any precedence there I can point you towards - I'll can
take a look into that too if you like.
> 4. I left a few commented code sections that will show where hotprocs will
> hook in. Will add another root node, and all other stuff ( help, etc ) will
> be shared.
Perfect.
> If this looks ok, it will probably take another day to update hotprocs. Let
> me know if there is anything that looks wrong or needs to be changed.
Its looking good to me, thanks Martins!
cheers.
--
Nathan
From kenj@internode.on.net Mon Nov 10 13:42:00 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id D98817F54
for ; Mon, 10 Nov 2014 13:42:00 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id A90ED304043
for ; Mon, 10 Nov 2014 11:42:00 -0800 (PST)
X-ASG-Debug-ID: 1415648517-04bdf0650d1c0f90001-S8gJnT
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id DyaUbmgHDyFYTAp5 for ; Mon, 10 Nov 2014 11:41:57 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApgBAF4UYVR20Spq/2dsb2JhbAANT4NiWYMGyHWJEgEBAQEBhSlVMAYCBRYLAgsDAgECAVgGAgEBiEq2THiWMIEtkAWCYYFUBZcEog9YgksBAQE
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail07.adl2.internode.on.net with ESMTP; 11 Nov 2014 06:11:57 +1030
Message-ID: <5461155A.9050608@internode.on.net>
Date: Tue, 11 Nov 2014 06:43:22 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Subject: pcp updates - small debian build change + QA
Content-Type: text/plain; charset=utf-8
X-ASG-Orig-Subj: pcp updates - small debian build change + QA
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1415648517
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11441
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Changes committed to git://git.performancecopilot.org/kenj/pcp.git dev
Makepkgs | 1 +
qa/188 | 2 +-
qa/635 | 11 +++++++++++
qa/722 | 3 ++-
qa/842 | 2 +-
qa/admin/pcp-qa-summary | 6 +++++-
qa/src/rtimetest.c | 7 ++++---
qa/valgrind-suppress-3.5.0 | 10 ++++++++++
8 files changed, 35 insertions(+), 7 deletions(-)
commit 57f58207e132b54ce2ec74a5b2048f7724534034
Author: Ken McDonell
Date: Tue Nov 11 06:41:41 2014 +1100
qa/722: ensure the pmafm folder is removed
commit d7f6018a069be11eb4b92e777554652cb8baa233
Author: Ken McDonell
Date: Tue Nov 11 06:40:35 2014 +1100
qa/635: extra diags to .full
Trying to track down a rogue failure.
commit c9779728b37d08ff27e5c6c0f4b9300025ccab50
Author: Ken McDonell
Date: Tue Nov 11 06:37:40 2014 +1100
Makepkgs: debian build change
Blow build/deb away and recreate the directory.
Ensures we don't have .deb packages for multiple releases when the
release version changes or stale packages when the package guards
change.
commit 90de65fb74089ff6f0ade98bfc25923e0cfa2acf
Author: Ken McDonell
Date: Tue Nov 11 06:35:50 2014 +1100
qa/admin/pcp-qa-summary: fix -f arithmetic
Failure % should be calculated basewd on the number of hosts with
some QA results, not the number of hosts with some QA failures.
Problem was not visible until we got a significant number of hosts
with 0 failures ... 8^)>
commit e83c4a46d7886cfeeee0e2db25f0caae54d4fb08
Author: Ken McDonell
Date: Tue Nov 11 06:35:02 2014 +1100
qa/src/rtimetest.c: fix argc logic error when -D... present
commit 5a79e94c77fdfe411abf4b71c5bc751220a5b8d6
Author: Ken McDonell
Date: Mon Nov 10 15:54:16 2014 +1100
qa/188: glibc-2.18- also produces linux-style 188.out
commit 5d32d62f112d5711654fe23b8d2345253d43440e
Author: Ken McDonell
Date: Mon Nov 10 15:15:46 2014 +1100
qa/valgrind-suppress-3.5.0: more strangeness to suppress on CentOS 5.10
commit a6bcedffd15b3be94fe506e66f6c18a36108bd8e
Author: Ken McDonell
Date: Mon Nov 10 15:15:03 2014 +1100
qa/842: fix typo in notrun guard
From kenj@internode.on.net Mon Nov 10 14:00:33 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id AAD327F3F
for ; Mon, 10 Nov 2014 14:00:33 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay1.corp.sgi.com (Postfix) with ESMTP id 8A5988F8035
for ; Mon, 10 Nov 2014 12:00:30 -0800 (PST)
X-ASG-Debug-ID: 1415649628-04bdf0650e1c30e0001-S8gJnT
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id jd54tg9krTf2eCZT for ; Mon, 10 Nov 2014 12:00:28 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApUBAOcXYVR20Spq/2dsb2JhbAANT9RpgyACgT0BAQEBAYUAAQEEJxFAEQsYCRYPCQMCAQIBRRMIAQG+b5cCAQEIAgEfkRwWhDUBBJ9ZkSKIGIMjAQEB
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail07.adl2.internode.on.net with ESMTP; 11 Nov 2014 06:30:27 +1030
Message-ID: <546119B1.6050306@internode.on.net>
Date: Tue, 11 Nov 2014 07:01:53 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Subject: Re: [pcp] Dynamic Proc PMDA metrics
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
In-Reply-To: <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1415649628
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11442
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
On 10/11/14 17:26, Nathan Scott wrote:
> ...
>> 3. Couldn't find any precedent for handling long form help text for dynamic
>> pmdas. So I just generated a header file from the existing help file and
>> used that. Let me know if you want something different. Attached is the perl
>> script I wrote for that in case it is generally useful.
>
> We might be able to do some remapping from hotproc -> proc variants, but I
> don't think there's any precedence there I can point you towards - I'll can
> take a look into that too if you like.
>
Looks like we've made a mistake when the pmdadynamicFoo stuff was added.
Based on a quick code inspection, I think this prototype
typedef int (*pmdaUpdateText)(pmdaExt *, pmID, int, char **);
should have included another int parameter to allow the "type" from
pmdaDynamicLookupText() to be passed through to the callback routine
registered via pmdaDynamicPMNS() that I'm guessing your PMDA is using in
its own version of pmdaText() (rather than the default one).
This means you can't get indom helptext either for a dynamic indom that
is associated with a dynamic metric (and otherwise unknown to the PMDA).
From nscott@redhat.com Mon Nov 10 20:40:10 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id E26727F3F
for ; Mon, 10 Nov 2014 20:40:09 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay3.corp.sgi.com (Postfix) with ESMTP id 7F5C4AC00C
for ; Mon, 10 Nov 2014 18:40:06 -0800 (PST)
X-ASG-Debug-ID: 1415673601-04bdf0650e1ed2a0001-S8gJnT
Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id UaYBtux4meNyFM4j (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 10 Nov 2014 18:40:02 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.24
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAB2e1kk016937;
Mon, 10 Nov 2014 21:40:01 -0500
Date: Mon, 10 Nov 2014 21:40:01 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: David Smith
Cc: pcp
Message-ID: <615631257.11639679.1415673601327.JavaMail.zimbra@redhat.com>
In-Reply-To: <545CEE9A.5060007@redhat.com>
References: <54512E80.9090302@redhat.com> <1832581184.7889066.1415166007440.JavaMail.zimbra@redhat.com> <545A53B0.9030500@redhat.com> <704052736.8837998.1415255680009.JavaMail.zimbra@redhat.com> <545CEE9A.5060007@redhat.com>
Subject: Re: [pcp] [RFC] pcp python patch
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] [RFC] pcp python patch
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: pcp python patch
Thread-Index: e2/j/9RAJf+OgO8c6XlGobFwlB4/zg==
X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24]
X-Barracuda-Start-Time: 1415673601
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.03
X-Barracuda-Spam-Status: No, SCORE=0.03 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11457
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient
Domain
Hi David,
----- Original Message -----
> [...]
> We have 3 distinct classes of dictionaries, each treated differently.
> During PMDA.run(), the PMDA class passes down to cpmda several dictionaries:
>
> (1) self._metric_names (used by cpmda.pmns_refresh)
> (2) self._metric_oneline (used by cpmda.pmid_oneline_refresh)
> (2) self._metric_helptext (used by cpmda.pmid_longtext_refresh)
> (2) self._indom_oneline (used by cpmda.indom_oneline_refresh)
> (2) self._indom_helptext (used by cpmda.indom_longtext_refresh)
> (3) self._indomtable (used by cpmda.pmda_dispatch)
> (3) self._metrictable (used by cpmda.pmda_dispatch)
>
> Dictionaries marked by (1) are passed down, used once when needed, then
> discarded.
>
> Dictionaries marked by (2) are passed down and kept, used when needed,
> never discarded.
>
> Dictionaries marked by (3) aren't passed down and kept. Instead the PMDA
> class creates a string buffer for each dictionary and passes that down
> to cpmda. This string buffer is used once and then discarded.
>
> I was thinking all dictionaries were treated as being in class (1) (used
> once then discarded). That's why I was passing down everything again in
> PMDA.__refresh_metrics(). Since I don't need to pass down items again in
> class (2), that simplifies PMDA.__refresh_metrics() to:
>
> ====
> def __refresh_metrics(self):
> # Call the user's function.
> if self.__refresh_metrics_func:
> self.__refresh_metrics_func()
>
> if cpmda.get_need_refresh():
> self.pmns_refresh()
> cpmda.pmda_rehash(self._indomtable, self._metrictable)
> ====
Yeah, that's much neater - nice!
> We actually could go further here, if we can change the cpmda interface.
> I'm not sure how set in stone it is. I'm not talking about a change to
> the PMDA class interface here, just the cpmda interface. If we change
> cpmda.pmda_dispatch() to take the indomtable and metrictable
> dictionaries directly (instead of using string buffers), we could keep
> them around for use later by pmda_rehash() - basically moving them to
> class (2).
That would be neat indeed. The cpmda interface is very "internal" - the
python API (which sits atop it) used by PMDAs is really the interface we
need to preserve. So, I think it'd be OK to make a change like you are
describing here - I can't see that ever affecting anyone. It may still
be possible to preserve back-compat using the varargs/keyword interfaces
- we could support two calling conventions for this API, one with the
dictionaries, the other with the string buffers. In fact, it might even
be enough to do a type-check on the passed-in arguments inside the cpmda
code, and switch behaviour based on what we get given.
But, that may be going too far for back-compat since I really can't see
how this change would affecting anyone, in reality, and it may just end
up with us keeping dead code around. Maybe write the code and you could
then make a judgement call based on how good/bad it gets when preserving
the existing interface/semantics?
> If we go that far, then all dictionaries are in class (2) (passed down
> and kept) - except for _metric_names in class (1). If we decide to move
> it to class (2), then all dictionaries are treated the same. At that
> point, we don't need a wrapper around the user's refresh_metrics()
> function in the PMDA class at all, since the cpmda already has all the
> information it needs (pointers to all the dictionaries) and knows when
> to do the refreshing.
Sounds good to me.
> > The only other thing I wanted to revisit a bit is this subtlety...
> >
> >>> I was expecting this "refreshing" would happen around the time
> >>> PDUs exchanges happen with pmcd, which delays it until the last
> >>> moment (and prevents the situation where unnecessary duplication
>
> I'm afraid you'll have decide on/help me figure out pcp subtleties...
>
> Right now the user's refresh_metrics callback function gets called down
> in cpmda at similar places as the mmv pmda calls mmv_reload_maybe().
> I'll need help in figuring out if that is causing unnecessary
> duplication. Assuming the user's refresh_metrics callback is smart
> enough to not change anything when it doesn't need to, then cpmda
> shouldn't really refresh anything either.
Yep, that'll be fine & is optimal as you have it, I believe.
> > Ah, yes, right you are - I was thinking PyBUF_SIMPLE was removed in 3.x
> > but on closer inspection it is still there & yep, looks like dead code.
> > I do vaguely remember some py3 porting issues around buffers - but this
> > looks unrelated.
>
> We should probably just delete the whole '#else' code to avoid confusing
> others in the future.
Yes please.
cheers.
--
Nathan
From nscott@redhat.com Tue Nov 11 00:41:11 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id B003F7F37
for ; Tue, 11 Nov 2014 00:41:11 -0600 (CST)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
by relay2.corp.sgi.com (Postfix) with ESMTP id 737D4304032
for ; Mon, 10 Nov 2014 22:41:08 -0800 (PST)
X-ASG-Debug-ID: 1415688063-04bdf0650d1fc810001-S8gJnT
Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id J6TXIokURiHhvG9V (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 10 Nov 2014 22:41:04 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.24
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAB6exus019639;
Tue, 11 Nov 2014 01:40:59 -0500
Date: Tue, 11 Nov 2014 01:40:58 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Ken McDonell , Martins Innus
Cc: pcp@oss.sgi.com
Message-ID: <587637728.11787602.1415688058653.JavaMail.zimbra@redhat.com>
In-Reply-To: <546119B1.6050306@internode.on.net>
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com> <546119B1.6050306@internode.on.net>
Subject: Re: [pcp] Dynamic Proc PMDA metrics
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Dynamic Proc PMDA metrics
Thread-Index: mtX+6401WI4BWKTe63aMuDrJyicLhQ==
X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24]
X-Barracuda-Start-Time: 1415688064
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11462
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Hi guys,
----- Original Message -----
> On 10/11/14 17:26, Nathan Scott wrote:
> > ...
> Looks like we've made a mistake when the pmdadynamicFoo stuff was added.
> Based on a quick code inspection, I think this prototype
>
> typedef int (*pmdaUpdateText)(pmdaExt *, pmID, int, char **);
>
> should have included another int parameter to allow the "type" from
> pmdaDynamicLookupText() to be passed through to the callback routine
> registered via pmdaDynamicPMNS() that I'm guessing your PMDA is using in
> its own version of pmdaText() (rather than the default one).
For dynamic metrics we can't use the libpcp_pmda pmdaText (aka pmdaGetHelp,
ie the compiled/mapped help text files).
There's a bit of missing functionality here that Martins found: we provide
no way for PMDAs with dynamic metrics to get library help for their metric
text. This is fundamentally because the compiled text files have PMIDs in
'em, and we're using dynamic namespace entries. IOW, at the time the help
files would usually be compiled (eg ./Install time) the pmns is not known,
so newhelp(1) has no chance.
Maybe we should have an option for libpcp_pmda to handle non-compiled help
text entries (ie. the plain text files with metric names instead of PMIDs)?
Not sure how much that would help in general, but it probably would in this
case where we could map the two sets of metrics to one set of help texts.
> This means you can't get indom helptext either for a dynamic indom that
> is associated with a dynamic metric (and otherwise unknown to the PMDA).
Not sure this is a real issue - the (custom) help text callbacks have to
deal with indoms (if present & help exists) themselves - and can do this
by simply calling pmdaText like proc does now. The dynamic code is all
about dynamic metric names, indoms are not really covered (and nor should
they be, I think?).
cheers.
--
Nathan
From minnus@buffalo.edu Tue Nov 11 09:32:10 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id AC7647F3F
for ; Tue, 11 Nov 2014 09:32:10 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay1.corp.sgi.com (Postfix) with ESMTP id 9A97C8F8050
for ; Tue, 11 Nov 2014 07:32:07 -0800 (PST)
X-ASG-Debug-ID: 1415719926-04cb6c1e6c1fe650001-S8gJnT
Received: from mtareserve1.acsu.buffalo.edu (mtareserve6.acsu.buffalo.edu [128.205.6.4]) by cuda.sgi.com with ESMTP id 0Yse8V5I4YEdxw6N for ; Tue, 11 Nov 2014 07:32:06 -0800 (PST)
X-Barracuda-Envelope-From: minnus@buffalo.edu
X-Barracuda-Apparent-Source-IP: 128.205.6.4
Received: from localmailC.acsu.buffalo.edu (localmailc.acsu.buffalo.edu [128.205.5.204])
by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id 010BEF2;
Tue, 11 Nov 2014 10:32:06 -0500 (EST)
Received: from localmailC.acsu.buffalo.edu (localhost [127.0.0.1])
by localhost (Postfix) with SMTP id F0978D9B4;
Tue, 11 Nov 2014 10:32:05 -0500 (EST)
Received: from localmailC.acsu.buffalo.edu (localhost [127.0.0.1])
by localmailC.acsu.buffalo.edu (Postfix) with ESMTP id 50AC4D9A4;
Tue, 11 Nov 2014 10:32:05 -0500 (EST)
Received: from smtp.buffalo.edu (smtp3.acsu.buffalo.edu [128.205.5.226])
by localmailC.acsu.buffalo.edu (Prefixe) with ESMTP id 4083FD9A2;
Tue, 11 Nov 2014 10:32:05 -0500 (EST)
Received: from prince.ccr.buffalo.edu (prince.ccr.buffalo.edu [128.205.40.45])
(Authenticated sender: minnus@buffalo.edu)
by smtp.buffalo.edu (Postfix) with ESMTPSA id 358482915;
Tue, 11 Nov 2014 10:32:05 -0500 (EST)
Message-ID: <54622BF4.4080806@buffalo.edu>
Date: Tue, 11 Nov 2014 10:32:04 -0500
From: Martins Innus
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: pcp
Subject: Re: [pcp] Dynamic Proc PMDA metrics
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
In-Reply-To: <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-PM-EL-Spam-Prob: : 8%
X-Barracuda-Connect: mtareserve6.acsu.buffalo.edu[128.205.6.4]
X-Barracuda-Start-Time: 1415719926
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11474
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Nathan,
On 11/10/14 1:26 AM, Nathan Scott wrote:
>
>
> I have a fix for 022 & will do 943 - they're fixable using sort(1) to produce
> deterministic output.
>
> I'm also seeing 580 fail, looks probably related:
>
> $ diff 580.out 580.out.bad
> 7,9c7
> < pm*InDom: inst=[1] iname= reverse lookup: inst=[1]
> < pmGetInDom:
> < [1]
> ---
>> Error: Unknown or illegal metric identifier
> I'll dig into it later in the week if its not failing elsewhere and/or not
> reproducible.
>
I think I'm ok with fixing everything but this. I don't understand why
it is failing. I put some debugging into the indom.c test and all
queries into the proc pmda, even non-dynamic elements, return bogus
information from pmLookupName:
************
[vagrant@pcptest src]$ ./indom -h unix: -i 1 proc.psinfo.pid
proc.psinfo.pid:
running proc.psinfo.pid
pmID (d,c,i): 511, 3, 0
failed 2
Error: Unknown or illegal metric identifier
*************
pmLookupName returns successfully (non-error), but all proc queries have
the domain,cluster,item values of 511,3,0.
But, strangely, the following works fine:
*************
[vagrant@pcptest src]$ pmval -h unix: -i 1 proc.psinfo.pid
metric: proc.psinfo.pid
host: pcptest
semantics: discrete instantaneous value
units: none
samples: all
1
*************
My guess is that I'm not building the tree properly, but I'm not sure
what is missing.
Thanks
Martins
From bahaihough@gmail.com Tue Nov 11 11:30:30 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,
T_DKIM_INVALID autolearn=ham version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id BC6867F5E
for ; Tue, 11 Nov 2014 11:30:30 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id 9FB61304048
for ; Tue, 11 Nov 2014 09:30:30 -0800 (PST)
X-ASG-Debug-ID: 1415727029-04cb6c1e6a20b210001-S8gJnT
Received: from mail-qa0-f48.google.com (mail-qa0-f48.google.com [209.85.216.48]) by cuda.sgi.com with ESMTP id Laldqbhd0LHCOmnK (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 11 Nov 2014 09:30:29 -0800 (PST)
X-Barracuda-Envelope-From: bahaihough@gmail.com
X-Barracuda-Apparent-Source-IP: 209.85.216.48
X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48]
Received: by mail-qa0-f48.google.com with SMTP id x12so7227528qac.7
for ; Tue, 11 Nov 2014 09:30:29 -0800 (PST)
X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48]
X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48]
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:date:message-id:subject:from:to:content-type;
bh=X6Ai02B37QXEVTlVd1mzHahYp9IFs9EWXgqFy6SKc0o=;
b=gwcRo6UVli3jVgVkTaJcDv4OFT35uS5OzlkMEkFMXkKAkG36OY1VXLTDknHqfNWRtV
mZqU/MF6g2bXixGv9WaQmbtU/XnGXks/SdBHxJnghBG3VkFkxaEm8123Cmmmu2nsC1Js
2rz0bfoy02vdfwK4xSBKInyjZ4j4jSwwTtkpNk1kJrMgPA4n8RolhqTYNWDY5UWoRsWv
k7igcnc/WlrC4Ha15hdhNbV91XL+dHp/VDdJWsCx2Pv4Rp8yGGZyrJhAavVVW8lH62iW
IczZAS3IgVIb5rebIkrMEHLkzjCXYYsW/erqCUebA0yojzrfVXQu0aRUKVPBAkMQXKiy
0PsA==
MIME-Version: 1.0
X-Received: by 10.229.7.133 with SMTP id d5mr54234556qcd.24.1415727028985;
Tue, 11 Nov 2014 09:30:28 -0800 (PST)
Received: by 10.96.122.227 with HTTP; Tue, 11 Nov 2014 09:30:28 -0800 (PST)
Date: Tue, 11 Nov 2014 12:30:28 -0500
Message-ID:
Subject: PCP-GUI from src
From: Brad Hough
X-ASG-Orig-Subj: PCP-GUI from src
To: pcp@oss.sgi.com
Content-Type: multipart/alternative; boundary=001a1135ec94a96ac8050798a29d
X-Barracuda-Connect: mail-qa0-f48.google.com[209.85.216.48]
X-Barracuda-Start-Time: 1415727029
X-Barracuda-Encrypted: RC4-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.20
X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA584, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11477
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
-0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes
verification
0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature
0.00 HTML_MESSAGE BODY: HTML included in message
0.20 BSF_SC0_SA584 Custom Rule SA584
--001a1135ec94a96ac8050798a29d
Content-Type: text/plain; charset=UTF-8
I'm new to PCP. I'm trying to install from source. I wanted to have
access to the pcp-gui tools also, but they don't seem to build by default.
What am I missing? I'm trying to build on a Centos 6.6 box and have cloned
from git://oss.sgi.com/pcp.git. Is pcp-gui still a separate repository?
Beacause I don't see anything at git://oss.sgi.com/pcp/pcp-gui.git.
Thanks,
Brad Hough
--001a1135ec94a96ac8050798a29d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
I'm new to PCP.=C2=A0 I'm trying to install from s=
ource.=C2=A0 I wanted to have access to the pcp-gui tools also, but they do=
n't seem to build by default. What am I missing?=C2=A0 I'm trying t=
o build on a Centos 6.6 box and have cloned from=C2=A0git://
oss.sgi.com/pcp.git.=C2=A0 Is pcp-gui still a s=
eparate repository?=C2=A0 Beacause I don't see anything at=C2=A0
git://oss.sgi.com/pcp/pc=
p-gui.git.
=
Thanks,
Brad Hough
--001a1135ec94a96ac8050798a29d--
From kenj@internode.on.net Tue Nov 11 14:05:15 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id D187B7F61
for ; Tue, 11 Nov 2014 14:05:15 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay3.corp.sgi.com (Postfix) with ESMTP id 61436AC003
for ; Tue, 11 Nov 2014 12:05:11 -0800 (PST)
X-ASG-Debug-ID: 1415736305-04cb6c1e6b212c10001-S8gJnT
Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id eXgAG85l7xhElA7E for ; Tue, 11 Nov 2014 12:05:06 -0800 (PST)
X-Barracuda-Envelope-From: kenj@internode.on.net
X-Barracuda-Apparent-Source-IP: 150.101.137.129
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: As0DAMpqYlR20SpqPGdsb2JhbAANT4NiVAXBJmGKHYdTAoEwAQEBAQEGAQEBATiEPgEBBDhAEQsYCRYPCQMCAQIBMRQTCAEBiEUFt2yXTAEBCAIBH453giQWhDUBBJcElxOKfFgBgkoBAQE
Received: from ppp118-209-42-106.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.42.106])
by ipmail06.adl2.internode.on.net with ESMTP; 12 Nov 2014 06:35:05 +1030
Message-ID: <54626C55.6040704@internode.on.net>
Date: Wed, 12 Nov 2014 07:06:45 +1100
From: Ken McDonell
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: pcp@oss.sgi.com
Subject: Re: [pcp] PCP-GUI from src
References:
X-ASG-Orig-Subj: Re: [pcp] PCP-GUI from src
In-Reply-To:
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129]
X-Barracuda-Start-Time: 1415736306
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11483
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
On 12/11/14 04:30, Brad Hough wrote:
> I'm new to PCP. I'm trying to install from source. I wanted to have
> access to the pcp-gui tools also, but they don't seem to build by
> default. What am I missing? I'm trying to build on a Centos 6.6 box and
> have cloned from git://oss.sgi.com/pcp.git
> . Is pcp-gui still a separate repository?
> Beacause I don't see anything at git://oss.sgi.com/pcp/pcp-gui.git
> .
All the gui tools have been merged back into the main repository.
But there is configure magic to conditionally not build some components
if the required prereqs are not installed on the build system.
I'd guess it is the qt-devel package that you're missing (we need Qt4),
but if you want to find _all_ the prereqs needed to build all the PCP
pieces and run QA, try the script:
qa/admin/check-vm
From minnus@buffalo.edu Tue Nov 11 15:11:32 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 7B3807F6A
for ; Tue, 11 Nov 2014 15:11:32 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay2.corp.sgi.com (Postfix) with ESMTP id 5AED6304048
for ; Tue, 11 Nov 2014 13:11:32 -0800 (PST)
X-ASG-Debug-ID: 1415740288-04cbb00e6921a400001-S8gJnT
Received: from mtareserve1.acsu.buffalo.edu (mtareserve6.acsu.buffalo.edu [128.205.6.4]) by cuda.sgi.com with ESMTP id 02ZkHFU6CIBUTlxI for ; Tue, 11 Nov 2014 13:11:28 -0800 (PST)
X-Barracuda-Envelope-From: minnus@buffalo.edu
X-Barracuda-Apparent-Source-IP: 128.205.6.4
Received: from localmailD.acsu.buffalo.edu (localmaild.acsu.buffalo.edu [128.205.5.208])
by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id 02CEF30A4;
Tue, 11 Nov 2014 16:11:28 -0500 (EST)
Received: from localmailD.acsu.buffalo.edu (localhost [127.0.0.1])
by localhost (Postfix) with SMTP id F06F930BE2;
Tue, 11 Nov 2014 16:11:27 -0500 (EST)
Received: from localmailD.acsu.buffalo.edu (localhost [127.0.0.1])
by localmailD.acsu.buffalo.edu (Postfix) with ESMTP id 5725030BCA;
Tue, 11 Nov 2014 16:11:26 -0500 (EST)
Received: from smtp.buffalo.edu (smtp1.acsu.buffalo.edu [128.205.5.253])
by localmailD.acsu.buffalo.edu (Prefixe) with ESMTP id 4888230BC9;
Tue, 11 Nov 2014 16:11:26 -0500 (EST)
Received: from prince.ccr.buffalo.edu (prince.ccr.buffalo.edu [128.205.40.45])
(Authenticated sender: minnus@buffalo.edu)
by smtp.buffalo.edu (Postfix) with ESMTPSA id 3B9832557;
Tue, 11 Nov 2014 16:11:26 -0500 (EST)
Message-ID: <54627B7D.6040906@buffalo.edu>
Date: Tue, 11 Nov 2014 16:11:25 -0500
From: Martins Innus
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: pcp
Subject: Re: [pcp] Dynamic Proc PMDA metrics
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
In-Reply-To: <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-PM-EL-Spam-Prob: : 8%
X-Barracuda-Connect: mtareserve6.acsu.buffalo.edu[128.205.6.4]
X-Barracuda-Start-Time: 1415740288
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11486
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Nathan,
OK. My current work on laying hotproc on top of dynamic proc is here:
https://github.com/ubccr/pcp/tree/dynamic_hotproc
Right now the functionality should be the exact same as my initial
submission except that it works with the new dynamic proc framework.
Actually it was pretty easy to merge. This seems like a good way to
handle these types of pmdas. I have not done any of the fixes you
suggested in your initial review of hotproc, so its not ready for a
merge yet.
You can ignore all of this until I am done. I just wanted to get this
out there since I don't know where in your cgroup work you are. I think
the only conflict might be in proc_pid.c with my addition of an extra
parameter into some of the existing methods as I mentioned before.
A couple of other comments below.
On 11/10/14 1:26 AM, Nathan Scott wrote:
>> 3. Couldn't find any precedent for handling long form help text for dynamic
>> pmdas. So I just generated a header file from the existing help file and
>> used that. Let me know if you want something different. Attached is the perl
>> script I wrote for that in case it is generally useful.
> We might be able to do some remapping from hotproc -> proc variants, but I
> don't think there's any precedence there I can point you towards - I'll can
> take a look into that too if you like.
OK, this seems to be working OK as I have implemented it. Feel free to
make other suggestions if this looks difficult to maintain.
>> 4. I left a few commented code sections that will show where hotprocs will
>> hook in. Will add another root node, and all other stuff ( help, etc ) will
>> be shared.
This has been now filled in and seems to work in the limited testing I
have done at the end of the day. I ran the existing pmda.proc QA tests
and the results are the same as before. The 2 tests you fixed with sort
and the third I am stumped at the moment as I mentioned in my other email.
One thing I noticed and am trying to track down:
In the:
static void
refresh_metrictable(pmdaMetric *source, pmdaMetric *dest, int id)
callback that I provide. The domain doesn't appear to be set in the
"source" at the time this call is made. I check, and it is "0". But
everything seems to work. I assume this gets set at some later time?
Thanks
Martins
From nscott@redhat.com Tue Nov 11 23:27:55 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id B8E6F7F9D
for ; Tue, 11 Nov 2014 23:27:55 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay1.corp.sgi.com (Postfix) with ESMTP id A76078F8035
for ; Tue, 11 Nov 2014 21:27:55 -0800 (PST)
X-ASG-Debug-ID: 1415770070-04cbb00e69230420001-S8gJnT
Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id EIxX82ZRLgF9eSpI (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 11 Nov 2014 21:27:50 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.24
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAC5Rmex027335;
Wed, 12 Nov 2014 00:27:48 -0500
Date: Wed, 12 Nov 2014 00:27:47 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Martins Innus
Cc: pcp
Message-ID: <268589342.12441210.1415770067959.JavaMail.zimbra@redhat.com>
In-Reply-To: <54622BF4.4080806@buffalo.edu>
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com> <54622BF4.4080806@buffalo.edu>
Subject: Re: [pcp] Dynamic Proc PMDA metrics
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Dynamic Proc PMDA metrics
Thread-Index: 3LhcAha3Es5NkDV+gmr9jrEY7kUMOA==
X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24]
X-Barracuda-Start-Time: 1415770070
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11502
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
----- Original Message -----
> [...]
> I think I'm ok with fixing everything but this. I don't understand why
Great, thanks!
> it is failing. I put some debugging into the indom.c test and all
> queries into the proc pmda, even non-dynamic elements, return bogus
> information from pmLookupName:
> [...]
> My guess is that I'm not building the tree properly, but I'm not sure
> what is missing.
Odd - I'll look into it. It may be something to do with the ordering of
PDUs (pmval and most tools will ask for pmdesc and other things - names/
pmids, etc before asking for instances) - IIRC this test program asks in
a different order, or only for instance PDUs, or something like that.
cheers.
--
Nathan
From nscott@redhat.com Tue Nov 11 23:34:19 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 00F387F9D
for ; Tue, 11 Nov 2014 23:34:19 -0600 (CST)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
by relay1.corp.sgi.com (Postfix) with ESMTP id CE7B08F8037
for ; Tue, 11 Nov 2014 21:34:18 -0800 (PST)
X-ASG-Debug-ID: 1415770457-04cbb00e692306d0001-S8gJnT
Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id leblORAWjZGJWnk8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 11 Nov 2014 21:34:17 -0800 (PST)
X-Barracuda-Envelope-From: nscott@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.25
Received: from zmail20.collab.prod.int.phx2.redhat.com (zmail20.collab.prod.int.phx2.redhat.com [10.5.83.23])
by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id sAC5YFMv000733;
Wed, 12 Nov 2014 00:34:15 -0500
Date: Wed, 12 Nov 2014 00:34:15 -0500 (EST)
From: Nathan Scott
Reply-To: Nathan Scott
To: Martins Innus
Cc: pcp
Message-ID: <2023629481.12445911.1415770455874.JavaMail.zimbra@redhat.com>
In-Reply-To: <54627B7D.6040906@buffalo.edu>
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com> <54627B7D.6040906@buffalo.edu>
Subject: Re: [pcp] Dynamic Proc PMDA metrics
MIME-Version: 1.0
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.5.82.11]
X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF17 (Linux)/8.0.6_GA_5922)
Thread-Topic: Dynamic Proc PMDA metrics
Thread-Index: 0bTZEQfg56ZAVSYkJWorIr8i3STCkQ==
X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25]
X-Barracuda-Start-Time: 1415770457
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.02
X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX, THREAD_TOPIC
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11502
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig==
0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)...
Hi Martins,
----- Original Message -----
> [...]
> You can ignore all of this until I am done. I just wanted to get this
> out there since I don't know where in your cgroup work you are. I think
> the only conflict might be in proc_pid.c with my addition of an extra
> parameter into some of the existing methods as I mentioned before.
Ah - OK - thanks for getting it out. cgroups is progressing nicely, I'm
hoping end-of-this-week-ish it should be all revised. So far, the rework
and refactoring is proving a neat improvement.
>
> One thing I noticed and am trying to track down:
>
> In the:
>
> static void
> refresh_metrictable(pmdaMetric *source, pmdaMetric *dest, int id)
>
> callback that I provide. The domain doesn't appear to be set in the
> "source" at the time this call is made. I check, and it is "0". But
> everything seems to work. I assume this gets set at some later time?
Yeah, hmm, can't remember exactly how this works - but the domain number
usually gets stamped into the static metrictable at pmdaInit time. ISTR
some need to pass the domain number around, in order to stamp it into
the dynamic metric PMIDs as well ... but its a vague memory. This may be
an area where the dynamic metrics libpcp_pmda code could be improved too,
BTW - not sure, but keep that in mind (might be easier to pull the domain
number out of the pmdaExt structure and writing it into the source, if it
is missing at the time the callback is called? I don't think that could
harm any existing PMDA code)
cheers.
--
Nathan
From tdm@sgi.com Wed Nov 12 09:02:37 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
by oss.sgi.com (Postfix) with ESMTP id A45F37F61
for ; Wed, 12 Nov 2014 09:02:37 -0600 (CST)
Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10])
by relay3.corp.sgi.com (Postfix) with ESMTP id 33E4FAC001;
Wed, 12 Nov 2014 07:02:34 -0800 (PST)
Received: from [128.162.232.11] (porter.americas.sgi.com [128.162.232.11])
by estes.americas.sgi.com (Postfix) with ESMTP id F1C0D70033BB;
Wed, 12 Nov 2014 09:02:33 -0600 (CST)
Message-ID: <54637689.2060701@sgi.com>
Date: Wed, 12 Nov 2014 09:02:33 -0600
From: Troy McCorkell
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0
MIME-Version: 1.0
To: Troy McCorkell , pcp@oss.sgi.com
Subject: Re: oss.sgi.com - maintenance downtime Friday 11/14/2014 at 10:00
CST USA
References: <545CE78C.5000102@sgi.com>
In-Reply-To: <545CE78C.5000102@sgi.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Second reminder.
On 11/07/2014 09:38 AM, Troy McCorkell wrote:
>
> On Friday November 14, 2014 at 10:00 CST USA
> oss.sgi.com will be unavailable for a short period of time to perform
> network maintenance.
>
> The outage is expected to last approximately 15 minutes.
>
From minnus@buffalo.edu Wed Nov 12 14:53:36 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
by oss.sgi.com (Postfix) with ESMTP id 5FE267F3F
for ; Wed, 12 Nov 2014 14:53:36 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay2.corp.sgi.com (Postfix) with ESMTP id 4DFF9304066
for ; Wed, 12 Nov 2014 12:53:33 -0800 (PST)
X-ASG-Debug-ID: 1415825611-04cb6c1e6d24d480001-S8gJnT
Received: from mtareserve1.acsu.buffalo.edu (mtareserve6.acsu.buffalo.edu [128.205.6.4]) by cuda.sgi.com with ESMTP id aO9tY42hxOge6xHS for ; Wed, 12 Nov 2014 12:53:31 -0800 (PST)
X-Barracuda-Envelope-From: minnus@buffalo.edu
X-Barracuda-Apparent-Source-IP: 128.205.6.4
Received: from localmailD.acsu.buffalo.edu (localmaild.acsu.buffalo.edu [128.205.5.208])
by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id E08D5BA5A;
Wed, 12 Nov 2014 15:53:30 -0500 (EST)
Received: from localmailD.acsu.buffalo.edu (localhost [127.0.0.1])
by localhost (Postfix) with SMTP id D93AA31F32;
Wed, 12 Nov 2014 15:53:30 -0500 (EST)
Received: from localmailD.acsu.buffalo.edu (localhost [127.0.0.1])
by localmailD.acsu.buffalo.edu (Postfix) with ESMTP id B71BA31F1A;
Wed, 12 Nov 2014 15:53:28 -0500 (EST)
Received: from smtp.buffalo.edu (smtp2.acsu.buffalo.edu [128.205.5.254])
by localmailD.acsu.buffalo.edu (Prefixe) with ESMTP id A819C31F19;
Wed, 12 Nov 2014 15:53:28 -0500 (EST)
Received: from prince.ccr.buffalo.edu (prince.ccr.buffalo.edu [128.205.40.45])
(Authenticated sender: minnus@buffalo.edu)
by smtp.buffalo.edu (Postfix) with ESMTPSA id 809722B20;
Wed, 12 Nov 2014 15:53:28 -0500 (EST)
Message-ID: <5463C8C8.5010700@buffalo.edu>
Date: Wed, 12 Nov 2014 15:53:28 -0500
From: Martins Innus
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nathan Scott
CC: pcp
Subject: Re: [pcp] Dynamic Proc PMDA metrics
References: <545D2CFA.1050600@buffalo.edu> <1477043892.10880496.1415600819766.JavaMail.zimbra@redhat.com> <54627B7D.6040906@buffalo.edu> <2023629481.12445911.1415770455874.JavaMail.zimbra@redhat.com>
X-ASG-Orig-Subj: Re: [pcp] Dynamic Proc PMDA metrics
In-Reply-To: <2023629481.12445911.1415770455874.JavaMail.zimbra@redhat.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-PM-EL-Spam-Prob: : 8%
X-Barracuda-Connect: mtareserve6.acsu.buffalo.edu[128.205.6.4]
X-Barracuda-Start-Time: 1415825611
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11526
Rule breakdown below
pts rule name description
---- ---------------------- --------------------------------------------------
Nathan,
Sorry for the long email below. I have become completely confused
with dynamic metrics and it seems like I'm trying to use the API in a
way that was not intended. #2 below is the most troubling. You likely
want to junk all my dynamic proc code until we get this figured out.
I'd be happy to jump on the phone if my explanations don't make sense.
It took me a while to wind through this, so maybe I've got it all wrong.
On 11/12/14 12:34 AM, Nathan Scott wrote:
> Hi Martins,
>
> ----- Original Message -----
>> [...]
>> You can ignore all of this until I am done. I just wanted to get this
>> out there since I don't know where in your cgroup work you are. I think
>> the only conflict might be in proc_pid.c with my addition of an extra
>> parameter into some of the existing methods as I mentioned before.
> Ah - OK - thanks for getting it out. cgroups is progressing nicely, I'm
> hoping end-of-this-week-ish it should be all revised. So far, the rework
> and refactoring is proving a neat improvement.
Just realized this is incomplete. Sorry, will need some more work and
you shouldn't use it.
>> One thing I noticed and am trying to track down:
>>
>> In the:
>>
>> static void
>> refresh_metrictable(pmdaMetric *source, pmdaMetric *dest, int id)
>>
>> callback that I provide. The domain doesn't appear to be set in the
>> "source" at the time this call is made. I check, and it is "0". But
>> everything seems to work. I assume this gets set at some later time?
> Yeah, hmm, can't remember exactly how this works - but the domain number
> usually gets stamped into the static metrictable at pmdaInit time. ISTR
> some need to pass the domain number around, in order to stamp it into
> the dynamic metric PMIDs as well ... but its a vague memory. This may be
> an area where the dynamic metrics libpcp_pmda code could be improved too,
> BTW - not sure, but keep that in mind (might be easier to pull the domain
> number out of the pmdaExt structure and writing it into the source, if it
> is missing at the time the callback is called? I don't think that could
> harm any existing PMDA code)
>
Still no progress on this, except that with a dso pmda, the domain
number is correct at this point. Illustrated below in the interrupts case.
While researching this, I've run into a few issues that stem from
calling pmdaDynamicPMNS multiple times:
1. In the "size_metrictable" callback there is no context as to which
dynamic tree is being queried if we use the same callback for all trees.
So this is going to way overestimate the storage space needed, since we
need to return the size of the largest sub tree if we use a common
callback. The alternative is one callback per sub tree as far as I can see.
2. This is a larger problem. In dynamic.c, for the function:
static pmdaMetric *
dynamic_metric_table(int index, pmdaMetric *offset)
When running through the initial metric table, the only check that
is done is to see if the cluster matches when doing "mtabupdate" and no
check is done against the item or name. This will cause multiple calls
for the same metric if we have clusters that span multiple trees (since
pmdaDynamicMetricTable calls mtabupdate for each pmdaDynamicPMNS call we
made), like we have in proc with CLUSTER_PID_STATUS.
I don't see a solution to this problem. The initial metric table
has no name to compare against. When we call pmdaDynamicPMNS we don't
provide a list of item ids that are valid. So neither of those checks
can be done.
The only solution I can think of would be to allow mtabupdate to
return a success code if the metric was added, and only then would
dynamic_metric_table update its internal status. The callback would
know whether the cluster/id combo was a valid dynamic metric. This
would break any code that uses this interface.
I think there is a likelihood of buffer overflow here now. If the
number of metrics in extra clusters is greater than the extra size
introduced by the padding due to #1 above, i think there will be memory
corruption.
Strangely, I haven't found any negative impacts from this. My guess is
somewhere there are just multiple definitions of the same metric taking
up space? Or maybe this has something to do with the one QA failure I
couldn't debug.
3. In general, its not clear to me the proper way to generate the
dynamic metrics from the initial "templates". For example, take the
existing case in the linux pmda. For interrupts we have:
/* kernel.percpu.interrupts.line[] */
{ NULL, { PMDA_PMID(CLUSTER_INTERRUPT_LINES, 0), PM_TYPE_U32,
CPU_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
/* kernel.percpu.interrupts.[] */
{ NULL, { PMDA_PMID(CLUSTER_INTERRUPT_OTHER, 0), PM_TYPE_U32,
CPU_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
These are used as templates to create the dynamic metrics. But
interrupts.c provides in "size_metrictable" the total number of dynamic
metrics, so we end up with at least 2 extra metrics which as far as I
can tell are not used.
From pmcd.log:
interrupts size_metrictable: 2 total x 11 trees
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae5f0)
metric ID dup: 60.49.0 -> 60.49.1
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae610)
metric ID dup: 60.49.0 -> 60.49.2
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae630)
metric ID dup: 60.49.0 -> 60.49.3
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae650)
metric ID dup: 60.49.0 -> 60.49.4
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae670)
metric ID dup: 60.49.0 -> 60.49.5
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae690)
metric ID dup: 60.49.0 -> 60.49.6
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae6b0)
metric ID dup: 60.49.0 -> 60.49.7
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae6d0)
metric ID dup: 60.49.0 -> 60.49.8
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae6f0)
metric ID dup: 60.49.0 -> 60.49.9
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae710)
metric ID dup: 60.49.0 -> 60.49.10
interrupts refresh_metrictable: (0x7f7c092010a0 -> 0x7f7c0d2ae730)
metric ID dup: 60.49.0 -> 60.49.11
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae750)
metric ID dup: 60.50.0 -> 60.50.1
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae770)
metric ID dup: 60.50.0 -> 60.50.2
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae790)
metric ID dup: 60.50.0 -> 60.50.3
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae7b0)
metric ID dup: 60.50.0 -> 60.50.4
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae7d0)
metric ID dup: 60.50.0 -> 60.50.5
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae7f0)
metric ID dup: 60.50.0 -> 60.50.6
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae810)
metric ID dup: 60.50.0 -> 60.50.7
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae830)
metric ID dup: 60.50.0 -> 60.50.8
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae850)
metric ID dup: 60.50.0 -> 60.50.9
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae870)
metric ID dup: 60.50.0 -> 60.50.10
interrupts refresh_metrictable: (0x7f7c092010c0 -> 0x7f7c0d2ae890)
metric ID dup: 60.50.0 -> 60.50.11
[Wed Nov 12 16:08:24] pmcd(13810) Debug: pmdaRehash: PMDA linux DSO:
successful rebuild
But:
[vagrant@pcptest testsuite]$ pminfo -M kernel.percpu.interrupts
kernel.percpu.interrupts.MCP PMID: 60.50.10 = 251709450 = 0xf00c80a
kernel.percpu.interrupts.MCE PMID: 60.50.9 = 251709449 = 0xf00c809
kernel.percpu.interrupts.THR PMID: 60.50.8 = 251709448 = 0xf00c808
kernel.percpu.interrupts.TRM PMID: 60.50.7 = 251709447 = 0xf00c807
kernel.percpu.interrupts.TLB PMID: 60.50.6 = 251709446 = 0xf00c806
kernel.percpu.interrupts.CAL PMID: 60.50.5 = 251709445 = 0xf00c805
kernel.percpu.interrupts.RES PMID: 60.50.4 = 251709444 = 0xf00c804
kernel.percpu.interrupts.IWI PMID: 60.50.3 = 251709443 = 0xf00c803
kernel.percpu.interrupts.PMI PMID: 60.50.2 = 251709442 = 0xf00c802
kernel.percpu.interrupts.SPU PMID: 60.50.1 = 251709441 = 0xf00c801
kernel.percpu.interrupts.LOC PMID: 60.50.0 = 251709440 = 0xf00c800
kernel.percpu.interrupts.line20 PMID: 60.49.9 = 251708425 = 0xf00c409
kernel.percpu.interrupts.line19 PMID: 60.49.8 = 251708424 = 0xf00c408
kernel.percpu.interrupts.line16 PMID: 60.49.7 = 251708423 = 0xf00c407
kernel.percpu.interrupts.line15 PMID: 60.49.6 = 251708422 = 0xf00c406
kernel.percpu.interrupts.line14 PMID: 60.49.5 = 251708421 = 0xf00c405
kernel.percpu.interrupts.line12 PMID: 60.49.4 = 251708420 = 0xf00c404
kernel.percpu.interrupts.line9 PMID: 60.49.3 = 251708419 = 0xf00c403
kernel.percpu.interrupts.line8 PMID: 60.49.2 = 251708418 = 0xf00c402
kernel.percpu.interrupts.line1 PMID: 60.49.1 = 251708417 = 0xf00c401
kernel.percpu.interrupts.line0 PMID: 60.49.0 = 251708416 = 0xf00c400
So both of the .11 and one of the .10 metrics is orphaned? Does that
cause any issue? Or since the pmns doesn't reference them, no harm
except memory used. If that's the case, for my issue #2 above I can
just set dummy cluster or item values for the metrics that are sent
through twice(or more), but that's pretty wasteful and I'm sure will
have other unintended consequences.
Thanks
Martins
From lberk@redhat.com Wed Nov 12 17:09:05 2014
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.3.1
X-Original-To: pcp@oss.sgi.com
Delivered-To: pcp@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
by oss.sgi.com (Postfix) with ESMTP id 10C4F7F3F
for ; Wed, 12 Nov 2014 17:09:05 -0600 (CST)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
by relay1.corp.sgi.com (Postfix) with ESMTP id F31168F8033
for ; Wed, 12 Nov 2014 15:09:01 -0800 (PST)
X-ASG-Debug-ID: 1415833734-04cb6c1e6b252120001-S8gJnT
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id uMmT1SxkIEJu1494 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 12 Nov 2014 15:08:55 -0800 (PST)
X-Barracuda-Envelope-From: lberk@redhat.com
X-Barracuda-Apparent-Source-IP: 209.132.183.28
X-ASG-Whitelist: Client
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sACN8s0b012676
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL)
for ; Wed, 12 Nov 2014 18:08:54 -0500
Received: from toium (dhcp-10-15-16-139.yyz.redhat.com [10.15.16.139])
by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sACN8rBq028314
(version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO)
for ; Wed, 12 Nov 2014 18:08:53 -0500
From: Lukas Berk
To: pcp@oss.sgi.com
Subject: pcp updates - pmdapapi update
Date: Wed, 12 Nov 2014 18:08:52 -0500
X-ASG-Orig-Subj: pcp updates - pmdapapi update
Message-ID: <87oascow3f.fsf@redhat.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Barracuda-Connect: mx1.redhat.com[209.132.183.28]
X-Barracuda-Start-Time: 1415833735
X-Barracuda-Encrypted: AES256-SHA
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
Hi,
The PAPI pmda has gone through a fair bit of work. The changes can be
found at: git://sourceware.org/git/pcpfans.git lberk/papi or gitweb:
https://www.sourceware.org/git/gitweb.cgi?p=pcpfans.git;a=shortlog;h=refs/heads/lberk/papi
This iteration features much improved internals, additional qa,
dynamically generated pmns and auto_enable functionality (complimentary
to the standard, and expected control.{enable,disable} metrics). As
discussed on the list I've added qa cases which take the traditional
route of using dbpmda, as well as a case which uses -hlocal: to track
stateful changes. qa/967 in particular tests the auto_enable work with
dbpmda, ensuring the it can be turned off (if desired), in addition to
timeout's as described by the accompanied documentation. If anybody has
suggestions or constructive criticism I'd be happy to work those in as
well.
One area I'd appreciate second opinions on, is how to deal with the
variable number of metrics available on different hardware. I've
attempted to keep qa tests to the 'basic' counters (TOT_INS as an
example) for the most part. However, in the case of testing for
ECNFLCT errors with/without multiplexing, this may require enumerating
through metrics with a less common overlap in hardware. As a starting
point I've simply used 799 with the counters that would have caused an
error on my machine, however I'm aware this is not the case for others.
Thoughts appreciated.
diffstat and commit logs attached below,
Cheers,
Lukas
build/rpm/fedora.spec | 8
man/man1/pmdapapi.1 | 22
qa/799 | 385 ++
qa/799.out | 153 +
qa/813 | 118
qa/813.out | 84
qa/903 | 6
qa/914 | 23
qa/914.out | 43
qa/967 | 172 +
qa/967.out | 186 +
qa/group | 12
src/pmdas/papi/Install | 8
src/pmdas/papi/help | 116
src/pmdas/papi/papi.c | 6928 ++++++++++++++++++++--------------------------
src/pmdas/papi/pmdapapi.1 | 116
src/pmdas/papi/pmns | 1631 ++++------
17 files changed, 4910 insertions(+), 5101 deletions(-)
commit b6f75582968a4d3e0ec377af95675127ece7da6c
Author: Lukas Berk
Date: Wed Nov 12 09:16:46 2014 -0500
Update qa/914 and respective output
We've added new metrics to the papi.control group. Updating the
testcase to reflect these changes.
commit b89820cb1c54b66333c9b7706089ca1fe96b80e9
Author: Lukas Berk
Date: Wed Nov 5 23:03:53 2014 -0500
Add qa/967 to test the pmdapapi auto_enable functionality
In this testcase we take two dbpmda runs;
First, we run a check that the existing enable/disable functionality
works normally when papi.control.auto_enable is disabled (set to 0)
Second, we check that the auto_enable timeout works by setting it to
a low timeout (5 seconds), fetching a value, checking that
papi.control.status reports the correct timeout and a valid papi
VALUE. After which we wait just over 5 seconds and re-fetch the
papi.control.status value, which (should) show the metric is no
longer being counted and that papi has stopped.
This second test implicitly checks the functionality of dynamically
starting a counter.
commit fcee1e2342ed3788a30ec91951051288b5f12aa2
Author: Lukas Berk
Date: Wed Nov 5 12:31:57 2014 -0500
Add helppath variable
helppath is used in various locations throughout the pmda, dropped
by accident when merging the branches.
commit a6cbff6790ba51932f59b6d6a8e6544debf23e7f
Author: Frank Ch. Eigler
Date: Mon Nov 3 21:48:55 2014 -0500
papi pmda: tweak auto_afid name & commentary
commit 9b4654d00873cdb03c611a282574018634596397
Author: Lukas Berk
Date: Mon Nov 3 21:47:34 2014 -0500
Tweak pmdapapi docs
Add the unit (seconds) to the papi.control.auto_enable metric and
mention how one would disable the auto_enable functionality if needed
in the man page.
Signed-off-by: Lukas Berk
commit 2f3729268714c8bce74906242350d0277410de82
Author: Frank Ch. Eigler
Date: Mon Nov 3 15:55:41 2014 -0500
papi pmda: add counter auto-enable on fetch
By reinterpreting the papi_info[].metric_enabled as a timestamp rather
than a boolean, and a small bit of logic, we get automatic enablement
of PAPI metric/counters upon pmfetch. This allows PAPI metrics to be
used with plain old pmlogger, pmval, etc., without necessary manual
pmstore's. Counters are retired based on a timeout mechanism,
assisted by pmaf(3). The papi.control.status metric is enhanced to
show the remaining lifespan of the counters, and to make it more safe
& reliable.
A new papi.control.auto_enable metric is available to set the timeout
(default 120 seconds). The Install script runs a papi.control.reset
operation to avoid leaving the counters running for even that long
after the post-install metric/value checks.
The previous pmstore mechanism is left in place unchanged, and
overrides the automatic scheme.
commit 61111a6b50224db18e6a9e5da211e4558ec933f4
Author: Lukas Berk
Date: Wed Nov 5 11:49:57 2014 -0500
Add pmdaText call in papi_text
Somewhere along the way, rebasing ate the call
commit 4ae54fc9bcf2a56bace14e7166b126fccbf31284
Author: Lukas Berk
Date: Wed Nov 5 10:40:47 2014 -0500
Update qa/799 with -hlocal: test against real values
799 will now grab 'real' values from the current papi install.
This testcase now also includes installing and uninstalling
the pmda.
commit ce8a1aecca93352d56af89de4de96a951ee1fc40
Author: Lukas Berk
Date: Wed Nov 5 10:34:18 2014 -0500
Add dbpmda testcase for pmdapapi
Add an additional testcase for pmdapapi, ensure a value can be
enabled, checked, and disabled through dbpmda
commit 27f2f6ee11dc7d596fb5304bb1d7bf9ed81636c4
Author: Frank Ch. Eigler
Date: Tue Oct 14 17:16:53 2014 -0400
papi/pmda: collapse metric addition/removal path
The add- and remove-metric operations are almost identical, with
respect to the need to save previous counter values, pause, then
restart with newborn/surviving metrics. With the recent
metric_enabled flag, the two code paths can be effectively merged.
Gone are add_metric(), remove_metric(), setup_eventset(), stop_papi(),
and the number_of_active_counters global. Left notes for a few more
candidates.
Welcome refresh_metrics() and a collapsed-case .enable/.disable
pmstore handler, a trivial .reset handler.
Tested by hand, running pmstore ops to enable/disable multiple
individual counters, including erroneous names, while monitoring the
valid counters for consistent progress. Mechanical testing
forthcoming.
commit 6de78cfc602149252a7d048192be165ea54a88e2
Author: Lukas Berk
Date: Tue Oct 14 14:16:49 2014 -0400
Make status_string[] variable static
Avoid any type of memory corruption bug by ensuring the variable
won't already be unwound.
commit 5a4ac8644992dd28bdfcf7bcab6f2f324df1aef8
Author: Lukas Berk
Date: Tue Oct 14 11:27:40 2014 -0400
Fix a papi_info.position bug in remove_metric
Include a new papi.info var (metric_enabled) to track if the metric
was enabled. This leaves us to simply assign the position in the
order we (re)add the metric to the eventset
commit aed29825b29a913b6558a4c609f04aed85e85a3a
Author: Lukas Berk
Date: Thu Oct 9 16:16:07 2014 -0400
Tidy up setup_eventset()
Pick a style of retval assignment/comparison and stick with it.
Report papi errors in a uniform way
commit 9390154052416c87d9b7153cb20d89a0d412de93
Author: Lukas Berk
Date: Thu Oct 9 16:02:56 2014 -0400
Refactor the eventset setup which is done in papi_internal_init and remove_metric
We were only partially setting up the eventset in remove_metric (due
to working around papi bug). Refactor this and ensure it's done properly
both times.
commit 57deba3642bb8a29f01706d8f7e83bfad482c717
Author: Lukas Berk
Date: Thu Oct 9 13:39:24 2014 -0400
Refactor {add,remove}_metric functions
We can refactor the functions to put stopping and saving the values
in its own function, while making the return values consistent.
commit b1fe23bd105de11de1d35c1b9cd24c68817d1ece
Author: Lukas Berk
Date: Mon Oct 6 19:06:18 2014 -0400
Reduce the string manipulation functions usage in papi_internal_init
By reusing the same data structures and sizes that papi defines for
symbols we can directly memcpy the values in without having to loop
so many times and tokenizing everything.
commit f649a825fa3a0984d1eba2abaea7a637f31ca0f9
Author: Lukas Berk
Date: Mon Oct 6 12:20:59 2014 -0400
Switch to local, stack allocated string for papi.control.status metric
Instead of realloc'ing multiple times a call, lets instead, allocate
one string (once) and simplify the process
commit 95792977870c1b681d88d04480c78b0c69e6298d
Author: Lukas Berk
Date: Mon Oct 6 09:44:56 2014 -0400
Enable papi multiplexing
Enabling multiplexing will make the pmda a bit more flexible for counting
metrics for longer periods of time and for hardware with fewer hardware
counters
commit d74f1ed49d2c4824262ba2edbfe23931f5b0f79c
Author: Lukas Berk
Date: Fri Oct 3 15:20:44 2014 -0400
Remove check_event_exists function
If the event requested isn't in already in papi_info, add_metric
and remove metric won't get called at all anyways, this check is
redundant
commit 85e84ac0eb4a23d96a45b5135e18718d1e16398b
Author: Lukas Berk
Date: Fri Oct 3 15:08:31 2014 -0400
Shift papi_event_code variable into papi_event_type_t var in papi_info
We can reduce the number of variables we need and simply use the data
structures already there.
commit e3ef5fa7990901b13006abec8194fd9f8eea4edb
Author: Lukas Berk
Date: Thu Oct 2 15:02:56 2014 -0400
Add skeleton of new pmdapapi qa test - qa/799
Base for new pmdapapi test
commit 23a5321803f6d5169f0953ddf8efd83d0ae8fcd6
Author: Lukas Berk
Date: Thu Oct 2 12:04:37 2014 -0400
Make adding metrics to the current eventset more robust
If we attempt to add an event that cannot be added (for example,
if two metrics can't be counted at the same time), we should make
the attempt, but still restart papi and run the other metrics if
possible. If debugging is turned on, output the error message to
the log file.
commit 767e9f831b19da0f5ff385d633649baf9399656b
Author: Lukas Berk
Date: Wed Oct 1 19:13:59 2014 -0400
Change papi.control.status to include metric values and fix papi_children
Several smaller nits. papi.control.status should now include the current
values being counted. We also now use a __pmnsTree var to keep track
of the dynamic metrics we've added. This makes both papi_children much
eaiser to manage as well as papi_name_lookup.
commit c96c3a12d8702a2b452fff7a393af07b143641b6
Author: Lukas Berk
Date: Tue Sep 23 12:17:17 2014 -0400
Refactor bits of {add,remove}_metric and small cleanups
We can move the check to see if the event specified is valid outside
the function and reduce the repeated code. Also remove a loop that
we no longer need.
commit cd7c33f08b8c757fdd48db5d3f4c26392506ad99
Author: Lukas Berk
Date: Mon Sep 22 16:16:59 2014 -0400
papi_state returns a bitmask, so do a bitwise comparison, not direct compare.
instead of a direct comparison with PAPI_ we should just do a bitwise
AND to confirm the state
commit 93bed08ea89700c946c85c0ad92dfbba4d80d2d3
Author: Lukas Berk
Date: Mon Sep 22 14:50:03 2014 -0400
Remove papi_string_status and inline the former function
The aforementioned function was incorrect in using a case statement
and assuming only one would be hit. The papi state is a bitmask,
and we should be able to return more than one condition. It is
also potentially useful to output the last known values of each active
metric.
commit 90707b3d01de01592e796f3c45127261dfbf2fc7
Author: Lukas Berk
Date: Mon Sep 22 14:48:45 2014 -0400
Add checks around papi_children realloc statements
realloc's need a check to ensure the allocation returned with no errors.
If an error was found, throw __pmNoMem
commit 86249c03ec18e4a8a7ebd5cbb2f7d773d4f13d32
Author: Lukas Berk
Date: Fri Sep 19 18:07:05 2014 -0400
Remove internal enable and disable strings for papi metrics
We shouldn't require the use of these strings to pass back and forth.
commit 068f07ee2e87a28446fb0fe123d62cb5b049ab9f
Author: Lukas Berk
Date: Fri Sep 19 14:14:18 2014 -0400
Implement papi.control.reset metric
papi.control.reset will zero the current papi values being counted
one must use papi.control.disable if they'd like the values to no
longer be in the active eventset
commit e8875700ab017c10bf655e8649233d97eaf730e9
Author: Lukas Berk
Date: Thu Sep 18 21:18:40 2014 -0400
Remove remove second function paramter from remove_metric
Both parameters being passed were values from papi_info, if we
instead pass the specific position within the papi_info array,
we can determine the other values we need without passing extra
arguments
commit 85e9d659d660ca1c4683546bec67fe9b0f310d6e
Author: Lukas Berk
Date: Thu Sep 18 18:36:10 2014 -0400
Assign papi help text in papi_internal_init and only lookup values in papi_text
Assigning the values of {short,long}_descr can be done within papi_internal_init,
which allows us to simply recall the values in papi_text.
commit f4ecd6d059fa3b746ec4b3e71342c57e1ea07c4e
Author: Lukas Berk
Date: Wed Sep 17 18:30:20 2014 -0400
Drop unneeded parameter from check_papi_state
Drop unneeded parameter from the check_papi_state() function, and
don't mix up papi error values and pcp error values that we could
return. Stick to papi.
commit 4445ecb274827a9bf3370147b6af5f5ed7c6e7cd
Author: Lukas Berk
Date: Wed Sep 17 11:59:46 2014 -0400
Rename papi_pmid function to papi_name_lookup as requested
Rename function to be more descriptive
commit 8866f8e5ad64ac377a31f76aa981350c2fdb0e27
Author: Lukas Berk
Date: Wed Sep 17 11:51:19 2014 -0400
Update the papi_fetchcallback mechanism for passing metric data
No longer loop through all the available events (as we generate the
pmns dynamically now), just use the idp->item that we're passed
commit 16f79091795539f5abce73fe9ef5a728674796c4
Author: Lukas Berk
Date: Tue Sep 16 11:46:56 2014 -0400
Add papi_children callback for generating the pmns dynamically
Order the papi metrics under papi.system.metric (expecting expansion
of metrics to capture pid/tid specifics later) and dynamically
generate the list of metrics based on what's actually available on
the current hardware.
commit 7d21807bf0a41234a273b6784c2f00b5cc8349a7
Author: Lukas Berk
Date: Wed Sep 10 10:38:15 2014 -0400
Make use of strtok in papi_pmid
Use strtok in pmda_papi function for a cleaner function
commit b5601e2944328174dc37f22da355187ba7fbc5d5
Author: Lukas Berk
Date: Tue Sep 9 18:58:45 2014 -0400
Move PAPI_event_info_t var into papi_info for metric descriptions
By moving the PAPI_event_info_t varible into the papi_info struct
we can ensure the references to the descriptions are persistent.
commit c23abe1f5f47feb3512fbd4a3e78060b9f907bc0
Author: Lukas Berk
Date: Tue Sep 9 18:26:11 2014 -0400
First step towards a fully dynamic papipmda (including pmns)
Remove the papi_info[].pmns_position variable and set_pmns_position
fuction. Likewise, only add papi metrics to papi_info if they're
actually present on the current hardware. In the future we might
need to add in another papi.'system'.metric to make the pmns fully
automatically generated and match with the various userspace programs
commit 7cfc4eeb7a6cf0741da71ea33d7696009201cc1b
Author: Lukas Berk
Date: Mon Sep 8 12:22:33 2014 -0400
Rework saving previous papi values when adding/removing metrics
Previously, when we added or removed a metric that we were
tracking, we'd lose the previous values and all metrics would
restart from zero. By adding a prev_metric value in papi_info,
we can systematically save the values, and add it to the atom->ull
in the fetchcallback
commit f8a41d7eda518a8b4f6d980f0b78e52ecbe39472
Author: Lukas Berk
Date: Mon Sep 8 10:10:40 2014 -0400
Be more consistent with internal use of variable names
Remove all mentions of 'sts' and consistenly use retval
commit 82bb1916134d1a8895e626e1ed83f70e08de2975
Author: Lukas Berk
Date: Mon Sep 8 09:45:47 2014 -0400
Account for control and available clusters in papi_text
papi_text was returning results from PAPI_enum_event which matched
the pcp item number, even when the metrics were in different cluters
(control and available, respectively).
commit 5c8637452f2696afb5bccd2005841a2a0c8695d1
Author: Lukas Berk
Date: Fri Sep 5 15:34:56 2014 -0400
Add debug warning and return PM_ERR_CONV to papi.control.enable
Currently papi.control.enable will just silently fail if presented
with metrics it can't add, fix that.
*src/pmdas/papi/papi.c - add debug warning and return the error in
papi_store for enable
commit 1ad8894cd9ab9e78a6e09dea615d346a1d82b4a8
Author: Lukas Berk
Date: Tue Sep 23 12:17:17 2014 -0400
Refactor bits of {add,remove}_metric and small cleanups
We can move the check to see if the event specified is valid outside
the function and reduce the repeated code. Also remove a loop that
we no longer need.
commit d45b7a5a69b0bb78d35769a1f88dac41e35609ab
Author: Lukas Berk
Date: Mon Sep 22 16:16:59 2014 -0400
papi_state returns a bitmask, so do a bitwise comparison, not direct compare.
instead of a direct comparison with PAPI_ we should just do a bitwise
AND to confirm the state
commit 785be8d59b21da97ce8ec460a858774eb9884c7f
Author: Lukas Berk
Date: Mon Sep 22 14:50:03 2014 -0400
Remove papi_string_status and inline the former function
The aforementioned function was incorrect in using a case statement
and assuming only one would be hit. The papi state is a bitmask,
and we should be able to return more than one condition. It is
also potentially useful to output the last known values of each active
metric.
commit 08d6fd7ed266ab1cd22b6eeac23e0ed526a3cf9b
Author: Lukas Berk
Date: Mon Sep 22 14:48:45 2014 -0400
Add checks around papi_children realloc statements
realloc's need a check to ensure the allocation returned with no errors.
If an error was found, throw __pmNoMem
commit 234c037734ec2f62b5cfb721591b503584d95aa7
Author: Lukas Berk
Date: Fri Sep 19 18:07:05 2014 -0400
Remove internal enable and disable strings for papi metrics
We shouldn't require the use of these strings to pass back and forth.
commit 5242fa14be6e4e14e266f4d96bf730068fc77497
Author: Lukas Berk
Date: Fri Sep 19 14:14:18 2014 -0400
Implement papi.control.reset metric
papi.control.reset will zero the current papi values being counted
one must use papi.control.disable if they'd like the values to no
longer be in the active eventset
commit 4e50f21254b62781dfed420634aeb19401b878ba
Author: Lukas Berk
Date: Thu Sep 18 21:18:40 2014 -0400
Remove remove second function paramter from remove_metric
Both parameters being passed were values from papi_info, if we
instead pass the specific position within the papi_info array,
we can determine the other values we need without passing extra
arguments
commit 55c19eb5d1e82fb9044bb6c23343eda936a1b795
Author: Lukas Berk
Date: Thu Sep 18 18:36:10 2014 -0400
Assign papi help text in papi_internal_init and only lookup values in papi_text
Assigning the values of {short,long}_descr can be done within papi_internal_init,
which allows us to simply recall the values in papi_text.
commit 20adda001f11c425000ae46698d9c046dfc8c996
Author: Lukas Berk
Date: Wed Sep 17 18:30:20 2014 -0400
Drop unneeded parameter from check_papi_state
Drop unneeded parameter from the check_papi_state() function, and
don't mix up papi error values and pcp error values that we could
return. Stick to papi.
commit c2041d73e3be8fc913fdca84900dca6766213b13
Author: Lukas Berk
Date: Wed Sep 17 11:59:46 2014 -0400
Rename papi_pmid function to papi_name_lookup as requested
Rename function to be more descriptive
commit 074c27041db9840051478a6b3c5f0cf68725b8aa
Author: Lukas Berk
Date: Wed Sep 17 11:51:19 2014 -0400
Update the papi_fetchcallback mechanism for passing metric data
No longer loop through all the available events (as we generate the
pmns dynamically now), just use the idp->item that we're passed
commit 67b79c8130881c6ec5d2f669adaa6fbdae637419
Author: Lukas Berk
Date: Tue Sep 16 11:46:56 2014 -0400
Add papi_children callback for generating the pmns dynamically
Order the papi metrics under papi.system.metric (expecting expansion
of metrics to capture pid/tid specifics later) and dynamically
generate the list of metrics based on what's actually available on
the current hardware.
commit 9ce332107ea024e77f3765f2deb36b8f9ff438a4
Author: Lukas Berk
Date: Wed Sep 10 10:38:15 2014 -0400
Make use of strtok in papi_pmid
Use strtok in pmda_papi function for a cleaner function
commit f5ee043d7ea06888e133ffab917ac33239780316
Author: Lukas Berk
Date: Tue Sep 9 18:58:45 2014 -0400
Move PAPI_event_info_t var into papi_info for metric descriptions
By moving the PAPI_event_info_t varible into the papi_info struct
we can ensure the references to the descriptions are persistent.
commit bc5ab4ca60a0152c74ef345125ce78f56284c908
Author: Lukas Berk
Date: Tue Sep 9 18:26:11 2014 -0400
First step towards a fully dynamic papipmda (including pmns)
Remove the papi_info[].pmns_position variable and set_pmns_position
fuction. Likewise, only add papi metrics to papi_info if they're
actually present on the current hardware. In the future we might
need to add in another papi.'system'.metric to make the pmns fully
automatically generated and match with the various userspace programs
commit dcb2d35c53edbbefeba46b9c332915d090226d8f
Author: Lukas Berk
Date: Mon Sep 8 12:22:33 2014 -0400
Rework saving previous papi values when adding/removing metrics
Previously, when we added or removed a metric that we were
tracking, we'd lose the previous values and all metrics would
restart from zero. By adding a prev_metric value in papi_info,
we can systematically save the values, and add it to the atom->ull
in the fetchcallback
commit c52ebc9d02d82c13196b9f9145055e83eafaa4b2
Author: Lukas Berk
Date: Mon Sep 8 10:10:40 2014 -0400
Be more consistent with internal use of variable names
Remove all mentions of 'sts' and consistenly use retval
commit f37259dd1cf8675c4b02d08d69e2a15dd0587969
Author: Lukas Berk
Date: Mon Sep 8 09:45:47 2014 -0400
Account for control and available clusters in papi_text
papi_text was returning results from PAPI_enum_event which matched
the pcp item number, even when the metrics were in different cluters
(control and available, respectively).
commit c618fade0c63f843d9af42120520a4ac44adaa0c
Author: Lukas Berk
Date: Fri Sep 5 15:34:56 2014 -0400
Add debug warning and return PM_ERR_CONV to papi.control.enable
Currently papi.control.enable will just silently fail if presented
with metrics it can't add, fix that.
*src/pmdas/papi/papi.c - add debug warning and return the error in
papi_store for enable
commit 5640a0d81a9ba23a914efc4eff92a2e299c95f4e
Author: Lukas Berk
Date: Wed Nov 5 10:43:02 2014 -0500
tweak qa/903 to account for lower papi metric output
pmdapapi only creates metrics dynamically based on the system hardware.
This means the number of metrics by default is much lower, tweak the
awk statement to reflect that
commit f9aa390ae8440ae3691c8e44f2d2637839de488f
Author: Lukas Berk
Date: Wed Nov 5 10:40:47 2014 -0500
Update qa/799 with -hlocal: test against real values
799 will now grab 'real' values from the current papi install.
This testcase now also includes installing and uninstalling
the pmda.
commit 50de988dcdac24021f937d24e33f6857c19ef8c7
Author: Lukas Berk
Date: Wed Nov 5 23:03:53 2014 -0500
Add qa/967 to test the pmdapapi auto_enable functionality
In this testcase we take two dbpmda runs;
First, we run a check that the existing enable/disable functionality
works normally when papi.control.auto_enable is disabled (set to 0)
Second, we check that the auto_enable timeout works by setting it to
a low timeout (5 seconds), fetching a value, checking that
papi.control.status reports the correct timeout and a valid papi
VALUE. After which we wait just over 5 seconds and re-fetch the
papi.control.status value, which (should) show the metric is no
longer being counted and that papi has stopped.
This second test implicitly checks the functionality of dynamically
starting a counter.
commit 9acbf877443e918cdc3bc6a4136dca9a5bc4ab10
Author: Lukas Berk
Date: Wed Nov 5 12:31:57 2014 -0500
Add helppath variable
helppath is used in various locations throughout the pmda, dropped
by accident when merging the branches.
commit 67b1360e43ba136d34f661602afd6bf65b6cde17
Author: Frank Ch. Eigler
Date: Mon Nov 3 21:48:55 2014 -0500
papi pmda: tweak auto_afid name & commentary
commit f9791a2814e055c497c90dfc4913c9121d2639ef
Author: Lukas Berk
Date: Mon Nov 3 21:47:34 2014 -0500
Tweak pmdapapi docs
Add the unit (seconds) to the papi.control.auto_enable metric and
mention how one would disable the auto_enable functionality if needed
in the man page.
Signed-off-by: Lukas Berk
commit 940a38a7e32c3a287a226755a96d5a1df1da287b
Author: Frank Ch. Eigler
Date: Mon Nov 3 15:55:41 2014 -0500
papi pmda: add counter auto-enable on fetch
By reinterpreting the papi_info[].metric_enabled as a timestamp rather
than a boolean, and a small bit of logic, we get automatic enablement
of PAPI metric/counters upon pmfetch. This allows PAPI metrics to be
used with plain old pmlogger, pmval, etc., without necessary manual
pmstore's. Counters are retired based on a timeout mechanism,
assisted by pmaf(3). The papi.control.status metric is enhanced to
show the remaining lifespan of the counters, and to make it more safe
& reliable.
A new papi.control.auto_enable metric is available to set the timeout
(default 120 seconds). The Install script runs a papi.control.reset
operation to avoid leaving the counters running for even that long
after the post-install metric/value checks.
The previous pmstore mechanism is left in place unchanged, and
overrides the automatic scheme.
commit 92faaee4bc303f3be12bf62578dea2ce20a6f531
Author: Lukas Berk
Date: Wed Nov 5 11:49:57 2014 -0500
Add pmdaText call in papi_text
Somewhere along the way, rebasing ate the call
commit 5fda674535f7a9ee60abd9a16d1944fa1bbf944d
Author: Lukas Berk
Date: Wed Nov 5 10:43:02 2014 -0500
tweak qa/903 to account for lower papi metric output
pmdapapi only creates metrics dynamically based on the system hardware.
This means the number of metrics by default is much lower, tweak the
awk statement to reflect that
commit a6e8ac926ad750deaafbf1710e94b67d53abc1e2
Author: Lukas Berk
Date: Wed Nov 5 10:40:47 2014 -0500
Update qa/799 with -hlocal: test against real values
799 will now grab 'real' values from the current papi install.
This testcase now also includes installing and uninstalling
the pmda.
commit 4368b37fce067e7854d724adb630e027a0dad3dd
Author: Lukas Berk
Date: Wed Nov 5 10:34:18 2014 -0500
Add dbpmda testcase for pmdapapi
Add an additional testcase for pmdapapi, ensure a value can be
enabled, checked, and disabled through dbpmda
commit 2cc4519ce51c6d3177d1d2c7d1b2520b001534bb
Author: Frank Ch. Eigler
Date: Tue Oct 14 17:16:53 2014 -0400
papi/pmda: collapse metric addition/removal path
The add- and remove-metric operations are almost identical, with
respect to the need to save previous counter values, pause, then
restart with newborn/surviving metrics. With the recent
metric_enabled flag, the two code paths can be effectively merged.
Gone are add_metric(), remove_metric(), setup_eventset(), stop_papi(),
and the number_of_active_counters global. Left notes for a few more
candidates.
Welcome refresh_metrics() and a collapsed-case .enable/.disable
pmstore handler, a trivial .reset handler.
Tested by hand, running pmstore ops to enable/disable multiple
individual counters, including erroneous names, while monitoring the
valid counters for consistent progress. Mechanical testing
forthcoming.
commit 7b73c86f0ca5bf105d43fa05cb797a47691d25b7
Author: Lukas Berk
Date: Tue Oct 14 14:16:49 2014 -0400
Make status_string[] variable static
Avoid any type of memory corruption bug by ensuring the variable
won't already be unwound.
commit 5d2d7bf25e27b6b93f73e9fa58e17e62c6d8b5dc
Author: Lukas Berk
Date: Tue Oct 14 11:27:40 2014 -0400
Fix a papi_info.position bug in remove_metric
Include a new papi.info var (metric_enabled) to track if the metric
was enabled. This leaves us to simply assign the position in the
order we (re)add the metric to the eventset
commit 436be6ab6e10fd28387b328c463b280eccab805e
Author: Lukas Berk
Date: Thu Oct 9 16:16:07 2014 -0400
Tidy up setup_eventset()
Pick a style of retval assignment/comparison and stick with it.
Report papi errors in a uniform way
commit 0ac8189e9e930156a601e3e43348ccfd3a25b828
Author: Lukas Berk
Date: Thu Oct 9 16:02:56 2014 -0400
Refactor the eventset setup which is done in papi_internal_init and remove_metric
We were only partially setting up the eventset in remove_metric (due
to working around papi bug). Refactor this and ensure it's done properly
both times.
commit 4db29959e3c3874e17696fdbbb221aa7dce24fc2
Author: Lukas Berk
Date: Thu Oct 9 13:39:24 2014 -0400
Refactor {add,remove}_metric functions
We can refactor the functions to put stopping and saving the values
in its own function, while making the return values consistent.
commit 90c80fcee53c23f90675c49f853c313e4af2b2c4
Author: Lukas Berk
Date: Mon Oct 6 19:06:18 2014 -0400
Reduce the string manipulation functions usage in papi_internal_init
By reusing the same data structures and sizes that papi defines for
symbols we can directly memcpy the values in without having to loop
so many times and tokenizing everything.
commit 5e1e9f444320fcaf44e51449d6c67f22f5b2e1c7
Author: Lukas Berk
Date: Mon Oct 6 12:20:59 2014 -0400
Switch to local, stack allocated string for papi.control.status metric
Instead of realloc'ing multiple times a call, lets instead, allocate
one string (once) and simplify the process
commit fcfdaae5c6e7929d4a2726cc17675135ab709d15
Author: Lukas Berk