From myllynen@redhat.com Mon Feb 1 00:55:40 2016 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 149297CA3 for ; Mon, 1 Feb 2016 00:55:40 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 032C4304053 for ; Sun, 31 Jan 2016 22:55:36 -0800 (PST) X-ASG-Debug-ID: 1454309730-04cbb026fe1e35c0001-S8gJnT Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by cuda.sgi.com with ESMTP id jInS4hBaPMahFgEG (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 31 Jan 2016 22:55:31 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.45 Received: by mail-wm0-f45.google.com with SMTP id l66so56046143wml.0 for ; Sun, 31 Jan 2016 22:55:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=whIFpSn+kgWfjNrKZ4w1YAN/CIVMJDhTXVR1tvWNuCM=; b=deRL5DQDxOJ3dxdfmKrB22BtRRVKp9UAI9MfvZtgupVGyc3ukzYY4txssyjsSQFFD+ EIxxV/7BoEweoCpHRQ1YEiYeBJ+q9EJ96v1QVCbVa9Gkx5PpRW/9r35A+7OlIgVhNWz4 sNSoNGxOnn4e076DEl2ReGhxQAZu1StgBhPLJtL/9pCZsT1THhJN0sdJN5APUPaqqwtM F1EK1JyUDxnCIf/DoVS3d59n3MtICuHvci2HFzoweLZyAIesAfnyjfYm7HidEn+IOg7h jVN5ptiXZJOsVsef9ZsT8BEfB1TCC0R8XamR8PxTvH+tZFharWnoGBh7CEKAk73gwhxU emRw== X-Gm-Message-State: AG10YORTjpaqcUk9Hu1USSQmvBOxa8quz14U4xmjao2yX2/Ryw5GHrJx01Zlw5MQbsif7+an X-Received: by 10.28.224.212 with SMTP id x203mr10001989wmg.29.1454309729756; Sun, 31 Jan 2016 22:55:29 -0800 (PST) Received: from ?IPv6:2001:14bb:170:454f:402:1fcc:a508:2? (dyg4fmx4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:170:454f:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id g187sm9889744wmf.8.2016.01.31.22.55.28 for (version=TLSv1/SSLv3 cipher=OTHER); Sun, 31 Jan 2016 22:55:29 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: Python/PMAPI timezone issues Organization: Red Hat X-ASG-Orig-Subj: Python/PMAPI timezone issues Message-ID: <56AF015E.8020607@redhat.com> Date: Mon, 1 Feb 2016 08:55:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f45.google.com[74.125.82.45] X-Barracuda-Start-Time: 1454309730 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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.26639 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, It seems that PCP Python/PMAPI timezone code provides its own set of challenges in addition to the standard Python timezone quirks. The below code works but if I uncomment any of the problematic lines now commented out, things fall apart. I wonder what and where should be fixed and also how the code should look like in ideal conditions (i.e., so that -z/-Z are handled properly)? #!/usr/bin/pcp python import time import sys import os import cpmapi as c_api from pcp import pmapi class Test(object): def __init__(self): self.context = None self.opts = self.options() self.interval = pmapi.timeval(1) # 1 sec self.opts.pmSetOptionInterval(str(1)) self.metrics = [] # RHBZ#1264147 def pmids_to_ctypes(self, pmids): """ Convert a Python list of pmids (numbers) to a ctypes LP_c_uint (a C array of uints). """ from ctypes import c_uint pmidA = (c_uint * len(pmids))() for i, p in enumerate(pmids): pmidA[i] = c_uint(p) return pmidA def options(self): opts = pmapi.pmOptions() opts.pmSetShortOptions("a:D:h:O:s:t:Z:z") opts.pmSetLongOptionArchive() # -a/--archive opts.pmSetLongOptionDebug() # -D/--debug opts.pmSetLongOptionHost() # -h/--host opts.pmSetLongOptionFinish() # -T/--finish opts.pmSetLongOptionOrigin() # -O/--origin opts.pmSetLongOptionSamples() # -s/--samples opts.pmSetLongOptionInterval() # -t/--interval opts.pmSetLongOptionTimeZone() # -Z/--timezone opts.pmSetLongOptionHostZone() # -z/--hostzone return opts def connect(self): """ Establish a PMAPI context to archive, host or local, via args """ self.context = pmapi.pmContext.fromOptions(self.opts, sys.argv) def execute(self): """ Execute a test """ # Time #if not self.opts.pmGetOptionHostZone(): # permission error w/o -z/-Z if self.opts.pmGetOptionHostZone(): tz = self.context.pmWhichZone() #self.context.pmWhichZone() # double free / corruption os.environ['TZ'] = tz time.tzset() else: os.environ['TZ'] = "EET-2" time.tzset() self.context.pmNewZone("EET-2") #print(self.context.pmWhichZone()) # error w/o the above lines if self.opts.pmGetOptionTimezone(): os.environ['TZ'] = self.opts.pmGetOptionTimezone() time.tzset() self.context.pmNewZone(self.opts.pmGetOptionTimezone()) print(os.environ['TZ']) if __name__ == '__main__': try: T = Test() T.connect() T.execute() except pmapi.pmUsageErr as usage: usage.message() except Exception as error: sys.stderr.write(str(error) + "\n") Thanks, -- Marko Myllynen From kenj@internode.on.net Mon Feb 1 02:43:32 2016 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 389027CA3 for ; Mon, 1 Feb 2016 02:43:32 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BF868AC002 for ; Mon, 1 Feb 2016 00:43:28 -0800 (PST) X-ASG-Debug-ID: 1454316204-04cbb026fd1e9040001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id f2r4M1qmS3Eg9KSY for ; Mon, 01 Feb 2016 00:43:24 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BGAwC1Ga9WPGWM0XYNUItZgXizRYgJAQEBAQEBBwEBAQFBhSpVNgIFFgsCCwMCAQIBLwInCAEBtTFnjml7jB+BRoMYgToFh1CHBIgbnDuOPoRiiVMBAQE Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail04.adl6.internode.on.net with ESMTP; 01 Feb 2016 19:13:23 +1030 To: pcp@oss.sgi.com Subject: QA Status From: Ken McDonell X-ASG-Orig-Subj: QA Status Message-ID: <56AF1AAA.1040700@internode.on.net> Date: Mon, 1 Feb 2016 19:43:22 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1454316204 X-Barracuda-URL: https://192.48.176.25:443/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.26641 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [expect these on a weekly basis from now on ...] === Synopsis === QA Status from Ken McDonell's QA Farm in Melbourne Summary: 23391 run, 51 failed (0.22%) Tests that failed on at least 9% of the QA hosts ... QA Test Failures Failure Signatures (number of different failure patterns) 878 9 5 2 1 1 956 4 4 Details for these most commonly failing tests are available from ftp://oss.sgi.com/projects/pcp/download/qa-status/ ==== QA Summary ==== Date Run Pass Fail Nrun Host 2016-01-27 801 800 1 83|bozo PCP 3.11.0 x86_64 Ubuntu 15.10 2016-01-29 780 778 2 105|bozo-laptop PCP 3.11.0 i686 LinuxMint 15 2016-01-29 790 790 0 95|bozo-vm PCP 3.11.0 x86_64 Debian 8.2 Daily runs, but no QA |fuji PCP 3.10.9 i386 Darwin 10.8.0 2016-02-01 691 688 3 152|grundy PCP 3.11.0 ia64 SUSE SLES11 SP1 2016-01-29 804 803 1 81|vm00 PCP 3.11.0 x86_64 Ubuntu 12.04 2016-01-29 810 810 0 75|vm01 PCP 3.11.0 i686 Ubuntu 15.10 2016-01-29 788 785 3 97|vm02 PCP 3.11.0 i686 openSUSE 13.2 2016-01-29 830 828 2 56|vm03 PCP 3.11.0 x86_64 Fedora 21 2016-01-30 721 719 2 165|vm04 PCP 3.11.0 i586 CentOS 5.11 2016-01-30 786 782 4 100|vm05 PCP 3.11.0 x86_64 Gentoo 2.2 2016-01-30 60 60 0 4|vm06 PCP 3.11.0 amd64 FreeBSD 10.2-RELEASE 2016-01-30 789 785 4 97|vm07 PCP 3.11.0 x86_64 Debian 6.0.10 2016-02-01 829 823 6 57|vm08 PCP 3.11.0 x86_64 CentOS Linux7.1.1503 2016-02-01 60 59 1 4|vm09 PCP 3.11.0 i386 NetBSD 6.1.5 2016-01-30 60 60 0 4|vm10 PCP 3.11.0 i386 FreeBSD 9.3-RELEASE-p30 2016-01-30 789 789 0 97|vm11 PCP 3.11.0 i686 Debian 6.0.10 2016-01-30 827 826 1 59|vm12 PCP 3.11.0 i686 Fedora 22 2016-01-31 821 821 0 65|vm14 PCP 3.11.0 x86_64 CentOS6.7 No daily runs |vm15 PCP 3.9.1 x86_64 Slackware 13.37.0 2016-01-28 814 811 3 70|vm18 PCP 3.11.0 x86_64 LinuxMint 17.3 2016-01-31 797 796 1 89|vm19 PCP 3.11.0 x86_64 openSUSE 12.2 2016-01-31 800 798 2 86|vm20 PCP 3.11.0 x86_64 Ubuntu 13.04 2016-01-31 802 802 0 84|vm21 PCP 3.11.0 i686 Debian 7.9 2016-01-31 826 825 1 60|vm22 PCP 3.11.0 x86_64 Fedora 19 2016-02-01 826 823 3 60|vm23 PCP 3.11.0 i686 Fedora 20 2016-02-01 821 819 2 65|vm24 PCP 3.11.0 i686 openSUSE 13.1 2016-02-01 717 713 4 169|vm25 PCP 3.11.0 x86_64 CentOS 5.11 2016-01-30 829 828 1 57|vm26 PCP 3.11.0 x86_64 Fedora 21 2016-01-31 816 816 0 70|vm27 PCP 3.11.0 x86_64 Ubuntu 15.04 2016-02-01 822 822 0 64|vm28 PCP 3.11.0 x86_64 RHEL Server 6.7 2016-01-28 830 827 3 55|vm29 PCP 3.11.0 x86_64 RHEL Server 7.1 2016-01-29 827 827 0 58|vm30 PCP 3.11.0 x86_64 SUSE SLES12 SP0 2016-01-30 828 827 1 58|vm31 PCP 3.11.0 x86_64 Fedora 23 Summary: 23391 run, 51 failed (0.22%) ==== QA Failure (X) Map ==== Host bo bl gr 00 02 03 04 05 07 08 09 12 18 19 20 22 23 24 25 26 29 31 Test %fail Test QA groups 878 28% X X X X X X X X X 878 pmda.pipe 956 13% X X X X 956 pmcd 110 6% X X 110 pmda.simple pmda.proc pmda.install 370 6% X X 370 pmimport derive pmdumplog perl 666 6% X X 666 pmmgr slow 823 6% X X 823 pmda.sample pmstore secure 950 6% X X 950 pmproxy avahi 983 6% X X 983 pmie 1068 6% X X 1068 pmrep python zabbix 1069 6% X X 1069 pmrep python 022 3% X 022 context_local pmda pmda.proc 053 3% X 053 pmprobe pmlogger pmclient 139 3% X 139 pmlc 169 3% X 169 pmcd 188 3% X 188 libpcp 280 3% X 280 pmlogger logutil folio pmlc 300 3% X 300 pmcd 354 3% X 354 folio pmlc Host bo bl gr 00 02 03 04 05 07 08 09 12 18 19 20 22 23 24 25 26 29 31 546 3% X 546 pmcd 574 3% X 574 libpcp pmns compat 667 3% X 667 python 727 3% X 727 avahi 739 3% X 739 python getopt 775 3% X 775 pmfind 802 3% X 802 pmda valgrind dbpmda 832 3% X 832 pmda.sample pmstore secure 840 3% X 840 avahi 858 3% X 858 libpcp fetch 859 3% X 859 python libpcp fetch 892 3% X 892 pmcd libpcp 944 3% X 944 pmcd secure 946 3% X 946 pmfind avahi Host bo bl gr 00 02 03 04 05 07 08 09 12 18 19 20 22 23 24 25 26 29 31 From myllynen@redhat.com Mon Feb 1 08:40:22 2016 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 D86257CB1 for ; Mon, 1 Feb 2016 08:40:22 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id ABACD8F8033 for ; Mon, 1 Feb 2016 06:40:19 -0800 (PST) X-ASG-Debug-ID: 1454337616-04bdf04d6d1edaa0001-S8gJnT Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by cuda.sgi.com with ESMTP id BfEynrtYgYYjv76r (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 01 Feb 2016 06:40:17 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.49 Received: by mail-wm0-f49.google.com with SMTP id r129so73758529wmr.0 for ; Mon, 01 Feb 2016 06:40:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=lcpCHxmDKpTVmoBzXTb+x4Ema4GDu0NnPjhsnEszMrQ=; b=NFZeNir1zFVkFG+bvhPQCS3O1kTM3GgDGglNoELEF7hrNYn9+wTieNA37US+Fsax+q s0rrem5EGiSvaV6QKsz33pLG39up2F8lxmcbRwzulCf0JkSu1/icGfPD9KGOiueyATK1 dNogXwFgE5PNblwetZVK77AwccooXbX9CyskwHPwi7Ynk9hpjsIOKbAJtZx+5LcqSNV4 4jQvJ2OshWWZOtk3KTlGZrMz/tQ3VSqlT9d6GJjNXJh6i+toahZ325o4P2vMxZqHI0v/ kECagaaerGvYfNgpmmZwV8hHyyEecqVkdDOzprrl1ENHR53fnrva4cC6Una0wN+yhLQm KL2Q== X-Gm-Message-State: AG10YOTtc36KseClKWs6xyVWaPXQ6OL/lf1s9CDsiTZATpI/gW5Srp/fDLTIUpvlQNBVoKQV X-Received: by 10.194.87.201 with SMTP id ba9mr23026637wjb.128.1454337615708; Mon, 01 Feb 2016 06:40:15 -0800 (PST) Received: from ?IPv6:2001:14bb:140:4a02:402:1fcc:a508:2? (dygyfzytfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:4a02:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id 79sm11843501wmo.7.2016.02.01.06.40.14 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 01 Feb 2016 06:40:15 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmrep: fix timezone handling/reporting Organization: Red Hat X-ASG-Orig-Subj: pmrep: fix timezone handling/reporting Message-ID: <56AF6E49.1040404@redhat.com> Date: Mon, 1 Feb 2016 16:40:09 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f49.google.com[74.125.82.49] X-Barracuda-Start-Time: 1454337616 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.26647 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, I think this works in every case without even hitting the previously reported issues (no workarounds required for that). Since this is not the first attempt on this front I'm not updating QA myself, hoping to get a review for this before QA test data update. --- src/pmrep/pmrep.py | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index 07e4b29..c641bee 100644 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -199,6 +199,7 @@ class PMReporter(object): self.samples = None # forever self.interval = pmapi.timeval(1) # 1 sec self.opts.pmSetOptionInterval(str(1)) + self.localtz = None self.runtime = -1 self.delay = 0 self.type = 0 @@ -777,6 +778,19 @@ class PMReporter(object): mode |= PM_XTB_SET(PM_TIME_MSEC) return (mode, int(step)) + def get_current_tz(self): + """ Figure out the current timezone using the PCP convention """ + dst = time.localtime().tm_isdst + offset = time.altzone if dst else time.timezone + currtz = time.tzname[dst] + if offset: + offset = offset/3600 + offset = int(offset) if offset == int(offset) else offset + if offset >= 0: + offset = "+" + str(offset) + currtz += str(offset) + return currtz + def execute(self): """ Using a PMAPI context (could be either host or archive), fetch and report the requested set of values on stdout. @@ -789,9 +803,14 @@ class PMReporter(object): self.delimiter = OUTSEP # Time + self.localtz = self.get_current_tz() if self.opts.pmGetOptionHostZone(): os.environ['TZ'] = self.context.pmWhichZone() time.tzset() + else: + os.environ['TZ'] = self.localtz + time.tzset() + self.context.pmNewZone(self.localtz) if self.opts.pmGetOptionTimezone(): os.environ['TZ'] = self.opts.pmGetOptionTimezone() time.tzset() @@ -1047,24 +1066,9 @@ class PMReporter(object): if self.context.type == PM_CONTEXT_LOCAL: host = "localhost, using DSO PMDAs" - # Figure out the current timezone using the PCP convention - if self.opts.pmGetOptionTimezone(): - currtz = self.opts.pmGetOptionTimezone() - else: - dst = time.localtime().tm_isdst - offset = time.altzone if dst else time.timezone - currtz = time.tzname[dst] - if offset: - offset = offset/3600 - offset = int(offset) if offset == int(offset) else offset - currtz += str(offset) - timezone = currtz - - if self.context.type == PM_CONTEXT_ARCHIVE: - labeltz = self.context.pmGetArchiveLabel().get_timezone() - if labeltz != timezone: - timezone = labeltz - timezone += " (creation, current is " + currtz + ")" + timezone = self.get_current_tz() + if timezone != self.localtz: + timezone += " (reporting, local is " + self.localtz + ")" self.writer.write(comm + "\n") if self.context.type == PM_CONTEXT_ARCHIVE: Thanks, -- Marko Myllynen From amy.saunders@1bestdata.com Mon Feb 1 08:59:29 2016 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,T_DKIM_INVALID, T_FILL_THIS_FORM_SHORT 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 E11897CAD for ; Mon, 1 Feb 2016 08:59:28 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4191EAC005 for ; Mon, 1 Feb 2016 06:59:25 -0800 (PST) X-ASG-Debug-ID: 1454338760-04cb6c0d5d1dd100001-S8gJnT Received: from mail.1bestdata.com (mail.1bestdata.com [191.101.235.226]) by cuda.sgi.com with ESMTP id PtuNryBrfa2PpOFN for ; Mon, 01 Feb 2016 06:59:20 -0800 (PST) X-Barracuda-Envelope-From: amy.saunders@1bestdata.com X-Barracuda-Apparent-Source-IP: 191.101.235.226 Received: from AdminPC (unknown [103.227.96.104]) by mail.1bestdata.com (Postfix) with ESMTPSA id 8CB1C6C0D7 for ; Mon, 1 Feb 2016 09:59:18 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.1bestdata.com 8CB1C6C0D7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=1bestdata.com; s=default; t=1454338759; bh=XRNDXe7z6b7BEOU8DD1dIVhN6Sv3ttGRTvsMchO/Ewk=; h=From:To:Subject:Date:From; b=TKS2Ivq27pZH4kkJUKX5r7gyMkgC4PRqTeMKzFxFf/vpFHAiUB4KRbxnOmPGOt1QO w69wDycui6pu7Nhkkh4spTjrQSY+BO1TrTuQmVI80ORM7Cxg5hVGOpwKqC3WUI4y4o 12NZfV9dyUnPkzHOtD8+AP6iNtcEpJg6Z4BUDsH8= Return-Receipt-To: "Amy Saunders" From: "Amy Saunders" To: Subject: Follow Up-SAP Users Global Date: Mon, 1 Feb 2016 06:59:03 -0800 X-ASG-Orig-Subj: Follow Up-SAP Users Global Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_14C5_01D15CBE.09B259C0" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdFdARFO3DCO8qi4SX+aoEF8bLa1Ww== Content-Language: en-us x-cr-hashedpuzzle: BfJa C/F0 DEfW DI1c Fg/m FnU5 FzJT F1m4 GHdW GMPs GfqE Gto1 HZPM JazQ JqZK LXAy;1;cABjAHAAQABvAHMAcwAuAHMAZwBpAC4AYwBvAG0A;Sosha1_v1;7;{BDBC1293-834D-44A5-86F7-20A0C4BBA77B};YQBtAHkALgBzAGEAdQBuAGQAZQByAHMAQAAxAGIAZQBzAHQAZABhAHQAYQAuAGMAbwBtAA==;Mon, 01 Feb 2016 14:58:54 GMT;RgBvAGwAbABvAHcAIABVAHAALQBTAEEAUAAgAFUAcwBlAHIAcwAgAEcAbABvAGIAYQBsAA== x-cr-puzzleid: {BDBC1293-834D-44A5-86F7-20A0C4BBA77B} Disposition-Notification-To: "Amy Saunders" X-Barracuda-Connect: mail.1bestdata.com[191.101.235.226] X-Barracuda-Start-Time: 1454338760 X-Barracuda-URL: https://192.48.176.15:443/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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26647 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== -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 This is a multipart message in MIME format. ------=_NextPart_000_14C5_01D15CBE.09B259C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello, I wanted to follow-up in reference to my previous e-mail sent on about Sap Users If you had a chance to review the information below, please advice. Best Regards, Amy Saunders Marketing Executive _____ Hello, Would you be interested in reaching out to SAP Users in IT, Manufacturing, Retail, Healthcare, Pharma, Marketing, Banking, Telecommunication and Real Estate industries worldwide for unlimited usage in your Marketing Initiatives like Email Marketing, Tele Marketing and Direct mailings? SAP Users: Customer Relationship Management, Enterprise Asset Management, Enterprise Resource Planning, Financial Management, Product Lifecycle Management, Supplier Relationship Management, SAP Business Suite, SAP Business One, SAP Business by Design and many more. Technologies List:- Oracle Users, SAP Users, Microsoft Dynamics Users, Amazon Users, VMware Users, OpenStack Users, Rackspace Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google Users, Joyent Users, EMC Users, Comptel, DNP3, EMC2, Entrust, Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kbox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and many more. Data Fields :- Company Name, Decision Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, FAX Number, Industry Type, SIC Code, Application Type, Web Address, Employees size and Revenue size. Kindly let me know if you are looking forward for any of the details mentioned above or any other application users. We would be glad to provide you this information. Await your response! Regards Amy Saunders Marketing Executive "If you do not wish to receive further emails kindly reply with "Leave Out" or "Unsubscribe" ------=_NextPart_000_14C5_01D15CBE.09B259C0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello,=

        = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;        <= /span>

I wanted to follow-up in reference to my previous = e-mail sent on about Sap = Users

 

If you had a chance to review the information below, = please advice.<= /span>

 

Bes= t Regards,

Amy= Saunders

Mar= keting Executive


Hello,<= /span>

 <= /o:p>

Would you be interested in reaching out to = SAP = Users in IT, Manufacturing, Retail, Healthcare, Pharma, Marketing, Banking, Telecommunication and Real Estate industries worldwide for unlimited usage in your Marketing Initiatives like Email Marketing, = Tele Marketing and Direct mailings?<= /span>

 

SAP Users: Customer Relationship Management, Enterprise Asset Management, Enterprise = Resource Planning, Financial = Management, Product Lifecycle Management, Supplier Relationship Management, = SAP Business Suite, SAP Business One, SAP = Business by Design and many more.=

 

Technologies List:- Oracle Users, SAP Users, = Microsoft Dynamics Users, Amazon Users, VMware Users, OpenStack Users, Rackspace = Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google = Users, Joyent Users, EMC Users, Comptel, DNP3, EMC2, Entrust, = Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kbox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and many more.=

 

Data Fields :- Company Name, Decision = Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, FAX Number, Industry Type, SIC Code, Application Type, Web = Address, Employees size and Revenue size.=

 

Kindly let me know if you are looking forward for any = of the details mentioned above or any other application users.  We would = be glad to provide you this information.=

 

Await your response!=

 

Reg= ards<= /span>

Amy= Saunders

Marketing Executive

“If you do not wish to receive further emails kindly reply = with "Leave Out" or “Unsubscribe”

 

------=_NextPart_000_14C5_01D15CBE.09B259C0-- From lberk@redhat.com Mon Feb 1 15:22:25 2016 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 902707CB1 for ; Mon, 1 Feb 2016 15:22:25 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 81594304048 for ; Mon, 1 Feb 2016 13:22:25 -0800 (PST) X-ASG-Debug-ID: 1454361741-04cb6c0d5e1e7690001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6r6xFFBhsgdDp7Ch (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 01 Feb 2016 13:22:21 -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-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 08F4CE1B63 for ; Mon, 1 Feb 2016 21:22:21 +0000 (UTC) Received: from toium (unused-10-15-17-233.yyz.redhat.com [10.15.17.233]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u11LMKP6026149 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 1 Feb 2016 16:22:20 -0500 From: Lukas Berk To: pcp@oss.sgi.com Subject: pcp updates: build/qa/buildbot Date: Mon, 01 Feb 2016 16:22:20 -0500 X-ASG-Orig-Subj: pcp updates: build/qa/buildbot Message-ID: <87lh74unw3.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: 1454361741 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Changes committed to git://git.pcp.io/lberk/pcp master Lukas Berk (7): qa/323 - add nslookup notrun check qa/858 - add _check_valgrind call qa/220 - add netstat notrun check Add perl-XML-TokeParser deps for sar2pcp/shee2pcp Add pcp.spec.in gcc-c++ dep for qt or webapi Add rpm-build as a builddep to pcp.spec.in Update buildbot config file build/rpm/fedora.spec | 1 build/rpm/pcp.spec.in | 6 +++++ qa/220 | 2 + qa/323 | 1 qa/858 | 2 + qa/buildbot/master.cfg | 58 +++++++++++++++++++++++++++++++++++++++---------- 6 files changed, 59 insertions(+), 11 deletions(-) Details ... commit 89f8c78731d4fdbbeda528329893d61a7ac308fe Author: Lukas Berk Date: Mon Feb 1 14:13:52 2016 -0500 Update buildbot config file commit c87984e5397a81d07d36e370f9315e832ff474bd Author: Lukas Berk Date: Mon Feb 1 11:43:00 2016 -0500 Add rpm-build as a builddep to pcp.spec.in commit 464f427a123cfc3b3556134072e7af7dda8e2b6e Author: Lukas Berk Date: Mon Feb 1 11:35:01 2016 -0500 Add pcp.spec.in gcc-c++ dep for qt or webapi builds were failing on minimal-config setups with incomplete builddeps otherwise commit a9edb54b2436e54dd9981ca451bd4834ef88ffdd Author: Lukas Berk Date: Mon Feb 1 11:11:38 2016 -0500 Add perl-XML-TokeParser deps for sar2pcp/shee2pcp Both import-sar2pcp and import-sheet2pcp scripts require perl-XML-TokeParser packages, add them to their dependencies commit e7fc519464492a168c839597870c1b1904cf4842 Author: Lukas Berk Date: Mon Feb 1 10:40:01 2016 -0500 qa/220 - add netstat notrun check commit c39b2c834855c8bab1aea7311feadc9f2590f344 Author: Lukas Berk Date: Mon Feb 1 10:28:47 2016 -0500 qa/858 - add _check_valgrind call commit da037113a9885885ad7b2f00096e984dc77416be Author: Lukas Berk Date: Mon Feb 1 10:27:05 2016 -0500 qa/323 - add nslookup notrun check From kenj@internode.on.net Mon Feb 1 16:09:47 2016 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 BE7A87CB1 for ; Mon, 1 Feb 2016 16:09:47 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 35CC1AC003 for ; Mon, 1 Feb 2016 14:09:47 -0800 (PST) X-ASG-Debug-ID: 1454364582-04cb6c0d5d1e8870001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id tM8eTWX6hO1nXV5r for ; Mon, 01 Feb 2016 14:09:43 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AJAwCY1q9WPGWM0XYNUYQMbYZggXizThqIAAEBAQEBAQcBAQEBQYEAEoQYVTAGAgUWCwILAwIBAgExJwYCAQG2W2ePF3uOSYI0gToFlm+FR4lfSoxLhW6IUIRiVoJGhyUBAQE Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Feb 2016 08:39:41 +1030 To: pcp@oss.sgi.com Subject: pcp updates - mostly from Lukas, one valgrind suppression change from me From: Ken McDonell X-ASG-Orig-Subj: pcp updates - mostly from Lukas, one valgrind suppression change from me Message-ID: <56AFD7A5.2060704@internode.on.net> Date: Tue, 2 Feb 2016 09:09:41 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454364582 X-Barracuda-URL: https://192.48.176.15:443/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.26657 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I've reviewed Lukas' changes, all look good to me ... qa/check-vm was already checking the rpm build dependencies added here, and addresses a qa/858 failure of mine on grundy.sgi.com Changes committed to git://git.pcp.io/kenj/pcp master Lukas Berk (7): qa/323 - add nslookup notrun check qa/858 - add _check_valgrind call qa/220 - add netstat notrun check Add perl-XML-TokeParser deps for sar2pcp/shee2pcp Add pcp.spec.in gcc-c++ dep for qt or webapi Add rpm-build as a builddep to pcp.spec.in Update buildbot config file Ken McDonell (1): qa/valgrind-suppress-3.6.0.SVN-Debian: add suppression from false loadascii() case build/rpm/fedora.spec | 1 build/rpm/pcp.spec.in | 6 +++ qa/220 | 2 + qa/323 | 1 qa/858 | 2 + qa/buildbot/master.cfg | 58 +++++++++++++++++++++++++++------- qa/valgrind-suppress-3.6.0.SVN-Debian | 24 ++++++++++++++ 7 files changed, 83 insertions(+), 11 deletions(-) Details ... commit 89f8c78731d4fdbbeda528329893d61a7ac308fe Author: Lukas Berk Date: Mon Feb 1 14:13:52 2016 -0500 Update buildbot config file commit c87984e5397a81d07d36e370f9315e832ff474bd Author: Lukas Berk Date: Mon Feb 1 11:43:00 2016 -0500 Add rpm-build as a builddep to pcp.spec.in commit 464f427a123cfc3b3556134072e7af7dda8e2b6e Author: Lukas Berk Date: Mon Feb 1 11:35:01 2016 -0500 Add pcp.spec.in gcc-c++ dep for qt or webapi builds were failing on minimal-config setups with incomplete builddeps otherwise commit a9edb54b2436e54dd9981ca451bd4834ef88ffdd Author: Lukas Berk Date: Mon Feb 1 11:11:38 2016 -0500 Add perl-XML-TokeParser deps for sar2pcp/shee2pcp Both import-sar2pcp and import-sheet2pcp scripts require perl-XML-TokeParser packages, add them to their dependencies commit e7fc519464492a168c839597870c1b1904cf4842 Author: Lukas Berk Date: Mon Feb 1 10:40:01 2016 -0500 qa/220 - add netstat notrun check commit c39b2c834855c8bab1aea7311feadc9f2590f344 Author: Lukas Berk Date: Mon Feb 1 10:28:47 2016 -0500 qa/858 - add _check_valgrind call commit da037113a9885885ad7b2f00096e984dc77416be Author: Lukas Berk Date: Mon Feb 1 10:27:05 2016 -0500 qa/323 - add nslookup notrun check commit f4b46480c997da6fae03aebce3056fbe3b07b942 Author: Ken McDonell Date: Sun Jan 31 21:14:55 2016 +1100 qa/valgrind-suppress-3.6.0.SVN-Debian: add suppression from false loadascii() case From lberk@redhat.com Mon Feb 1 17:48:50 2016 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 52A2F7CB1 for ; Mon, 1 Feb 2016 17:48:50 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id F2145AC002 for ; Mon, 1 Feb 2016 15:48:46 -0800 (PST) X-ASG-Debug-ID: 1454370522-04bdf04d6d1fe040001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Jd4xtftJ7xSM4mty (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 01 Feb 2016 15:48:42 -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-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 450FFC0C2355 for ; Mon, 1 Feb 2016 23:48:42 +0000 (UTC) Received: from toium (vpn-53-73.rdu2.redhat.com [10.10.53.73]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u11NmfRr029790 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 1 Feb 2016 18:48:41 -0500 From: Lukas Berk To: pcp@oss.sgi.com Subject: rfc: qa/common.secure update Date: Mon, 01 Feb 2016 18:48:41 -0500 X-ASG-Orig-Subj: rfc: qa/common.secure update Message-ID: <87d1sgdmau.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: 1454370522 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, When working on some of the errors I was seeing on the buildbots (and locally in this case), specifically 712, 713, 714, and 966. This patch fixes all the testcases on my machines, however, I wanted to ensure this change didn't break the testcases on other platforms. Hoping for a few more eyes on this patch. Changes committed to git://git.pcp.io/lberk/pcp master Lukas Berk (1): Alter certutils subject invocation and regex order qa/common.secure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Details ... commit bd1f243fc5713d23472ce5207ac674002715dc57 Author: Lukas Berk Date: Mon Feb 1 18:28:51 2016 -0500 Alter certutils subject invocation and regex order qa/common.secure - the 'common name' in the subject field of the certutil invocation was being specified in such a manner that dropped the quotes, thus, exposed the ',' character, which is used as a 'special character' according to rfc1485. This was causing an 'improperly formatted name' error on multiple platforms. From kenj@internode.on.net Mon Feb 1 19:32:41 2016 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 277EC7CB1 for ; Mon, 1 Feb 2016 19:32:41 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0C9B28F8039 for ; Mon, 1 Feb 2016 17:32:37 -0800 (PST) X-ASG-Debug-ID: 1454376754-04bdf04d6d200990001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id wtFEdzcouNOGfgBm for ; Mon, 01 Feb 2016 17:32:35 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AVBADSBrBWPGWM0XYNUYQMbYZhgXizTBqHdwEBAQEBAQcBAQEBQYEAEoQYVTAGAgUWCwILAwIBAgExDhkGAgEBtl5njxd7jkmCNIE6BY0liUqFR4Jshz2MS44+hGJWgkaHJQEBAQ Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Feb 2016 12:02:03 +1030 To: pcp@oss.sgi.com Subject: pcp updates From: Ken McDonell X-ASG-Orig-Subj: pcp updates Message-ID: <56B00712.5000608@internode.on.net> Date: Tue, 2 Feb 2016 12:32:02 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454376755 X-Barracuda-URL: https://192.48.157.11:443/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.26663 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (3): qa/546: add to group "secure" qa/admin/pcp-qa-summary: add Host column headings to "whatami" descriptions qa/admin/pcp-daily: drop grundy from default/known list Lukas Berk (1): Alter certutils subject invocation and regex order qa/admin/pcp-daily | 9 +-------- qa/admin/pcp-qa-summary | 12 ++++++++++++ qa/common.secure | 6 +++--- qa/group | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) Details ... commit a3fcd2f2aadaf967eb1226b13dfede6838db71b4 Author: Ken McDonell Date: Tue Feb 2 12:19:01 2016 +1100 qa/admin/pcp-daily: drop grundy from default/known list Cannot use this script to get to grundy.sgi.com any more ... need different secret sauce recipe. commit 262d49dbb3e8b328ff78312047af7a61ecd6842c Author: Ken McDonell Date: Tue Feb 2 12:18:20 2016 +1100 qa/admin/pcp-qa-summary: add Host column headings to "whatami" descriptions commit 882843ca6650eab769ba5600843c6ac57cbf9958 Author: Ken McDonell Date: Tue Feb 2 12:17:46 2016 +1100 qa/546: add to group "secure" commit bd1f243fc5713d23472ce5207ac674002715dc57 Author: Lukas Berk Date: Mon Feb 1 18:28:51 2016 -0500 Alter certutils subject invocation and regex order qa/common.secure - the 'common name' in the subject field of the certutil invocation was being specified in such a manner that dropped the quotes, thus, exposed the ',' character, which is used as a 'special character' according to rfc1485. This was causing an 'improperly formatted name' error on multiple platforms. From kenj@internode.on.net Mon Feb 1 19:33:17 2016 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 B49B37CB1 for ; Mon, 1 Feb 2016 19:33:17 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 546A7AC002 for ; Mon, 1 Feb 2016 17:33:14 -0800 (PST) X-ASG-Debug-ID: 1454376792-04bdf04d6b2009c0001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id q1tCcGUMYuGHac7x for ; Mon, 01 Feb 2016 17:33:12 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BVDgDSBrBWPGWM0XYNUYQMbYZhgXiqPIkQGoV1AoIAAQEBAQEBBwEBAQFBgQABAQECAQgEg28BAQQ4QBELDgYECRYPCQMCAQIBMRQGAQwGAgEBtl6PVAEBAQEGAQEBAQEbikaIbAEEkmyEA4VHgmyGc40VhW6IUIRiVoJGhEkhgjsBAQE Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Feb 2016 12:03:11 +1030 Subject: Re: [pcp] rfc: qa/common.secure update To: Lukas Berk , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] rfc: qa/common.secure update References: <87d1sgdmau.fsf@redhat.com> From: Ken McDonell Message-ID: <56B00757.6040100@internode.on.net> Date: Tue, 2 Feb 2016 12:33:11 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <87d1sgdmau.fsf@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454376792 X-Barracuda-URL: https://192.48.157.11:443/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.26663 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 02/02/16 10:48, Lukas Berk wrote: > ... > Changes committed to git://git.pcp.io/lberk/pcp master > > Lukas Berk (1): > Alter certutils subject invocation and regex order > > qa/common.secure | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > Details ... > > commit bd1f243fc5713d23472ce5207ac674002715dc57 > Author: Lukas Berk > Date: Mon Feb 1 18:28:51 2016 -0500 > ... Looks good to me, merged into my tree. Fixed only one of my QA failures however ... in this general area, 823 is the laggard for me. Thanks Lukas. From hemant@linux.vnet.ibm.com Mon Feb 1 22:00:16 2016 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 774007CB1 for ; Mon, 1 Feb 2016 22:00:16 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id BE700AC004 for ; Mon, 1 Feb 2016 20:00:12 -0800 (PST) X-ASG-Debug-ID: 1454385600-04cb6c0d5f1f1060001-S8gJnT Received: from e28smtp05.in.ibm.com (e28smtp05.in.ibm.com [125.16.236.5]) by cuda.sgi.com with ESMTP id Vk6rIpZaE69v5Guk (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Mon, 01 Feb 2016 20:00:02 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.5 Received: from localhost by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 2 Feb 2016 09:29:58 +0530 Received: from d28relay01.in.ibm.com (9.184.220.58) by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 2 Feb 2016 09:29:56 +0530 X-IBM-Helo: d28relay01.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay01.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u123xtLQ16318956 for ; Tue, 2 Feb 2016 09:29:55 +0530 Received: from d28av01.in.ibm.com (localhost [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u129TiqL028633 for ; Tue, 2 Feb 2016 14:59:45 +0530 Received: from orion.in.ibm.com ([9.79.205.242]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u129ThkE028575; Tue, 2 Feb 2016 14:59:43 +0530 From: Hemant Kumar To: pcp@oss.sgi.com Cc: nathans@redhat.com, jpwhite4@buffalo.edu, Hemant Kumar Subject: [PATCH v2] perfevent_pmda: Add extension for perf derived events Date: Tue, 2 Feb 2016 09:29:49 +0530 X-ASG-Orig-Subj: [PATCH v2] perfevent_pmda: Add extension for perf derived events Message-Id: <1454385589-19166-1-git-send-email-hemant@linux.vnet.ibm.com> X-Mailer: git-send-email 1.9.3 X-TM-AS-MML: disable x-cbid: 16020203-0017-0000-0000-000009D1C7B5 X-Barracuda-Connect: e28smtp05.in.ibm.com[125.16.236.5] X-Barracuda-Start-Time: 1454385601 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26665 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This patch gives an ability to perfevent agent to monitor derived events. Derived events are based on the hardware/perf counters. An user can now just say that a derived event is based on so and so basic counters. And, perfevent agent will find the value for the derived event. For e.g., in perfevent.conf file, we can say : [bandwidth:derived] snbep_unc_imc0::UNC_M_CAS_COUNT:RD node snbep_unc_imc0::UNC_M_CAS_COUNT:WR node snbep_unc_imc1::UNC_M_CAS_COUNT:RD node snbep_unc_imc1::UNC_M_CAS_COUNT:WR node snbep_unc_imc2::UNC_M_CAS_COUNT:RD node snbep_unc_imc2::UNC_M_CAS_COUNT:WR node snbep_unc_imc3::UNC_M_CAS_COUNT:RD node snbep_unc_imc3::UNC_M_CAS_COUNT:WR node And, do a pmval : # pmval perfevent.derived.bandwidth.value metric: perfevent.derived.bandwidth.value host: .... semantics: cumulative counter (converting to rate) units: count (converting to count / sec) samples: all cpu0 cpu8 4.606E+06 1.303E+06 4.590E+06 1.763E+06 This will give us the accumulated counters value per node. The patch extends the syntax of perfevent.conf to add the following syntax : [derived_event:derived] event_name [cpu option] Note that, the event names that are mentioned for derived_event must be active on that machine and also present in the perfevent.conf file. Also, the cpu option for all the events listed under derived_event must match or else, the derived_event won't be activated. So, the required derived perf event configuration is read and then, a list of the events needed by the derived event is created. The perf derived events' values are monitored along with the basic perf events. the derived events don't open any new counters but will take the values from the existing counters (perf_get()). Right now, the perf derived events will only accumulate the values listed for them. Going forward, we can add more capabilities. Adding scale to the perf events will be needed for certain events and will be added to the derived events. Looking forward for your suggestion/comments. Signed-off-by: Hemant Kumar --- src/pmdas/perfevent/Install | 1 + src/pmdas/perfevent/configparser.h | 11 +- src/pmdas/perfevent/configparser.l | 126 ++++++++++++++++--- src/pmdas/perfevent/perfevent.conf | 4 + src/pmdas/perfevent/perfinterface.c | 242 +++++++++++++++++++++++++++++++++++- src/pmdas/perfevent/perfinterface.h | 23 +++- src/pmdas/perfevent/perfmanager.c | 4 +- src/pmdas/perfevent/perfmanager.h | 2 +- src/pmdas/perfevent/pmda.c | 101 +++++++++++++-- src/pmdas/perfevent/pmns | 4 +- 10 files changed, 481 insertions(+), 37 deletions(-) mode change 100644 => 100755 src/pmdas/perfevent/Install diff --git a/src/pmdas/perfevent/Install b/src/pmdas/perfevent/Install old mode 100644 new mode 100755 index dd159c2..e0a3cfd --- a/src/pmdas/perfevent/Install +++ b/src/pmdas/perfevent/Install @@ -28,6 +28,7 @@ perl_opt=false python_opt=false socket_opt=true socket_inet_def=2078 +pmns_dupok=true pmdaSetup pmdaInstall diff --git a/src/pmdas/perfevent/configparser.h b/src/pmdas/perfevent/configparser.h index 43e722d..b9a4e31 100644 --- a/src/pmdas/perfevent/configparser.h +++ b/src/pmdas/perfevent/configparser.h @@ -42,11 +42,21 @@ typedef struct pmcconfiguration { pmcsetting_t *pmcSettingList; } pmcconfiguration_t; +typedef struct pmcderived { + char *name; + int nsettings; + pmcsetting_t *derivedSettingList; +} pmcderived_t; + typedef struct configuration { pmcconfiguration_t *configArr; size_t nConfigEntries; + pmcderived_t *derivedArr; + size_t nDerivedEntries; } configuration_t; +int context_derived; /* A flag to check the current pmc */ + /* \brief parse the perf event configuration file * This function allocates memory. The returned object should be passed to * free_configuration() to clean up the memory. @@ -58,5 +68,4 @@ configuration_t *parse_configfile(const char *filename); /* \brief returns the memory allocated by the parse_configfile() function */ void free_configuration(configuration_t *); - #endif diff --git a/src/pmdas/perfevent/configparser.l b/src/pmdas/perfevent/configparser.l index 42b21ad..e8a9935 100644 --- a/src/pmdas/perfevent/configparser.l +++ b/src/pmdas/perfevent/configparser.l @@ -20,22 +20,45 @@ %{ #include "configparser.h" -static void new_pmctype(configuration_t *conf) +static int is_derived(char *name) { - if(NULL == conf) - { - return; - } + char *str = NULL; + + str = strchr(name, ':'); + if (!str) + return 0; + if (!strcmp(str, ":derived")) + return 1; + return 0; +} + +static void add_derived(configuration_t *config, char *name) +{ + pmcderived_t *entry; + char *ptr; + + if (!name) + return; + ++config->nDerivedEntries; - ++conf->nConfigEntries; - conf->configArr = realloc(conf->configArr, conf->nConfigEntries * sizeof *conf->configArr); + config->derivedArr = realloc(config->derivedArr, config->nDerivedEntries * sizeof *config->derivedArr); - if(NULL == conf->configArr) + if(NULL == config->derivedArr) { - conf->nConfigEntries = 0; + config->nDerivedEntries = 0; return; } - memset(&conf->configArr[conf->nConfigEntries-1], 0, sizeof *conf->configArr); + + ptr = strchr(name, ':'); + *ptr = '\0'; + memset(&config->derivedArr[config->nDerivedEntries-1], 0, sizeof *config->derivedArr); + + entry = &config->derivedArr[config->nDerivedEntries-1]; + + entry->name = strdup(name); + entry->nsettings = 0; + entry->derivedSettingList = NULL; + context_derived = 1; } static void add_pmctype(configuration_t *config, char *name) @@ -47,16 +70,56 @@ static void add_pmctype(configuration_t *config, char *name) { return; } - if(0 == config->nConfigEntries) + if (is_derived(name)) + return add_derived(config, name); + + ++config->nConfigEntries; + config->configArr = realloc(config->configArr, config->nConfigEntries * sizeof *config->configArr); + + if(NULL == config->configArr) { + config->nConfigEntries = 0; return; } - entry = &config->configArr[config->nConfigEntries-1]; + memset(&config->configArr[config->nConfigEntries-1], 0, sizeof *config->configArr); + entry = &config->configArr[config->nConfigEntries-1]; newpmctype = malloc(sizeof *newpmctype); newpmctype->name = strdup(name); newpmctype->next = entry->pmcTypeList; entry->pmcTypeList = newpmctype; + context_derived = 0; +} + +static void add_pmc_setting_name_derived(configuration_t *config, char *name) +{ + pmcderived_t *entry; + pmcsetting_t *slist, *newpmcderivedsetting; + + if (0 == config->nDerivedEntries) + { + return; + } + entry = &config->derivedArr[config->nDerivedEntries - 1]; + newpmcderivedsetting = calloc(1, sizeof *newpmcderivedsetting); + newpmcderivedsetting->name = strdup(name); + newpmcderivedsetting->cpuConfig = CPUCONFIG_EACH_CPU; + newpmcderivedsetting->next = NULL; + + slist = entry->derivedSettingList; + if (slist == NULL) + { + entry->derivedSettingList = newpmcderivedsetting; + } + else + { + while(slist->next) + { + slist = slist->next; + } + slist->next = newpmcderivedsetting; + } + entry->nsettings++; } static void add_pmcsetting_name(configuration_t *config, char *name) @@ -72,6 +135,10 @@ static void add_pmcsetting_name(configuration_t *config, char *name) { return; } + + if (context_derived) + return add_pmc_setting_name_derived(config, name); + entry = &config->configArr[config->nConfigEntries-1]; newpmcsetting = malloc(sizeof *newpmcsetting); @@ -90,7 +157,19 @@ static void set_pmcsetting_cpuconfig(configuration_t *config, int cpuconfig) return; } - pmcsetting = config->configArr[config->nConfigEntries-1].pmcSettingList; + if (context_derived) + { + pmcsetting = config->derivedArr[config->nDerivedEntries-1].derivedSettingList; + while(pmcsetting->next) + { + pmcsetting = pmcsetting->next; + } + } + else + { + pmcsetting = config->configArr[config->nConfigEntries-1].pmcSettingList; + } + if( NULL == pmcsetting ) { @@ -144,7 +223,7 @@ void free_configuration(configuration_t *config) { int i; pmctype_t *pmcTypeDel; - pmcsetting_t *pmcSettingDel; + pmcsetting_t *pmcSettingDel, *tmp; if(NULL == config) { @@ -170,7 +249,22 @@ void free_configuration(configuration_t *config) free(pmcSettingDel); } } + + for(i = 0; i < config->nDerivedEntries; ++i) + { + tmp = pmcSettingDel = config->derivedArr[i].derivedSettingList; + while(tmp != NULL) + { + tmp = tmp->next; + free(pmcSettingDel); + pmcSettingDel = tmp; + } + + if (config->derivedArr[i].name) + free(config->derivedArr[i].name); + } free(config->configArr); + free(config->derivedArr); free(config); } @@ -190,7 +284,7 @@ void free_configuration(configuration_t *config) [ \t\r] ; /* ignore whitespace */ \n BEGIN(INITIAL); /* new-line always resets state machine */ -^\[ { BEGIN(PMCTYPELIST); new_pmctype(yyextra); /* a '[' char at beginning of line signals start of a list of PMC types */ } +^\[ { BEGIN(PMCTYPELIST); /* a '[' char at beginning of line signals start of a list of PMC types */ } { \"[^\"]*\" { /* strip quotes */ yytext[strlen(yytext)-1] = '\0'; add_pmctype(yyextra, &yytext[1] ); /* allow any char in quotes except the quote char */ } @@ -233,6 +327,8 @@ configuration_t *parse_configfile(const char *filename) config = malloc(sizeof *config); config->configArr = NULL; config->nConfigEntries = 0; + config->derivedArr = NULL; + config->nDerivedEntries = 0; yylex_init(&scanner); yyset_extra(config, scanner); diff --git a/src/pmdas/perfevent/perfevent.conf b/src/pmdas/perfevent/perfevent.conf index f955d8e..68de4ef 100644 --- a/src/pmdas/perfevent/perfevent.conf +++ b/src/pmdas/perfevent/perfevent.conf @@ -11,6 +11,10 @@ # # if the CPU option is absent it defaults to all cpus. # +# For derived events : +# [event:derived] +# EVENT_NAME [CPU OPTION] +# where the CPU OPTION must match for all the events in a derived event. [amd64_fam10h_barcelona amd64_fam10h_shanghai amd64_fam10h_istanbul] diff --git a/src/pmdas/perfevent/perfinterface.c b/src/pmdas/perfevent/perfinterface.c index 989c20c..1411d32 100644 --- a/src/pmdas/perfevent/perfinterface.c +++ b/src/pmdas/perfevent/perfinterface.c @@ -53,11 +53,24 @@ typedef struct event_t_ { int ncpus; } event_t; +typedef struct event_list_t_ { + event_t *event; + struct event_list_t_ *next; +} event_list_t; + +typedef struct derived_event_t_ { + char *name; + event_list_t *event_list; +} derived_event_t; + typedef struct perfdata_t_ { int nevents; event_t *events; + int nderivedevents; + derived_event_t *derived_events; + /* information about the architecture (number of cpus, numa nodes etc) */ archinfo_t *archinfo; @@ -134,6 +147,91 @@ static void free_perfdata(perfdata_t *del) pfm_terminate(); } +/* + * Search an event from the event list + */ +static event_t *search_event(perfdata_t *inst, const char *event_name) +{ + int i; + + for (i = 0; i < inst->nevents; i++) { + if (!strcmp(event_name, inst->events[i].name)) { + return ((inst->events) + i); + } + } + + return NULL; +} + +/* + * Setup a derived event + */ +static int perf_setup_derived_event(perfdata_t *inst, pmcderived_t *derived_pmc) +{ + derived_event_t *curr, *derived_events = inst->derived_events; + int nderivedevents = inst->nderivedevents; + event_t *event; + pmcsetting_t *derived_setting; + event_list_t *ptr, *tmp, *event_list; + int cpuconfig; + + tmp = NULL; + event_list = NULL; + if (0 == derived_pmc->nsettings) + return -E_PERFEVENT_LOGIC; + + derived_events = realloc(derived_events, + (nderivedevents + 1) * sizeof(*derived_events)); + if (NULL == derived_events) { + free(inst->derived_events); + inst->nderivedevents = 0; + inst->derived_events = NULL; + return -E_PERFEVENT_REALLOC; + } + + derived_setting = derived_pmc->derivedSettingList; + if (derived_setting) + cpuconfig = derived_setting->cpuConfig; + while (derived_setting) { + if (cpuconfig != derived_setting->cpuConfig) { + fprintf(stderr, "Mismatch in cpu configuration\n"); + return -E_PERFEVENT_LOGIC; + } + event = search_event(inst, derived_setting->name); + if (NULL == event) { + fprintf(stderr, "Derived setting %s not found\n", derived_setting->name); + return -E_PERFEVENT_LOGIC; + } + derived_setting = derived_setting->next; + + tmp = calloc(1, sizeof(*tmp)); + if (NULL == tmp) { + return -E_PERFEVENT_REALLOC; + } + tmp->event = event; + tmp->next = NULL; + + if (NULL == event_list) { + event_list = tmp; + ptr = event_list; + } else { + ptr->next = tmp; + ptr = ptr->next; + } + } + + tmp = event_list; + + curr = derived_events + nderivedevents; + curr->name = strdup(derived_pmc->name); + curr->event_list = event_list; + (inst->nderivedevents)++; + inst->derived_events = derived_events; + + return 0; +} + + /* Setup an event */ static int perf_setup_event(perfdata_t *inst, const char *eventname, const int cpuSetting) @@ -483,7 +581,116 @@ int perf_counter_enable(perfhandle_t *inst, int enable) return n; } -int perf_get(perfhandle_t *inst, perf_counter **counters, int *size) +static perf_counter *get_counter(perf_counter **counters, int size, const char *str) +{ + perf_counter *pcounter = *counters; + int idx, ncounters = size; + + for (idx = 0; idx < ncounters; idx++) { + if (!strcmp(pcounter[idx].name, str)) { + return (pcounter + idx); + } + } + return NULL; +} + +static void print_derived_counters(perf_derived_counter *pdcounter, int n) +{ + int i; + perf_counter_list *clist = NULL; + + for (i = 0; i < n; i++) + { + clist = pdcounter[i].counter_list; + while(clist) + { + clist = clist->next; + } + } +} + +static int perf_derived_get(perf_derived_counter **derived_counters, + int *derived_size, perfdata_t *pdata, + perf_counter **counters, int *size) +{ + int idx, cpuidx; + + perf_derived_counter *pdcounter = *derived_counters; + int nderivedcounters = *derived_size; + + if(NULL == pdcounter || nderivedcounters != pdata->nderivedevents) + { + pdcounter = malloc(pdata->nderivedevents * sizeof *pdcounter); + if (NULL == pdcounter) { + return -E_PERFEVENT_REALLOC; + } + memset(pdcounter, 0, pdata->nderivedevents * sizeof *pdcounter); + nderivedcounters = pdata->nderivedevents; + + for (idx = 0; idx < pdata->nderivedevents; idx++) { + derived_event_t *derived_event = &pdata->derived_events[idx]; + event_list_t *event_list = derived_event->event_list; + perf_counter_list *counter_list, *ptr, *curr; + perf_counter *counter; + + counter_list = ptr =curr = NULL; + pdcounter[idx].name = derived_event->name; + + while (event_list != NULL) { + counter = get_counter(counters, *size, event_list->event->name); + if (counter != NULL) { + ptr = calloc(1, sizeof(*ptr)); + if (!ptr) + return -E_PERFEVENT_REALLOC; + ptr->counter = counter; + ptr->next = NULL; + if (counter_list == NULL) { + counter_list = ptr; + curr = ptr; + } else { + curr->next = ptr; + curr = curr->next; + } + } + event_list = event_list->next; + } + /* + * For every counter in a derived_event, we have ninstances and + * they should match + */ + pdcounter[idx].counter_list = counter_list; + pdcounter[idx].ninstances = (pdcounter[idx].counter_list)->counter->ninstances; + pdcounter[idx].data = calloc(pdcounter[idx].ninstances, sizeof(uint64_t)); + } + *derived_counters = pdcounter; + *derived_size = nderivedcounters; + } + + if (pdcounter) { + print_derived_counters(pdcounter, nderivedcounters); + nderivedcounters = *derived_size; + + for (idx = 0; idx < nderivedcounters; idx++) { + perf_counter_list *clist; + perf_counter *ctr; + + for (cpuidx = 0; cpuidx < pdcounter[idx].ninstances; cpuidx++) { + pdcounter[idx].data[cpuidx].value = 0; + clist = pdcounter[idx].counter_list; + while(clist) { + ctr = clist->counter; + pdcounter[idx].data[cpuidx].value += ctr->data[cpuidx].value; + clist = clist->next; + } + } + } + } + + return 0; +} + +int perf_get(perfhandle_t *inst, perf_counter **counters, int *size, + perf_derived_counter **derived_counters, int *derived_size) { int cpuidx, idx, events_read; @@ -565,16 +772,20 @@ int perf_get(perfhandle_t *inst, perf_counter **counters, int *size) *counters = pcounter; *size = ncounters; + + perf_derived_get(derived_counters, derived_size, pdata, counters, size); + + return events_read; } - perfhandle_t *perf_event_create(const char *config_file) { - int ret; + int ret, i; perfdata_t *inst = 0; configuration_t *perfconfig = 0; pmcsetting_t *pmcsetting = 0; + pmcderived_t *derivedpmc = 0; ret = pfm_initialize(); if (ret != PFM_SUCCESS) @@ -614,6 +825,15 @@ perfhandle_t *perf_event_create(const char *config_file) pmcsetting = pmcsetting->next; } + /* Setup the derived events */ + if (inst && perfconfig && perfconfig->nDerivedEntries) + { + for (i = 0; i < perfconfig->nDerivedEntries; i++) { + derivedpmc = &(perfconfig->derivedArr[i]); + perf_setup_derived_event(inst, derivedpmc); + } + } + free_configuration(perfconfig); out: @@ -628,7 +848,7 @@ out: return (perfhandle_t *)inst; } -void perf_counter_destroy(perf_counter *data, int size) +void perf_counter_destroy(perf_counter *data, int size, perf_derived_counter *derived_counters, int derived_size) { if(NULL == data) { @@ -641,6 +861,20 @@ void perf_counter_destroy(perf_counter *data, int size) free(data[i].data); } + for (i = 0; i < derived_size; ++i) + { + perf_counter_list *tmp, *clist = NULL; + + free(derived_counters[i].name); + free(derived_counters[i].data); + tmp = clist = derived_counters[i].counter_list; + while (clist) { + clist = clist->next; + free(tmp); + tmp = clist; + } + } + free(data); } diff --git a/src/pmdas/perfevent/perfinterface.h b/src/pmdas/perfevent/perfinterface.h index 444c972..1fc6223 100644 --- a/src/pmdas/perfevent/perfinterface.h +++ b/src/pmdas/perfevent/perfinterface.h @@ -33,11 +33,30 @@ typedef struct perf_counter_t_ int ninstances; } perf_counter; +typedef struct perf_derived_data_t_ +{ + uint64_t value; +} perf_derived_data; + +typedef struct perf_counter_list_t_ +{ + perf_counter *counter; + struct perf_counter_list_t_ *next; +} perf_counter_list; + +typedef struct perf_derived_counter_t_ +{ + char *name; + perf_derived_data *data; + int ninstances; + perf_counter_list *counter_list; +} perf_derived_counter; + typedef intptr_t perfhandle_t; perfhandle_t *perf_event_create(const char *configfile); -void perf_counter_destroy(perf_counter *data, int size); +void perf_counter_destroy(perf_counter *data, int size, perf_derived_counter *derived_counter, int derived_size); void perf_event_destroy(perfhandle_t *inst); @@ -45,7 +64,7 @@ void perf_event_destroy(perfhandle_t *inst); #define PERF_COUNTER_DISABLE 1 int perf_counter_enable(perfhandle_t *inst, int enable); -int perf_get(perfhandle_t *inst, perf_counter **data, int *size); +int perf_get(perfhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size); #define E_PERFEVENT_LOGIC 1 #define E_PERFEVENT_REALLOC 2 diff --git a/src/pmdas/perfevent/perfmanager.c b/src/pmdas/perfevent/perfmanager.c index 14d7dee..c2a51a2 100644 --- a/src/pmdas/perfevent/perfmanager.c +++ b/src/pmdas/perfevent/perfmanager.c @@ -126,7 +126,7 @@ static void monitor_destroy(monitor_t *del) free(del); } -int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size) +int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size) { monitor_t *m = ((manager_t *)inst)->monitor; int res = 0; @@ -137,7 +137,7 @@ int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size) * first call regardless of the enable/disable state */ if(m->counter_state == PERF_COUNTER_ENABLE || m->first_time) { - res = perf_get(m->perf, data, size); + res = perf_get(m->perf, data, size, derived_counter, derived_size); m->first_time = 0; if(m->has_been_disabled) diff --git a/src/pmdas/perfevent/perfmanager.h b/src/pmdas/perfevent/perfmanager.h index ed7918d..a40ed79 100644 --- a/src/pmdas/perfevent/perfmanager.h +++ b/src/pmdas/perfevent/perfmanager.h @@ -26,7 +26,7 @@ perfmanagerhandle_t *manager_init(const char *configfilename); void manager_destroy(perfmanagerhandle_t *mgr); -int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size); +int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size); int perf_enabled(perfmanagerhandle_t *inst); diff --git a/src/pmdas/perfevent/pmda.c b/src/pmdas/perfevent/pmda.c index 650914b..a8ec5ae 100644 --- a/src/pmdas/perfevent/pmda.c +++ b/src/pmdas/perfevent/pmda.c @@ -57,6 +57,8 @@ static perfmanagerhandle_t *perfif; static perf_counter *hwcounters; static int nhwcounters; +static perf_derived_counter *derived_counters; +static int nderivedcounters; static int activecounters; /* @@ -79,6 +81,7 @@ static __pmnsTree *pmns; typedef struct dynamic_metric_info { perf_counter *hwcounter; + perf_derived_counter *derived_counter; int pmid_index; const char *help_text; } dynamic_metric_info_t; @@ -118,11 +121,21 @@ static pmdaMetric default_metric_settings[] = }, }; +static pmdaMetric derived_metric_settings[] = + { + /* perfevent.derived.{DERIVEDCOUNTER} */ + { NULL, /* m_user */ { 0 /*pmid */, PM_TYPE_DOUBLE, 0 /* instance domain */, + PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) + }, + }, + }; + #define METRICSPERCOUNTER (sizeof(default_metric_settings)/sizeof(default_metric_settings[0])) +#define METRICSPERDERIVED (sizeof(derived_metric_settings)/sizeof(derived_metric_settings[0])) static const char *dynamic_nametab[] = { - /* perfevent.hwcounters.{HWCOUNTER}.value */ + /* perfevent.hwcounters.{HWCOUNTER,DERIVED}.value */ "value", /* perfevent.hwcounters.{HWCOUNTER}.dutycycle */ "dutycycle" @@ -136,6 +149,12 @@ static const char *dynamic_helptab[] = "The ratio of the time that the hardware counter was enabled to the total run time" }; +static const char *dynamic_derived_helptab[] = +{ + /* perfevent.hwcounters.{DERIVED}.value */ + "The values of the derived events" +}; + static char mypath[MAXPATHLEN]; static int isDSO = 1; /* =0 I am a daemon */ static char *username; @@ -172,7 +191,7 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV return PM_ERR_PMID; } } - else if(idp->cluster >= (nhwcounters + NUM_STATIC_CLUSTERS) ) + else if(idp->cluster >= (nderivedcounters + nhwcounters + NUM_STATIC_CLUSTERS) ) { return PM_ERR_PMID; } @@ -184,12 +203,22 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV return PM_ERR_PMID; } - const perf_data *pdata = &(pinfo->hwcounter->data[inst]); + const perf_data *pdata = NULL; + const perf_derived_data *pddata = NULL; + + if (idp->cluster >= NUM_STATIC_CLUSTERS + nhwcounters) { + pddata = &(pinfo->derived_counter->data[inst]); + } else { + pdata = &(pinfo->hwcounter->data[inst]); + } switch(pinfo->pmid_index) { case 0: - atom->ll = pdata->value; + if (idp->cluster >= nhwcounters + NUM_STATIC_CLUSTERS) + atom->d = pddata->value; + else + atom->ll = pdata->value; break; case 1: if(pdata->time_enabled > 0) @@ -219,7 +248,7 @@ static int perfevent_profile(__pmProfile *prof, pmdaExt *pmda) */ static int perfevent_fetch(int numpmid, pmID pmidlist[], pmResult **resp, pmdaExt *pmda) { - activecounters = perf_get_r(perfif, &hwcounters, &nhwcounters); + activecounters = perf_get_r(perfif, &hwcounters, &nhwcounters, &derived_counters, &nderivedcounters); pmdaEventNewClient(pmda->e_context); return pmdaFetch(numpmid, pmidlist, resp, pmda); @@ -299,6 +328,23 @@ static void config_indom(pmdaIndom *pindom, int index, perf_counter *counter) } } +static void config_indom_derived(pmdaIndom *pindom, int index, perf_derived_counter *derived_counter) +{ + int i; + char cpuname[32]; + + pindom->it_indom = index; + pindom->it_numinst = derived_counter->ninstances; + pindom->it_set = calloc(derived_counter->ninstances, sizeof(pmdaInstid) ); + + for(i = 0; i < derived_counter->ninstances; ++i) + { + sprintf(cpuname, "cpu%d", derived_counter->counter_list->counter->data[i].id); + pindom->it_set[i].i_inst = i; + pindom->it_set[i].i_name = strdup(cpuname); + } +} + /* \brief Initialise the perf events interface and read the counters * * Note this function needs the correct OS permissions to succeed. Either @@ -321,7 +367,7 @@ static int setup_perfevents() return -1; } - ret = perf_get_r(perfif, &hwcounters, &nhwcounters); + ret = perf_get_r(perfif, &hwcounters, &nhwcounters, &derived_counters, &nderivedcounters); if( ret < 0 ) { err_desc = perf_strerror(ret); @@ -336,7 +382,7 @@ static void teardown_perfevents() { manager_destroy(perfif); perfif = 0; - perf_counter_destroy(hwcounters, nhwcounters); + perf_counter_destroy(hwcounters, nhwcounters, derived_counters, nderivedcounters); hwcounters = 0; nhwcounters = 0; } @@ -355,9 +401,12 @@ static int setup_metrics() int index; nummetrics = (nhwcounters * METRICSPERCOUNTER) + NUM_STATIC_METRICS; - numindoms = nhwcounters + NUM_STATIC_INDOMS; + nummetrics += (nderivedcounters * METRICSPERDERIVED); + numindoms = nderivedcounters + nhwcounters + NUM_STATIC_INDOMS; - dynamic_metric_infotab = malloc( nhwcounters * METRICSPERCOUNTER * sizeof(*dynamic_metric_infotab) ); + dynamic_metric_infotab = malloc( ((nhwcounters * METRICSPERCOUNTER) + + (nderivedcounters * METRICSPERDERIVED)) + * sizeof(*dynamic_metric_infotab) ); metrictab = malloc( nummetrics * sizeof(*metrictab) ); indomtab = malloc( numindoms * sizeof(*indomtab) ); @@ -406,6 +455,27 @@ static int setup_metrics() } } + for (i = 0; i < nderivedcounters; i++) { + cluster = i + nhwcounters + NUM_STATIC_CLUSTERS; + indom = i + nhwcounters + NUM_STATIC_INDOMS; + + config_indom_derived( &indomtab[indom], indom, &derived_counters[i]); + + memcpy(pmetric, derived_metric_settings, sizeof(derived_metric_settings)); + for(index = 0; index < METRICSPERDERIVED; index++) { + /* Setup metrics info (used within this PMDA) */ + pinfo->derived_counter = &derived_counters[i]; + pinfo->pmid_index = index; + pinfo->help_text = dynamic_derived_helptab[index]; + /* Initialize pmdaMetric settings (required by API) */ + pmetric->m_desc.pmid = PMDA_PMID( cluster, index); + pmetric->m_desc.indom = indom; + pmetric->m_user = pinfo; + ++pinfo; + ++pmetric; + } + } + return 0; } @@ -479,6 +549,17 @@ static int setup_pmns() free(id); } + for (i = 0; i < nderivedcounters; ++i) { + char *id = normalize_metric_name(derived_counters[i].name); + for(j = 0; j < METRICSPERDERIVED; j++) { + snprintf(name, sizeof(name), + PMDANAME ".derived.%s.%s", id, dynamic_nametab[j]); + __pmAddPMNSNode(pmns, pmetric[j].m_desc.pmid, name); + } + pmetric += METRICSPERDERIVED; + free(id); + } + /* for reverse (pmid->name) lookups */ pmdaTreeRebuildHash(pmns, nummetrics); @@ -530,7 +611,7 @@ perfevent_init(pmdaInterface *dp) pmdaSetFetchCallBack(dp, perfevent_fetchCallBack); pmdaSetEndContextCallBack(dp, perfevent_end_contextCallBack); - pmdaInit(dp, indomtab, nhwcounters, metrictab, nummetrics); + pmdaInit(dp, indomtab, nhwcounters + nderivedcounters, metrictab, nummetrics); if(setup_pmns() < 0) { diff --git a/src/pmdas/perfevent/pmns b/src/pmdas/perfevent/pmns index 17c6d11..46425e9 100644 --- a/src/pmdas/perfevent/pmns +++ b/src/pmdas/perfevent/pmns @@ -18,5 +18,5 @@ perfevent { version PERFEVENT:0:0 active PERFEVENT:0:1 hwcounters PERFEVENT:*:* -} - + derived PERFEVENT:*:* +} \ No newline at end of file -- 1.9.3 From george.kankava@devfactory.com Tue Feb 2 06:06:46 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 4E5D77CB1 for ; Tue, 2 Feb 2016 06:06:46 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 28FD68F8039 for ; Tue, 2 Feb 2016 04:06:46 -0800 (PST) X-ASG-Debug-ID: 1454414794-04cbb026fe21c200001-S8gJnT Received: from mail-qg0-f46.google.com (mail-qg0-f46.google.com [209.85.192.46]) by cuda.sgi.com with ESMTP id 1RIkiVFrnDTELGlM (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 04:06:34 -0800 (PST) X-Barracuda-Envelope-From: george.kankava@devfactory.com X-Barracuda-Apparent-Source-IP: 209.85.192.46 Received: by mail-qg0-f46.google.com with SMTP id e32so146278449qgf.3 for ; Tue, 02 Feb 2016 04:06:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=devfactory.com; s=google; h=from:date:to:message-id:subject:mime-version:content-type :content-transfer-encoding; bh=VNU5QltRiuxkBr2D5nG6L2g6L1afWGQROGuODDp8hZ4=; b=NXC6SZ8dF1WQ4UPVKynrcFebDRuLm4GLek1ZEOiO27uMAHNPQvnntEbE+APH9TinON 7oArIrH2GLnGI/t4iEB0R5LPH5r+y/EfkZr7Q6UJVzJf52LA6+oPmnOS1ERfyzEhXW8f TQjZ8/Sva7gA57h8G1BZ6n0j2RFIAfeR+pcxE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:date:to:message-id:subject:mime-version :content-type:content-transfer-encoding; bh=VNU5QltRiuxkBr2D5nG6L2g6L1afWGQROGuODDp8hZ4=; b=AIOTS72n6DDVez3GNtA+Gnqjx/4XjmfudY7ilx5aj1A4Y13KX8NAFnKw4f874RjBsu YJkGk+JyuyB+JD+xW8oxnvQOPveHanjdbQsp89EzEx5u19lvR+9vPcJhYTXHjrzris+N veHJMEF93gTOM7Kty6bSQ2O2cjBUk77IxVXQNGCYc/g7hvUNmhc8C7XoGbGOXt/LvKy1 QEWyHp93Iag7LKwA1ZO/DtuBe/9vpB+9ycL754TGN3jLxjribhqdByY7LtCLjcCg2fyK 4yCk/UQ7XT+ksi1DWdtJRWrGmM+9zSzH0hN8IjrkR1+lX9HIvyv8vNqCheh8Cqxt1tiC l6fQ== X-Gm-Message-State: AG10YOSzgijmlarKJOWBPfAB8cq/rrl6U6p0xNw57odfGqsDUnEKwnCnInq8BzyB+wyj4w== X-Received: by 10.140.233.202 with SMTP id e193mr34459200qhc.18.1454414793182; Tue, 02 Feb 2016 04:06:33 -0800 (PST) Received: from 192.168.43.149 ([94.100.229.90]) by smtp.gmail.com with ESMTPSA id v78sm380722qge.25.2016.02.02.04.06.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Feb 2016 04:06:32 -0800 (PST) From: george.kankava@devfactory.com Date: Tue, 2 Feb 2016 16:06:30 +0400 (GET) To: pcp@oss.sgi.com Message-ID: <962927234.19.1454414790961@Georges-iMac.local> Subject: Code Quality Improvements for parfait MIME-Version: 1.0 X-ASG-Orig-Subj: Code Quality Improvements for parfait Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f46.google.com[209.85.192.46] X-Barracuda-Start-Time: 1454414794 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26673 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello, I'd like to send you some pull requests to improve the maintainability of parfait. My company - DevFactory - is sponsoring me to identify and fix code quality issues and improve unit test coverage in open source projects. DevFactory is obsessed with code quality and is providing its commercially available code quality improvement service for free to qualified open-source projects. If you are interested, please let me know and we will add it to our pipeline. Our first step will be to utilize tools like PMD, FindBugs and Sonar to identify the most important issues to fix. Once we fix them, we'll follow up with some pull requests. Thanks, George From brolley@redhat.com Tue Feb 2 10:22:40 2016 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 DADF97CB1 for ; Tue, 2 Feb 2016 10:22:40 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id AAF648F8035 for ; Tue, 2 Feb 2016 08:22:37 -0800 (PST) X-ASG-Debug-ID: 1454430150-04bdf04d6d2202d0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id tX3PBIsXRUdMANJZ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 02 Feb 2016 08:22:31 -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 (Postfix) with ESMTPS id 9AE3870D75 for ; Tue, 2 Feb 2016 16:22:30 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u12GMUSD021621 for ; Tue, 2 Feb 2016 11:22:30 -0500 Message-ID: <56B0D83D.5090802@redhat.com> Date: Tue, 02 Feb 2016 11:24:29 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: kenj and lberk qa Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: kenj and lberk qa 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: 1454430151 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Lukas Berk (8): qa/323 - add nslookup notrun check qa/858 - add _check_valgrind call qa/220 - add netstat notrun check Add perl-XML-TokeParser deps for sar2pcp/shee2pcp Add pcp.spec.in gcc-c++ dep for qt or webapi Add rpm-build as a builddep to pcp.spec.in Update buildbot config file Alter certutils subject invocation and regex order Ken McDonell (5): qa/valgrind-suppress-3.6.0.SVN-Debian: add suppression from false loadascii() case qa/546: add to group "secure" qa/admin/pcp-qa-summary: add Host column headings to "whatami" descriptions qa/admin/pcp-daily: drop grundy from default/known list build/rpm/pcp.spec.in: make last change _not_ for SuSE build/rpm/fedora.spec | 1 build/rpm/pcp.spec.in | 13 +++++++ qa/220 | 2 + qa/323 | 1 qa/858 | 2 + qa/admin/pcp-daily | 9 ----- qa/admin/pcp-qa-summary | 12 +++++++ qa/buildbot/master.cfg | 58 +++++++++++++++++++++++++++------- qa/common.secure | 6 +-- qa/group | 2 - qa/valgrind-suppress-3.6.0.SVN-Debian | 24 ++++++++++++++ 11 files changed, 107 insertions(+), 23 deletions(-) From kenj@internode.on.net Tue Feb 2 13:04:40 2016 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 2AA247CAF for ; Tue, 2 Feb 2016 13:04:40 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id F2D4D304051 for ; Tue, 2 Feb 2016 11:04:39 -0800 (PST) X-ASG-Debug-ID: 1454439867-04bdf0705204b90001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id BiPbM4IEcZnpHWvD for ; Tue, 02 Feb 2016 11:04: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: A2DCAwD0/LBWPGWM0XYNUYQMbYZhgXiqTokRGYgLAQEBAQEBBwEBAQFBgQAShBgVQDAGAgUWCwILAwIBAgExJwYCAQG3dGePIXuOSYI0gToFlnGFR5Z1jj+EWlaCRoclAQEB Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail06.adl2.internode.on.net with ESMTP; 03 Feb 2016 05:34:27 +1030 To: pcp@oss.sgi.com Subject: pcp updates: tweak rpm spec for XML::TokeParser From: Ken McDonell X-ASG-Orig-Subj: pcp updates: tweak rpm spec for XML::TokeParser Message-ID: <56B0FDBA.9060901@internode.on.net> Date: Wed, 3 Feb 2016 06:04:26 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1454439868 X-Barracuda-URL: https://192.48.157.11:443/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.26682 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (1): build/rpm/pcp.spec.in: make last change _not_ for SuSE build/rpm/pcp.spec.in | 7 +++++++ 1 file changed, 7 insertions(+) Details ... commit 509af868759010a0647a4a923da3846c064c0c15 Author: Ken McDonell Date: Tue Feb 2 21:38:59 2016 +1100 build/rpm/pcp.spec.in: make last change _not_ for SuSE The XML::TokeParser perl module is not shipped in any RPM for SuSE (SLES nor OpenSuSE) ... we rely on cpan to deliver this. So hide the Requires: clause for SuSE builds. From brolley@redhat.com Tue Feb 2 15:03:34 2016 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 858FB7CB0 for ; Tue, 2 Feb 2016 15:03:34 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 693108F8033 for ; Tue, 2 Feb 2016 13:03:31 -0800 (PST) X-ASG-Debug-ID: 1454447010-04cb6c3798082b0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id waDQsUgJKcmpbOdf (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 02 Feb 2016 13:03:30 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id E4C017AE8D for ; Tue, 2 Feb 2016 21:03:29 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u12L3TL1030144 for ; Tue, 2 Feb 2016 16:03:29 -0500 Message-ID: <56B11A18.5010505@redhat.com> Date: Tue, 02 Feb 2016 16:05:28 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: pcp@oss.sgi.com Subject: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser References: <56B0FDBA.9060901@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser In-Reply-To: <56B0FDBA.9060901@internode.on.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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: 1454447010 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Looks like this was part of the merge I did earlier today. Dave On 02/02/2016 02:04 PM, Ken McDonell wrote: > Changes committed to git://git.pcp.io/kenj/pcp master > > Ken McDonell (1): > build/rpm/pcp.spec.in: make last change _not_ for SuSE > > build/rpm/pcp.spec.in | 7 +++++++ > 1 file changed, 7 insertions(+) > > Details ... > > commit 509af868759010a0647a4a923da3846c064c0c15 > Author: Ken McDonell > Date: Tue Feb 2 21:38:59 2016 +1100 > > build/rpm/pcp.spec.in: make last change _not_ for SuSE > > The XML::TokeParser perl module is not shipped in any RPM for > SuSE (SLES nor OpenSuSE) ... we rely on cpan to deliver this. > > So hide the Requires: clause for SuSE builds. > > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From kenj@internode.on.net Tue Feb 2 15:19:48 2016 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 EBCD87CB0 for ; Tue, 2 Feb 2016 15:19:47 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7DF43AC004 for ; Tue, 2 Feb 2016 13:19:44 -0800 (PST) X-ASG-Debug-ID: 1454447979-04cb6c379508a70001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id tDYmBJqoiaaMrm3H for ; Tue, 02 Feb 2016 13:19:40 -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: A2BZBADDHLFWPGWM0XYNUYQMbYZhgXizXxmFdAKCGAEBAQEBAQcBAQEBQYEAAQQNg28BAQQ4QBELGAkWDwkDAgECATEUBgEMCAEBuBKPVAEBAQEGAQEBAQEbikaEAhEBhFgBBJJshAWFR5Z1jj+CZRmBXFaCRoRJgSyBMAEBAQ Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail06.adl2.internode.on.net with ESMTP; 03 Feb 2016 07:49:32 +1030 Subject: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser To: Dave Brolley , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser References: <56B0FDBA.9060901@internode.on.net> <56B11A18.5010505@redhat.com> From: Ken McDonell Message-ID: <56B11D63.9030109@internode.on.net> Date: Wed, 3 Feb 2016 08:19:31 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B11A18.5010505@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: 1454447980 X-Barracuda-URL: https://192.48.176.15:443/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.26686 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 03/02/16 08:05, Dave Brolley wrote: > Looks like this was part of the merge I did earlier today. Dave, Sometimes the synchronization protocols don't quite work. Nothing bad here. The details: I typically commit locally on my main development machine, then I _may_ push to my oss.sgi.com tree so I can then pull the changes onto some of the QA machines for testing. This may be repeated several times. When I have a batch, or nothing else in the queue, I send email to the list. If you/Nathan pull from my tree you might get commits for which I've not yet sent the email ... which is what happened here. In practice this sometimes causes a bit of rework, but that's extremely rare. The alternative of having a third tree in the workflow is just too painful. Hope that explains it. From brolley@redhat.com Tue Feb 2 15:22:33 2016 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 93CF97CB0 for ; Tue, 2 Feb 2016 15:22:33 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 84F3F304059 for ; Tue, 2 Feb 2016 13:22:33 -0800 (PST) X-ASG-Debug-ID: 1454448148-04cbb04c9508b40001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id F3Ks8LBwz8lUHt4d (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 02 Feb 2016 13:22:29 -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-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id D1F85C001240; Tue, 2 Feb 2016 21:22:28 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u12LMShj032105; Tue, 2 Feb 2016 16:22:28 -0500 Message-ID: <56B11E8B.9060901@redhat.com> Date: Tue, 02 Feb 2016 16:24:27 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Ken McDonell , pcp@oss.sgi.com Subject: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser References: <56B0FDBA.9060901@internode.on.net> <56B11A18.5010505@redhat.com> <56B11D63.9030109@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] pcp updates: tweak rpm spec for XML::TokeParser In-Reply-To: <56B11D63.9030109@internode.on.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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: 1454448149 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/02/2016 04:19 PM, Ken McDonell wrote: > Dave, > > Sometimes the synchronization protocols don't quite work. Nothing bad > here. > > The details: > > I typically commit locally on my main development machine, then I > _may_ push to my oss.sgi.com tree so I can then pull the changes onto > some of the QA machines for testing. > > This may be repeated several times. > > When I have a batch, or nothing else in the queue, I send email to the > list. > > If you/Nathan pull from my tree you might get commits for which I've > not yet sent the email ... which is what happened here. > > In practice this sometimes causes a bit of rework, but that's > extremely rare. > > The alternative of having a third tree in the workflow is just too > painful. > > Hope that explains it. > No explanation needed. It was caught when nothing was pulled, so no extra work. I just wanted the mailing list to know that it was resolved. Dave From bugzilla@redhat.com Tue Feb 2 17:45:44 2016 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 4056E7CB0 for ; Tue, 2 Feb 2016 17:45:44 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1EE358F804B for ; Tue, 2 Feb 2016 15:45:44 -0800 (PST) X-ASG-Debug-ID: 1454456737-04cbb04c960dde0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id a04xXYBNFzX2rXA1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 15:45:38 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQkdW-0007PB-BC for ; Wed, 03 Feb 2016 10:45:36 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u12NjLw9021594 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 18:45:21 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u12NjLV2038437 for ; Tue, 2 Feb 2016 18:45:21 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u12NjLE8038436; Tue, 2 Feb 2016 18:45:21 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1296750] incorrect interpolation across record in a merged archive Date: Tue, 02 Feb 2016 23:45:21 +0000 X-ASG-Orig-Subj: [Bug 1296750] incorrect interpolation across record in a merged archive Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: rawhide X-Bugzilla-Keywords: X-Bugzilla-Severity: high X-Bugzilla-Who: mgoodwin@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: high X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: cf_fixed_in X-Bugzilla-Comment: public X-Bugzilla-Reporter: mgoodwin@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454456738 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26690 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1296750 Mark Goodwin changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed In Version| |pcp-3.11.0-1 --- Comment #15 from Mark Goodwin --- Fixed in pcp-3.11.0-1 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D69e8rLy= le0&a=3Dcc_unsubscribe= From psmith@aconex.com Tue Feb 2 19:02:28 2016 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 6C0B97CB0 for ; Tue, 2 Feb 2016 19:02:28 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5CC7A304051 for ; Tue, 2 Feb 2016 17:02:24 -0800 (PST) X-ASG-Debug-ID: 1454461337-04cbb04c970fae0001-S8gJnT Received: from postoffice2.aconex.com (mail.aconex.com [175.45.105.35]) by cuda.sgi.com with ESMTP id 4Wa1FW8M2Otfvoyh for ; Tue, 02 Feb 2016 17:02:19 -0800 (PST) X-Barracuda-Envelope-From: psmith@aconex.com X-Barracuda-Apparent-Source-IP: 175.45.105.35 Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.35.100]) by postoffice2.aconex.com with ESMTP id 5Jh5PvViTAA9pHIh; Wed, 03 Feb 2016 12:02:04 +1100 (AEDT) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.35.102]) by postoffice.aconex.com (Postfix) with ESMTP id CAAC23CE0053; Wed, 3 Feb 2016 12:02:04 +1100 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id C60BC243AF09; Wed, 3 Feb 2016 12:02:04 +1100 (AEDT) Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id nr3FGCkmmXT7; Wed, 3 Feb 2016 12:02:03 +1100 (AEDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id BDE25243AF16; Wed, 3 Feb 2016 12:02:03 +1100 (AEDT) X-Virus-Scanned: amavisd-new at aconex.com Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id VACa-HsOift4; Wed, 3 Feb 2016 12:02:03 +1100 (AEDT) Received: from [172.20.10.2] (unknown [1.152.78.165]) by gatekeeper.aconex.com (Postfix) with ESMTPSA id 85252243AF09; Wed, 3 Feb 2016 12:02:03 +1100 (AEDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: [pcp] Code Quality Improvements for parfait From: Paul Smith X-ASG-Orig-Subj: Re: [pcp] Code Quality Improvements for parfait In-Reply-To: <962927234.19.1454414790961@Georges-iMac.local> Date: Wed, 3 Feb 2016 12:02:04 +1100 Cc: pcp@oss.sgi.com Content-Transfer-Encoding: quoted-printable Message-Id: <61A9BA21-7323-481B-9024-044BA4D2BBAB@aconex.com> References: <962927234.19.1454414790961@Georges-iMac.local> To: george.kankava@devfactory.com X-Mailer: Apple Mail (2.3112) X-Virus-Scanned: by bsmtpd at aconex.com X-Barracuda-Connect: mail.aconex.com[175.45.105.35] X-Barracuda-Start-Time: 1454461338 X-Barracuda-URL: https://192.48.176.25:443/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.26691 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi George, We at Aconex (originators of Parfait) use PMD & Findbugs & Sonar. It's = a shame that Parfait was setup prior to using this in anger, and I think = I had _assumed_ that it was already there. So no objections to any PR that uses these tools to produce reports. Is = there an Open Source Sonar repo the data can be published to? We use Travis CI to check any PR, so as long as that runs successfully = we should be good to go. Perhaps create a Github issue to track the = changes against? Thanks for coming along! cheers, Paul > On 2 Feb 2016, at 11:06 PM, george.kankava@devfactory.com wrote: >=20 > Hello, >=20 > I'd like to send you some pull requests to improve the maintainability = of parfait. >=20 > My company - DevFactory - is sponsoring me to identify and fix code = quality issues and improve unit test coverage in open source projects. = DevFactory is obsessed with code quality and is providing its = commercially available code quality improvement service for free to = qualified open-source projects. >=20 > If you are interested, please let me know and we will add it to our = pipeline. Our first step will be to utilize tools like PMD, FindBugs and = Sonar to identify the most important issues to fix. Once we fix them, = we'll follow up with some pull requests. >=20 > Thanks, > George >=20 > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From kenj@internode.on.net Tue Feb 2 19:40:16 2016 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 8E9F27CB0 for ; Tue, 2 Feb 2016 19:40:16 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 60910304039 for ; Tue, 2 Feb 2016 17:40:16 -0800 (PST) X-ASG-Debug-ID: 1454463606-04bdf070520f530001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id JkwMfNdGMlH0jJUR for ; Tue, 02 Feb 2016 17:40:07 -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: A2DZAgDSWbFWPGWM0XYNUYQMbYZhgXizXRmIBQEBAQEBAQcBAQEBQYEAEoQYVTAGAgUWCwILAwIBAgExJwYCAQG3fGePJnuQfYE6BYdQhwSIHYVHiV+NFoVviFCEWlaCRoclAQEB Received: from ppp118-209-140-101.lns20.mel8.internode.on.net (HELO [192.168.1.100]) ([118.209.140.101]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Feb 2016 12:08:48 +1030 To: pcp@oss.sgi.com Subject: pcp updates: qa From: Ken McDonell X-ASG-Orig-Subj: pcp updates: qa Message-ID: <56B15A27.9000308@internode.on.net> Date: Wed, 3 Feb 2016 12:38:47 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1454463607 X-Barracuda-URL: https://192.48.157.11:443/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.26693 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (5): qa/common.avahi & qa/946: improve diags for debugging avahi test failures qa/956: isolate pmcd under test qa/common.avahi: capture stderr from avahi-browse qa/188: update known working glibc versions for Gentoo qa/370: deal with arithmetic uncertainty qa/188 | 2 +- qa/370 | 19 ++++++++++++++++++- qa/370.out.10 | 10 +++++----- qa/946 | 8 ++++---- qa/956 | 40 +++++++++++++++++++++++++++++++++++++--- qa/956.out | 6 ++++++ qa/common.avahi | 7 ++++--- 7 files changed, 75 insertions(+), 17 deletions(-) Details ... commit 2d01877fc501bcb9c517c362bc2c2c90cf669129 Author: Ken McDonell Date: Wed Feb 3 12:31:02 2016 +1100 qa/370: deal with arithmetic uncertainty For reasons that remain a "Mystery, Berryl", there is some rare differences in arithmetic between pmdumplog and sar2pcp, e.g. for one metric at one point in time the value is 0.37 vs 0.38 similarly there is another metric and instance and point in time where the value maybe 0.00017 or 0.00018. Add some fuzziness in the filtering to accommodate this. A real fix would be nice, but that has so far escaped us. commit 27c46f08ee8b6af1dd0238ac15f7853f68508335 Author: Ken McDonell Date: Wed Feb 3 10:26:45 2016 +1100 qa/188: update known working glibc versions for Gentoo Works for glibc-2.21-r1::gentoo. commit 2dbba523e3464783f795dd855ffd07db511840fa Author: Ken McDonell Date: Wed Feb 3 10:16:17 2016 +1100 qa/common.avahi: capture stderr from avahi-browse We were seeing failure text in .out.bad files like ... Failed to resolve service 'PCP pmproxy on foo.localdomain' of type '_pmproxy._tcp' in domain 'local': Timeout reached where foo.localdomain was NOT the system under test, but was a system that had recently been powered down and this seems to confuse avahi and there is stale state preserved locally. Since this has nothing to do with the PCP tests in question, capture stderr from avahi-browse and salt it away in the .full file, but don't pollute the .out file with messages like this. commit f3037b2d1b1fd53238eae3f073ff8d26a604f15e Author: Ken McDonell Date: Wed Feb 3 10:03:41 2016 +1100 qa/956: isolate pmcd under test This test seems to be exposed to random (non-QA) clients connecting to the pmcd under test. To combat this ... 1. stop pmcd 2. add a -s $tmp.socket option to pmcd.options 3. get a free tcp port and set PMCD_PORT in the environment 4. start pmcd ... no clients will know how to connect to this one, except possibly via avahi (but that's not an issue at the moment) 5. use -h unix:$tmp.socket in all tests (not -h unix:) to make sure we can speak to our pmcd 6. clean up the mess and put pmcd back in _cleanup commit ba01f4452330b030968b44b22404fe0afc5a785b Author: Ken McDonell Date: Wed Feb 3 09:46:58 2016 +1100 qa/common.avahi & qa/946: improve diags for debugging avahi test failures From bugzilla@redhat.com Tue Feb 2 21:57:24 2016 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 EE38A7CB0 for ; Tue, 2 Feb 2016 21:57:23 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C8D6D8F8039 for ; Tue, 2 Feb 2016 19:57:20 -0800 (PST) X-ASG-Debug-ID: 1454471833-04bdf0705212b10001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id 43FhRJhjvjRV6aIU (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:57:15 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYr-0005a7-Dx for ; Wed, 03 Feb 2016 14:57:13 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uo03021589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:50 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uonU023872 for ; Tue, 2 Feb 2016 22:56:50 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133uofj023871; Tue, 2 Feb 2016 22:56:50 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286733] Invalid Python PMAPI pmRegisterDerived call crashes libpcp Date: Wed, 03 Feb 2016 03:56:50 +0000 X-ASG-Orig-Subj: [Bug 1286733] Invalid Python PMAPI pmRegisterDerived call crashes libpcp Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454471834 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1286733 --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DwN1AmJO= bVt&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:57:50 2016 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 29FDD7CB0 for ; Tue, 2 Feb 2016 21:57:50 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D3E9B304051 for ; Tue, 2 Feb 2016 19:57:49 -0800 (PST) X-ASG-Debug-ID: 1454471866-04bdf0705312b40001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id X0QstiY79kaZTcd8 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:57:47 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZO-0001hK-Gr for ; Wed, 03 Feb 2016 14:57:46 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vNxR021885 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:23 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vN0i024303 for ; Tue, 2 Feb 2016 22:57:23 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vNeF024302; Tue, 2 Feb 2016 22:57:23 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1269921] pmRecordControl misses the first sample Date: Wed, 03 Feb 2016 03:57:21 +0000 X-ASG-Orig-Subj: [Bug 1269921] pmRecordControl misses the first sample Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454471867 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1269921 --- Comment #24 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DG4NMG8d= ucE&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:37 2016 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 60D097CB0 for ; Tue, 2 Feb 2016 21:58:37 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E8A6FAC007 for ; Tue, 2 Feb 2016 19:58:36 -0800 (PST) X-ASG-Debug-ID: 1454471910-04cb6c379612070001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id vsEX6R9N7zNo6M7Z (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:31 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYZ-0006G3-Ae for ; Wed, 03 Feb 2016 14:58:28 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uTdD021343 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:29 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uTMv023498 for ; Tue, 2 Feb 2016 22:56:29 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133uTsh023492; Tue, 2 Feb 2016 22:56:29 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1284411] RFE: Add pcp -V Date: Wed, 03 Feb 2016 03:56:29 +0000 X-ASG-Orig-Subj: [Bug 1284411] RFE: Add pcp -V Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454471911 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1284411 --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DXLmHVdv= XJ4&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:38 2016 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 D0FFA7CB7 for ; Tue, 2 Feb 2016 21:58:38 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C72188F8040 for ; Tue, 2 Feb 2016 19:58:38 -0800 (PST) X-ASG-Debug-ID: 1454471911-04cbb04c951be70001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id hNw7D1LAvfZBCrd3 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:32 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYf-0006MP-C8 for ; Wed, 03 Feb 2016 14:58:30 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133ucMC021417 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:38 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uc1k023615 for ; Tue, 2 Feb 2016 22:56:38 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133ucxJ023614; Tue, 2 Feb 2016 22:56:38 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1163413] RFE: pmdapipe Date: Wed, 03 Feb 2016 03:56:37 +0000 X-ASG-Orig-Subj: [Bug 1163413] RFE: pmdapipe Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: rawhide X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1454471911 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1163413 --- Comment #9 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Dfam58Zq= RQC&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:40 2016 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 735AE7CBB for ; Tue, 2 Feb 2016 21:58:40 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id EE6F9AC007 for ; Tue, 2 Feb 2016 19:58:39 -0800 (PST) X-ASG-Debug-ID: 1454471912-04cbb04c981be90001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id dok9wfIAylJTha0H (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:33 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYn-0002RZ-KK for ; Wed, 03 Feb 2016 14:58:31 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133ukfd021517 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:46 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133ukEA023773 for ; Tue, 2 Feb 2016 22:56:46 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133ukUX023770; Tue, 2 Feb 2016 22:56:46 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1285371] Python PMAPI pmiPutValue does not accept singular metrics Date: Wed, 03 Feb 2016 03:56:46 +0000 X-ASG-Orig-Subj: [Bug 1285371] Python PMAPI pmiPutValue does not accept singular metrics Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454471913 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com 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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1285371 --- Comment #10 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D5rABbyJ= mwV&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:44 2016 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 ACDF17CBA for ; Tue, 2 Feb 2016 21:58:44 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8BB258F8039 for ; Tue, 2 Feb 2016 19:58:44 -0800 (PST) X-ASG-Debug-ID: 1454471921-04cb6c379712090001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id Gi93NJEDg8MSRpag (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:42 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYj-0006P8-B0 for ; Wed, 03 Feb 2016 14:58:40 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uggN021447 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:42 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133ugft023663 for ; Tue, 2 Feb 2016 22:56:42 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133ugV2023662; Tue, 2 Feb 2016 22:56:42 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1284417] Python PMAPI pmSetMode does not allow None timeval Date: Wed, 03 Feb 2016 03:56:41 +0000 X-ASG-Orig-Subj: [Bug 1284417] Python PMAPI pmSetMode does not allow None timeval Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1454471922 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1284417 --- Comment #14 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DpDSMF4g= tDI&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:47 2016 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 4171F7CBE for ; Tue, 2 Feb 2016 21:58:47 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id CB579AC009 for ; Tue, 2 Feb 2016 19:58:46 -0800 (PST) X-ASG-Debug-ID: 1454471923-04cb6c379612090001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id OEafA0qLxuTAVpra (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:45 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYy-0006Z0-BD for ; Wed, 03 Feb 2016 14:58:43 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uvKA021692 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:57 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133uvlg024000 for ; Tue, 2 Feb 2016 22:56:57 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133uvMx023999; Tue, 2 Feb 2016 22:56:57 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1287778] Python PMAPI pmNonOptionsFromList cryptic error message Date: Wed, 03 Feb 2016 03:56:57 +0000 X-ASG-Orig-Subj: [Bug 1287778] Python PMAPI pmNonOptionsFromList cryptic error message Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1454471924 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1287778 --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DT3EW7hf= m54&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:50 2016 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 C1BC27CB0 for ; Tue, 2 Feb 2016 21:58:50 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B73318F8039 for ; Tue, 2 Feb 2016 19:58:50 -0800 (PST) X-ASG-Debug-ID: 1454471926-04cbb04c961bef0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id GQyWWOjRCPkkawgl (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:47 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZ7-0006gk-BF for ; Wed, 03 Feb 2016 14:58:46 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133v6YL021761 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:06 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133v6TF024080 for ; Tue, 2 Feb 2016 22:57:06 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133v6qC024077; Tue, 2 Feb 2016 22:57:06 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1256125] SELinux is preventing /usr/bin/pmlogger from 'open' accesses on the file /var/lib/pcp/config/pmlogger/config.default. Date: Wed, 03 Feb 2016 03:57:06 +0000 X-ASG-Orig-Subj: [Bug 1256125] SELinux is preventing /usr/bin/pmlogger from 'open' accesses on the file /var/lib/pcp/config/pmlogger/config.default. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1454471927 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1256125 --- Comment #17 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DdZCizB8= BsF&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:55 2016 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 9BEAD7CB6 for ; Tue, 2 Feb 2016 21:58:55 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 774B5304043 for ; Tue, 2 Feb 2016 19:58:55 -0800 (PST) X-ASG-Debug-ID: 1454471932-04bdf0705412b80001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id HEhuP3gJZA6WT2CH (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:53 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZ3-0001Ts-Gi for ; Wed, 03 Feb 2016 14:58:52 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133v22j021728 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:02 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133v2oR022805 for ; Tue, 2 Feb 2016 22:57:02 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133v2qf022803; Tue, 2 Feb 2016 22:57:02 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1289909] pmdumptext -g / -p not working Date: Wed, 03 Feb 2016 03:57:02 +0000 X-ASG-Orig-Subj: [Bug 1289909] pmdumptext -g / -p not working Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454471933 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1289909 --- Comment #9 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Dvn88fou= dKY&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:56 2016 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 D0C2D7CB6 for ; Tue, 2 Feb 2016 21:58:55 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6FD27AC005 for ; Tue, 2 Feb 2016 19:58:55 -0800 (PST) X-ASG-Debug-ID: 1454471932-04bdf0705312b80001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id F5tdx7hUE0VDN6Ds (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:53 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZD-0005oB-EI for ; Wed, 03 Feb 2016 14:58:52 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vCSw021812 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:12 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vCPV024170 for ; Tue, 2 Feb 2016 22:57:12 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vCPE024169; Tue, 2 Feb 2016 22:57:12 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1270761] pmatop -h does not work Date: Wed, 03 Feb 2016 03:57:12 +0000 X-ASG-Orig-Subj: [Bug 1270761] pmatop -h does not work Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1454471933 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1270761 --- Comment #18 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DIZEL33d= knO&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:58:56 2016 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 B1B527CB6 for ; Tue, 2 Feb 2016 21:58:56 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 44D3FAC005 for ; Tue, 2 Feb 2016 19:58:56 -0800 (PST) X-ASG-Debug-ID: 1454471933-04cb6c3795120a0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id xOAP706TvRjOLgKV (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:58:54 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoYu-0002Vy-Lw for ; Wed, 03 Feb 2016 14:58:53 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133ur75021661 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:56:53 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133urvA022732 for ; Tue, 2 Feb 2016 22:56:53 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133ur64022731; Tue, 2 Feb 2016 22:56:53 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1287678] pmstat -g SEGV Date: Wed, 03 Feb 2016 03:56:54 +0000 X-ASG-Orig-Subj: [Bug 1287678] pmstat -g SEGV Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1454471934 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1287678 --- Comment #10 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DtRZYMWo= cNd&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:03 2016 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 91E1E7CB1 for ; Tue, 2 Feb 2016 21:59:03 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5D590304043 for ; Tue, 2 Feb 2016 19:59:03 -0800 (PST) X-ASG-Debug-ID: 1454471939-04bdf0705112b80001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id eIHRGleaF1Tf52Ui (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:00 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZI-0005rM-Eq for ; Wed, 03 Feb 2016 14:58:59 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vH6N021852 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:17 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vHxh024227 for ; Tue, 2 Feb 2016 22:57:17 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vH84024226; Tue, 2 Feb 2016 22:57:17 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1270176] Python PMAPI pmSetOptionHostList no workie Date: Wed, 03 Feb 2016 03:57:17 +0000 X-ASG-Orig-Subj: [Bug 1270176] Python PMAPI pmSetOptionHostList no workie Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: CLOSED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454471940 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1270176 --- Comment #23 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DDJqxJkx= nGO&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:10 2016 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 8F41C7CB1 for ; Tue, 2 Feb 2016 21:59:10 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2CC88AC004 for ; Tue, 2 Feb 2016 19:59:10 -0800 (PST) X-ASG-Debug-ID: 1454471947-04bdf0705412b90001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id riKjPFi6IhtX1smj (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:08 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZV-0002qc-Kg for ; Wed, 03 Feb 2016 14:59:07 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vUQn021940 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:30 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vU9M024442 for ; Tue, 2 Feb 2016 22:57:30 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vUAD024429; Tue, 2 Feb 2016 22:57:30 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Date: Wed, 03 Feb 2016 03:57:30 +0000 X-ASG-Orig-Subj: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: MODIFIED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: none X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1454471948 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1262722 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |MODIFIED --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DXYZLFrA= m15&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:15 2016 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 1E6147F3F for ; Tue, 2 Feb 2016 21:59:15 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E33FB8F8040 for ; Tue, 2 Feb 2016 19:59:14 -0800 (PST) X-ASG-Debug-ID: 1454471952-04bdf0705412ba0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id FQlGW0ReGHPG9dHr (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:13 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZS-0001kH-HV for ; Wed, 03 Feb 2016 14:59:12 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vRWX021913 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:27 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vRsI024345 for ; Tue, 2 Feb 2016 22:57:27 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vRM7024344; Tue, 2 Feb 2016 22:57:27 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Date: Wed, 03 Feb 2016 03:57:27 +0000 X-ASG-Orig-Subj: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454471953 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1262722 --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D8UECvM6= TaL&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:22 2016 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 4CF107CB7 for ; Tue, 2 Feb 2016 21:59:22 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 38B478F8040 for ; Tue, 2 Feb 2016 19:59:22 -0800 (PST) X-ASG-Debug-ID: 1454471959-04cb6c379812120001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id E2lNAlqrvfMjlWnO (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:20 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZZ-0001ok-I9 for ; Wed, 03 Feb 2016 14:59:19 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vY3J021982 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:34 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vYOX024625 for ; Tue, 2 Feb 2016 22:57:34 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vYvh024624; Tue, 2 Feb 2016 22:57:34 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1258862] local_sock() double free error Date: Wed, 03 Feb 2016 03:57:34 +0000 X-ASG-Orig-Subj: [Bug 1258862] local_sock() double free error Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: EasyFix, Patch X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: fkrska@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454471960 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_MV0249, MARKETING_SUBJECT, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 2.00 BSF_SC0_MV0249 Custom rule MV0249 https://bugzilla.redhat.com/show_bug.cgi?id=3D1258862 --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DGOfQwSG= dnL&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:26 2016 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 38AD07CB2 for ; Tue, 2 Feb 2016 21:59:26 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 30616304043 for ; Tue, 2 Feb 2016 19:59:26 -0800 (PST) X-ASG-Debug-ID: 1454471963-04cbb04c971c080001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id URTTg4eIWuLUIr29 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:24 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZh-00073i-B7 for ; Wed, 03 Feb 2016 14:59:23 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vgjF022133 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:42 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vgls023660 for ; Tue, 2 Feb 2016 22:57:42 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vg30023659; Tue, 2 Feb 2016 22:57:42 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Date: Wed, 03 Feb 2016 03:57:42 +0000 X-ASG-Orig-Subj: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454471964 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1257009 --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Dd7iq9qs= bQh&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:26 2016 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 AF2077CB2 for ; Tue, 2 Feb 2016 21:59:26 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 323ACAC004 for ; Tue, 2 Feb 2016 19:59:26 -0800 (PST) X-ASG-Debug-ID: 1454471962-04cb6c379812130001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id iM9xcy1G4x35zYxK (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:24 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZd-00064J-DI for ; Wed, 03 Feb 2016 14:59:22 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vcv4022064 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:38 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vc8d024843 for ; Tue, 2 Feb 2016 22:57:38 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vcJo024842; Tue, 2 Feb 2016 22:57:38 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1258862] local_sock() double free error Date: Wed, 03 Feb 2016 03:57:37 +0000 X-ASG-Orig-Subj: [Bug 1258862] local_sock() double free error Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: EasyFix, Patch X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: MODIFIED X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: none X-Bugzilla-Reporter: fkrska@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454471963 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_MV0249, MARKETING_SUBJECT, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 2.00 BSF_SC0_MV0249 Custom rule MV0249 https://bugzilla.redhat.com/show_bug.cgi?id=3D1258862 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |MODIFIED --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DTmDAq0G= kuW&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:31 2016 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 963377F60 for ; Tue, 2 Feb 2016 21:59:31 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8A23C8F8039 for ; Tue, 2 Feb 2016 19:59:31 -0800 (PST) X-ASG-Debug-ID: 1454471968-04cb6c379612140001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id dOVHsfBuJ8RmNwuO (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:30 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZp-0001vz-H4 for ; Wed, 03 Feb 2016 14:59:28 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133voed022210 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:50 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133voOw025243 for ; Tue, 2 Feb 2016 22:57:50 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133voMt025242; Tue, 2 Feb 2016 22:57:50 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Date: Wed, 03 Feb 2016 03:57:49 +0000 X-ASG-Orig-Subj: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454471969 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1256708 --- Comment #23 from Fedora Update System --- pcp-3.11.0-1.el5 has been submitted as an update to Fedora EPEL 5. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DNDXKFfX= 3vU&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 21:59:57 2016 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 4215B7CBF for ; Tue, 2 Feb 2016 21:59:57 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id C5C2DAC005 for ; Tue, 2 Feb 2016 19:59:56 -0800 (PST) X-ASG-Debug-ID: 1454471993-04cbb04c961c180001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id mCRt2ufnd9M7TrqB (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 19:59:55 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZk-00069k-Dd for ; Wed, 03 Feb 2016 14:59:53 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vj9I022161 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:45 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vjkc023706 for ; Tue, 2 Feb 2016 22:57:45 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vjLd023704; Tue, 2 Feb 2016 22:57:45 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Date: Wed, 03 Feb 2016 03:57:45 +0000 X-ASG-Orig-Subj: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: MODIFIED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: none X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454471994 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1257009 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |MODIFIED --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DyiG1UPS= 2CT&a=3Dcc_unsubscribe= From bugzilla@redhat.com Tue Feb 2 22:00:04 2016 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 876047F69 for ; Tue, 2 Feb 2016 22:00:04 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7D9FA8F8039 for ; Tue, 2 Feb 2016 20:00:04 -0800 (PST) X-ASG-Debug-ID: 1454472001-04cb6c379712160001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id tUVziSovvSjt6ZGd (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 02 Feb 2016 20:00:02 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aQoZs-0007AV-AI for ; Wed, 03 Feb 2016 15:00:01 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vrN6022232 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 2 Feb 2016 22:57:53 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u133vroN025276 for ; Tue, 2 Feb 2016 22:57:53 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u133vrRG025275; Tue, 2 Feb 2016 22:57:53 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Date: Wed, 03 Feb 2016 03:57:53 +0000 X-ASG-Orig-Subj: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: MODIFIED X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: none X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1454472002 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1256708 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |MODIFIED --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Dk0ukvFA= sNq&a=3Dcc_unsubscribe= From ryan@doylenet.net Tue Feb 2 23:46:27 2016 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 C1F2E7CAF for ; Tue, 2 Feb 2016 23:46:27 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B0E92304039 for ; Tue, 2 Feb 2016 21:46:24 -0800 (PST) X-ASG-Debug-ID: 1454478381-04cbb04c962a540001-S8gJnT Received: from serv1.doylenet.net (serv1.doylenet.net [54.252.103.135]) by cuda.sgi.com with ESMTP id pC1SKlOiSpFjBUg9 for ; Tue, 02 Feb 2016 21:46:22 -0800 (PST) X-Barracuda-Envelope-From: ryan@doylenet.net X-Barracuda-Apparent-Source-IP: 54.252.103.135 Received: from localhost (localhost [127.0.0.1]) by serv1.doylenet.net (Postfix) with ESMTP id 6830F417CB for ; Wed, 3 Feb 2016 05:46:20 +0000 (UTC) Received: from serv1.doylenet.net ([127.0.0.1]) by localhost (ip-10-240-15-243.ap-southeast-2.compute.internal [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L-IjdEqHFIBe for ; Wed, 3 Feb 2016 05:46:20 +0000 (UTC) Received: from webmail.doylenet.net (localhost [127.0.0.1]) by serv1.doylenet.net (Postfix) with ESMTP id 4149241799 for ; Wed, 3 Feb 2016 05:46:20 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 03 Feb 2016 16:46:20 +1100 From: Ryan Doyle To: Subject: ANN: pcp-machine - a Lua query engine for PCP Reply-To: ryan@doylenet.net X-ASG-Orig-Subj: ANN: pcp-machine - a Lua query engine for PCP Message-ID: X-Sender: ryan@doylenet.net User-Agent: Roundcube Webmail/0.4.2 X-Barracuda-Connect: serv1.doylenet.net[54.252.103.135] X-Barracuda-Start-Time: 1454478381 X-Barracuda-URL: https://192.48.176.25:443/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.26697 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi PCP'ers, I've spent the last week writing a programmable query engine for PCP. It's a bit like pmie, and a bit like the python APIs but focuses on simplicity of the API and specifically around querying metrics. I'll keep it brief here, but if you are interested there's a decent amount of docs and examples over at https://github.com/ryandoyle/pcp-machine. It's still very early days and is probably rough around the edges so any feedback is appreciated. From daniel.jenkins@1bestdata.com Wed Feb 3 08:53:26 2016 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,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 1C0897CA1 for ; Wed, 3 Feb 2016 08:53:26 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0CC8B304039 for ; Wed, 3 Feb 2016 06:53:23 -0800 (PST) X-ASG-Debug-ID: 1454511199-04cbb04c9679da0001-S8gJnT Received: from mail.1bestdata.com (mail.1bestdata.com [191.101.235.226]) by cuda.sgi.com with ESMTP id eRK1nmA9aE3ics9K for ; Wed, 03 Feb 2016 06:53:19 -0800 (PST) X-Barracuda-Envelope-From: daniel.jenkins@1bestdata.com X-Barracuda-Apparent-Source-IP: 191.101.235.226 Received: from VOXTIDE (unknown [106.51.128.228]) by mail.1bestdata.com (Postfix) with ESMTPSA id 9367FEA1A8 for ; Wed, 3 Feb 2016 09:53:18 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.1bestdata.com 9367FEA1A8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=1bestdata.com; s=default; t=1454511199; bh=vrLL+3Zc2HOh0jYUWsXlVZGWf1uJOBjUeKRiT52oYnM=; h=From:To:Subject:Date:From; b=sqCajCjT1MKYtgVL7KGDj8eG2kJGfUJnext2bCyYRKRjDMnN8EVR3BRQAnHMS6Fc/ 4oMESl27Ni5vjNPdD23GFIpTtK1ylS36genfgly9J+wHxqNJVALQVqqQx92nROvF9N w0wBOo0AZG6YD+HBOe6iaZXy/Bo1IwGRQp2yyBXU= Return-Receipt-To: "Daniel Jenkins" From: "Daniel Jenkins" To: Subject: Customized SAP User Detail For Your Marketing Initiatives Date: Wed, 3 Feb 2016 20:22:52 +0530 X-ASG-Orig-Subj: Customized SAP User Detail For Your Marketing Initiatives Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_1F81_01D15EC0.B94E6730" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdFekmlkJnuoZ8KeQYWAVw6zZxAsDA== Content-Language: en-us Disposition-Notification-To: "Daniel Jenkins" X-Barracuda-Connect: mail.1bestdata.com[191.101.235.226] X-Barracuda-Start-Time: 1454511199 X-Barracuda-URL: https://192.48.176.25:443/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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26706 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== -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 This is a multi-part message in MIME format. ------=_NextPart_000_1F81_01D15EC0.B94E6730 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello, I hope you are the right person to discuss regarding our Customized SAP User Details Database for your Marketing Initiatives like Email Marketing, Email Campaign and Direct mailings? Database Available : SAP Users: - SAP ERP, SAP HANA, SAP Business Intelligence, SAP HRMS, SAP SCPM, SAP SUPM, SAP EWM, SAP Success Factors, SAP ABAP Users and many more. Other Technology Users: - Microsoft Dynamic, Oracle, Cisco, Citrix, VMware, Net Suite, Net App, Sugar CRM, IBM, AVAYA, Sales force, SAGE, EPICOR, INFOR, Rack Space Users and many more. Please do share your target audience like Industry / Geography / Job title, So that we can give you more information about our services, we can also provide you counts, price with a sample list to check the fields available Best Regards, Daniel Jenkins 1 Best Data Marketing Executive - Data Appending| Email Campaigns| Email marketing |B2B Email List _____ If you do not wish to receive further emails kindly reply with "Leave Out" or "Unsubscribe" ------=_NextPart_000_1F81_01D15EC0.B94E6730 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello, =

 

I hope you are the right person to discuss regarding = our Customized SAP User Details Database for your Marketing = Initiatives like Email Marketing, Email Campaign and Direct = mailings?

 

 

Database Available :

 

SAP Users: -

SAP ERP, = SAP HANA, SAP Business Intelligence, SAP HRMS, SAP SCPM, SAP SUPM, SAP = EWM, SAP Success Factors, SAP ABAP Users and many more.

 

 

Other Technology Users: -

Microsoft Dynamic, Oracle, Cisco, Citrix, VMware, Net = Suite, Net App, Sugar CRM, IBM, AVAYA, Sales force, SAGE, EPICOR, INFOR, = Rack Space Users and many more.

 

 

 

Please do share your target audience like = Industry / Geography / Job title, So that we can give you more = information about our services, we can also provide you counts, price = with a sample list to check the fields available

 

Best Regards,

 

Daniel Jenkins

1 Best Data

Marketing = Executive - Data Appending| Email Campaigns| Email marketing |B2B Email = List


If you do not wish to receive = further emails kindly reply with "Leave Out" or = “Unsubscribe”

 

 

------=_NextPart_000_1F81_01D15EC0.B94E6730-- From fche@redhat.com Wed Feb 3 09:58:05 2016 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 C09C07CA1 for ; Wed, 3 Feb 2016 09:58:05 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 53ADDAC001 for ; Wed, 3 Feb 2016 07:58:02 -0800 (PST) X-ASG-Debug-ID: 1454515077-04bdf070512b540001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id otLwSR1Ze2iC1LI2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 03 Feb 2016 07:57:58 -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 (Postfix) with ESMTPS id 811DB80510; Wed, 3 Feb 2016 15:57:57 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13FvuqL019741; Wed, 3 Feb 2016 10:57:57 -0500 Received: by fche.csb (Postfix, from userid 2569) id 520645852C; Wed, 3 Feb 2016 10:57:57 -0500 (EST) To: kenj@kenj.com.au (Ken McDonell) Cc: pcp@oss.sgi.com Subject: Re: pcp updates: pmclient python version fixes References: <20160131071613.A14D5A0583@kenj> X-ASG-Orig-Subj: Re: pcp updates: pmclient python version fixes From: fche@redhat.com (Frank Ch. Eigler) Date: Wed, 03 Feb 2016 10:57:57 -0500 In-Reply-To: <20160131071613.A14D5A0583@kenj> (Ken McDonell's message of "Sun, 31 Jan 2016 18:16:13 +1100 (AEDT)") 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.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1454515078 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 kenj wrote: > With these changes, qa/056 and qa/073 pass on SP and MP > machines. > Frank, could you please review the code changes? Sorry for being unavailable; was traveling. Your and Nathan's fixes look good, thanks. - FChE From fche@redhat.com Wed Feb 3 10:17:14 2016 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 242CE7CA1 for ; Wed, 3 Feb 2016 10:17:14 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 154DF8F8033 for ; Wed, 3 Feb 2016 08:17:13 -0800 (PST) X-ASG-Debug-ID: 1454516229-04cbb04c9883850001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id w2Ud7OhyErOkinn5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 03 Feb 2016 08:17:10 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 7A6ECA1010; Wed, 3 Feb 2016 16:17:09 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13GH8xP022181; Wed, 3 Feb 2016 11:17:09 -0500 Received: by fche.csb (Postfix, from userid 2569) id 6C5925852C; Wed, 3 Feb 2016 11:17:09 -0500 (EST) To: ryan@doylenet.net Cc: Subject: Re: ANN: pcp-machine - a Lua query engine for PCP References: X-ASG-Orig-Subj: Re: ANN: pcp-machine - a Lua query engine for PCP From: fche@redhat.com (Frank Ch. Eigler) Date: Wed, 03 Feb 2016 11:17:09 -0500 In-Reply-To: (Ryan Doyle's message of "Wed, 03 Feb 2016 16:46:20 +1100") 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.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1454516230 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Ryan - > I've spent the last week writing a programmable query engine for > PCP. It's a bit like pmie, and a bit like the python APIs but focuses > on simplicity of the API and specifically around querying metrics. Would it be fair to say that the core portion is more like a lua binding to the PMAPI, and the pmie portion is the hard-coded lua conditionals in the samples/*.lua files? As of 3.11, the former portion can be expressed as pretty compact python code now. So for example, the samples/nprocs.lua could look thusly in pcp 3.11 python: from pcp import pmapi fg = pmapi.fetchgroup() # defaults to -h local: nprocs = fg.extend_item("kernel.all.nprocs") fg.fetch() if nprocs() > 100: print("Processes are too high! %d" % nprocs()) - FChE From brolley@redhat.com Wed Feb 3 10:23:54 2016 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 619AB7CA1 for ; Wed, 3 Feb 2016 10:23:54 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 513E98F8033 for ; Wed, 3 Feb 2016 08:23:53 -0800 (PST) X-ASG-Debug-ID: 1454516632-04cb6c37962a2f0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NAvQ7SG14qUWaOhJ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 03 Feb 2016 08:23:53 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id C4C16C0AA578 for ; Wed, 3 Feb 2016 16:23:52 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13GNqNu007100 for ; Wed, 3 Feb 2016 11:23:52 -0500 Message-ID: <56B22A11.30406@redhat.com> Date: Wed, 03 Feb 2016 11:25:53 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: kenj, lberk qa Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: kenj, lberk qa Content-Transfer-Encoding: 7bit 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: 1454516633 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Ken McDonell (5): qa/common.avahi & qa/946: improve diags for debugging avahi test failures qa/956: isolate pmcd under test qa/common.avahi: capture stderr from avahi-browse qa/188: update known working glibc versions for Gentoo qa/370: deal with arithmetic uncertainty Lukas Berk (1): add 'import requests' check to check_pmwebd() qa/188 | 2 +- qa/370 | 19 ++++++++++++++++++- qa/370.out.10 | 10 +++++----- qa/946 | 8 ++++---- qa/956 | 40 +++++++++++++++++++++++++++++++++++++--- qa/956.out | 6 ++++++ qa/common.avahi | 7 ++++--- qa/common.webapi | 1 + 8 files changed, 76 insertions(+), 17 deletions(-) From bugzilla@redhat.com Wed Feb 3 16:17:39 2016 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 DC5FF7CA1 for ; Wed, 3 Feb 2016 16:17:38 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B0C81304062 for ; Wed, 3 Feb 2016 14:17:38 -0800 (PST) X-ASG-Debug-ID: 1454537851-04bdf079c5044b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id IzxiW75XzlhVsazz (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:32 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5jh-00055P-D8 for ; Thu, 04 Feb 2016 09:17:30 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MH6kT012998 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:06 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MH6R8020363 for ; Wed, 3 Feb 2016 17:17:06 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MH6ir020362; Wed, 3 Feb 2016 17:17:06 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1284411] RFE: Add pcp -V Date: Wed, 03 Feb 2016 22:17:05 +0000 X-ASG-Orig-Subj: [Bug 1284411] RFE: Add pcp -V Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537852 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1284411 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D31PlXvy= anW&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:42 2016 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 169E47CA6 for ; Wed, 3 Feb 2016 16:17:42 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 03D228F8040 for ; Wed, 3 Feb 2016 14:17:38 -0800 (PST) X-ASG-Debug-ID: 1454537852-04cbb04cfc10890001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id GwE57KE1gJfJp5x4 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:34 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5jo-0001ub-GA for ; Thu, 04 Feb 2016 09:17:31 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHFGl013074 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:15 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHFrV028369 for ; Wed, 3 Feb 2016 17:17:15 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHFp0028368; Wed, 3 Feb 2016 17:17:15 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1163413] RFE: pmdapipe Date: Wed, 03 Feb 2016 22:17:14 +0000 X-ASG-Orig-Subj: [Bug 1163413] RFE: pmdapipe Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: rawhide X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1454537853 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1163413 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #10 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DSfldZQo= wnm&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:43 2016 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 D993629DFC for ; Wed, 3 Feb 2016 16:17:43 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C8F9030405F for ; Wed, 3 Feb 2016 14:17:43 -0800 (PST) X-ASG-Debug-ID: 1454537860-04cb6c274503cd0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id iCme6qENMJvLq8tA (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:41 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5jt-0000eb-C4 for ; Thu, 04 Feb 2016 09:17:39 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHMFH013153 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:22 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHMgV028448 for ; Wed, 3 Feb 2016 17:17:22 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHMcA028447; Wed, 3 Feb 2016 17:17:22 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1285371] Python PMAPI pmiPutValue does not accept singular metrics Date: Wed, 03 Feb 2016 22:17:22 +0000 X-ASG-Orig-Subj: [Bug 1285371] Python PMAPI pmiPutValue does not accept singular metrics Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454537861 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1285371 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DNgxQP6z= ybP&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:44 2016 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 D969F29DFC for ; Wed, 3 Feb 2016 16:17:44 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id ACD6930405F for ; Wed, 3 Feb 2016 14:17:44 -0800 (PST) X-ASG-Debug-ID: 1454537862-04bdf079c3044b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id JtO1Afn2epaOCSRC (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:43 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5jp-0005Dj-Fs for ; Thu, 04 Feb 2016 09:17:41 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHIQ2013111 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:18 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHIVH028403 for ; Wed, 3 Feb 2016 17:17:18 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHIPG028402; Wed, 3 Feb 2016 17:17:18 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1284417] Python PMAPI pmSetMode does not allow None timeval Date: Wed, 03 Feb 2016 22:17:18 +0000 X-ASG-Orig-Subj: [Bug 1284417] Python PMAPI pmSetMode does not allow None timeval Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537862 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1284417 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #15 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DSs8Bb6B= Fke&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:48 2016 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 D07AE29DFA for ; Wed, 3 Feb 2016 16:17:48 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id A1FA9304039 for ; Wed, 3 Feb 2016 14:17:48 -0800 (PST) X-ASG-Debug-ID: 1454537865-04bdf079c1044b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id OLifrec9CKxwEfRv (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:46 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5k1-0000jh-Bu for ; Thu, 04 Feb 2016 09:17:45 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHUKp013229 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:30 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHUn3020469 for ; Wed, 3 Feb 2016 17:17:30 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHUhm020468; Wed, 3 Feb 2016 17:17:30 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1287678] pmstat -g SEGV Date: Wed, 03 Feb 2016 22:17:30 +0000 X-ASG-Orig-Subj: [Bug 1287678] pmstat -g SEGV Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537866 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1287678 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #11 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DKp84PSq= 7kl&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:52 2016 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 AB1DC29E08 for ; Wed, 3 Feb 2016 16:17:52 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8AA218F8049 for ; Wed, 3 Feb 2016 14:17:52 -0800 (PST) X-ASG-Debug-ID: 1454537869-04cb6c274703cf0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id VrBzciKvi2M2ORBB (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:50 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5jy-0000hq-A2 for ; Thu, 04 Feb 2016 09:17:48 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHQ50013190 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:27 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHQSl028495 for ; Wed, 3 Feb 2016 17:17:26 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHQrk028494; Wed, 3 Feb 2016 17:17:26 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286733] Invalid Python PMAPI pmRegisterDerived call crashes libpcp Date: Wed, 03 Feb 2016 22:17:26 +0000 X-ASG-Orig-Subj: [Bug 1286733] Invalid Python PMAPI pmRegisterDerived call crashes libpcp Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1454537870 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1286733 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #13 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DK3P1QYR= 1BC&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:56 2016 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 7002D29E0C for ; Wed, 3 Feb 2016 16:17:56 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E66FAAC001 for ; Wed, 3 Feb 2016 14:17:55 -0800 (PST) X-ASG-Debug-ID: 1454537872-04cb6c274603cf0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id gw0hQeLxFxGUXX27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:53 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5k5-00028j-HH for ; Thu, 04 Feb 2016 09:17:51 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHYLB013259 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:34 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHYgu028571 for ; Wed, 3 Feb 2016 17:17:34 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHY1F028570; Wed, 3 Feb 2016 17:17:34 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1287778] Python PMAPI pmNonOptionsFromList cryptic error message Date: Wed, 03 Feb 2016 22:17:34 +0000 X-ASG-Orig-Subj: [Bug 1287778] Python PMAPI pmNonOptionsFromList cryptic error message Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454537873 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1287778 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #13 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DFVO5ZZD= 15D&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:17:58 2016 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 7CD7F29E11 for ; Wed, 3 Feb 2016 16:17:58 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 636FC8F804B for ; Wed, 3 Feb 2016 14:17:58 -0800 (PST) X-ASG-Debug-ID: 1454537875-04cb6c274503d00001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id xjLj74MALjMyF6n7 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:17:56 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kA-0007bA-JZ for ; Thu, 04 Feb 2016 09:17:55 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHc16013294 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:38 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHcQu028615 for ; Wed, 3 Feb 2016 17:17:38 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHclx028614; Wed, 3 Feb 2016 17:17:38 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1289909] pmdumptext -g / -p not working Date: Wed, 03 Feb 2016 22:17:38 +0000 X-ASG-Orig-Subj: [Bug 1289909] pmdumptext -g / -p not working Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1454537876 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1289909 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #10 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DDc66OQx= Kej&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:05 2016 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 ED56E29E0D for ; Wed, 3 Feb 2016 16:18:04 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id DBD8F8F8040 for ; Wed, 3 Feb 2016 14:18:04 -0800 (PST) X-ASG-Debug-ID: 1454537882-04cb6c274703d10001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id Uezd9ldQGuBr7k80 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:03 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kE-0000wA-CH for ; Thu, 04 Feb 2016 09:18:01 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHhWV013345 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:43 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHhtj020553 for ; Wed, 3 Feb 2016 17:17:43 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHh76020552; Wed, 3 Feb 2016 17:17:43 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1256125] SELinux is preventing /usr/bin/pmlogger from 'open' accesses on the file /var/lib/pcp/config/pmlogger/config.default. Date: Wed, 03 Feb 2016 22:17:42 +0000 X-ASG-Orig-Subj: [Bug 1256125] SELinux is preventing /usr/bin/pmlogger from 'open' accesses on the file /var/lib/pcp/config/pmlogger/config.default. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454537883 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1256125 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- --- Comment #18 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DSZEnK2T= Z5k&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:15 2016 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 3412729E14 for ; Wed, 3 Feb 2016 16:18:15 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id BABC4AC005 for ; Wed, 3 Feb 2016 14:18:14 -0800 (PST) X-ASG-Debug-ID: 1454537891-04cb6c274703d30001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id xl2GThj0kPGbsic6 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:13 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kM-00012k-B0 for ; Thu, 04 Feb 2016 09:18:11 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHpQp013443 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:51 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHpU8028695 for ; Wed, 3 Feb 2016 17:17:51 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHppQ028694; Wed, 3 Feb 2016 17:17:51 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1270176] Python PMAPI pmSetOptionHostList no workie Date: Wed, 03 Feb 2016 22:17:51 +0000 X-ASG-Orig-Subj: [Bug 1270176] Python PMAPI pmSetOptionHostList no workie Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537892 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1270176 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #24 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D0DSq7Fa= zEz&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:15 2016 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 B741529E14 for ; Wed, 3 Feb 2016 16:18:15 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A558C304039 for ; Wed, 3 Feb 2016 14:18:15 -0800 (PST) X-ASG-Debug-ID: 1454537891-04cbb04cfb109c0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id WHXQ7xfJQY8YgEf7 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:12 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kP-00015S-CX for ; Thu, 04 Feb 2016 09:18:10 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHtJp013476 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:55 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHtkj020703 for ; Wed, 3 Feb 2016 17:17:55 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHscU020696; Wed, 3 Feb 2016 17:17:55 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1269921] pmRecordControl misses the first sample Date: Wed, 03 Feb 2016 22:17:55 +0000 X-ASG-Orig-Subj: [Bug 1269921] pmRecordControl misses the first sample Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454537891 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1269921 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #25 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Db7lK3Yc= V6i&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:16 2016 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 3C17129E15 for ; Wed, 3 Feb 2016 16:18:16 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id C305CAC006 for ; Wed, 3 Feb 2016 14:18:15 -0800 (PST) X-ASG-Debug-ID: 1454537890-04cbb04cfb109b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id y3vH8iebAIJRyrIZ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:11 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kJ-0005Yo-Dm for ; Thu, 04 Feb 2016 09:18:09 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHmSO013398 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:48 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHmc2020617 for ; Wed, 3 Feb 2016 17:17:48 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHmsH020616; Wed, 3 Feb 2016 17:17:48 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1270761] pmatop -h does not work Date: Wed, 03 Feb 2016 22:17:47 +0000 X-ASG-Orig-Subj: [Bug 1270761] pmatop -h does not work Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: Reopened X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status resolution keywords X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454537891 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1270761 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |ON_QA Resolution|ERRATA |--- Keywords| |Reopened --- Comment #19 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DfDLwN6N= oti&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:23 2016 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 7C37029E18 for ; Wed, 3 Feb 2016 16:18:23 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 02AFEAC001 for ; Wed, 3 Feb 2016 14:18:22 -0800 (PST) X-ASG-Debug-ID: 1454537899-04cbb04cfc10a10001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id OmXNd6mBBIQ2yXik (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:20 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5ka-0001Cn-C5 for ; Thu, 04 Feb 2016 09:18:19 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI51b013594 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:18:05 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI5rP029334 for ; Wed, 3 Feb 2016 17:18:05 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MI5xh029333; Wed, 3 Feb 2016 17:18:05 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Date: Wed, 03 Feb 2016 22:18:05 +0000 X-ASG-Orig-Subj: [Bug 1257009] pmchart connect incorrect host with savedHosts entry in .config/PCP/pmchart.conf Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454537900 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1257009 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DKKmQRDd= lDu&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:27 2016 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 04F0429DF6 for ; Wed, 3 Feb 2016 16:18:27 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D97F2304048 for ; Wed, 3 Feb 2016 14:18:26 -0800 (PST) X-ASG-Debug-ID: 1454537903-04cbb04cfa10a20001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id DwTDcN4cKJuXvnBt (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:25 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5ke-0005w6-Fv for ; Thu, 04 Feb 2016 09:18:23 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI9I6013636 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:18:09 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI9ZJ021450 for ; Wed, 3 Feb 2016 17:18:09 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MI9NR021449; Wed, 3 Feb 2016 17:18:09 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Date: Wed, 03 Feb 2016 22:18:09 +0000 X-ASG-Orig-Subj: [Bug 1256708] [abrt] pcp-gui: context(): pmchart killed by SIGSEGV Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: public X-Bugzilla-Reporter: kmoriwak@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537904 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1256708 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA --- Comment #24 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D04Fg3Iu= cV7&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:56 2016 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 45FEC29DF6 for ; Wed, 3 Feb 2016 16:18:56 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0A78F8F8039 for ; Wed, 3 Feb 2016 14:18:55 -0800 (PST) X-ASG-Debug-ID: 1454537932-04bdf079c304560001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id fz3LD0PGrZuewuLz (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:53 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kT-0007pE-La for ; Thu, 04 Feb 2016 09:18:52 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHwBR013513 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:17:58 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MHw7L020921 for ; Wed, 3 Feb 2016 17:17:58 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MHwJN020920; Wed, 3 Feb 2016 17:17:58 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Date: Wed, 03 Feb 2016 22:17:58 +0000 X-ASG-Orig-Subj: [Bug 1262722] PCP Python PMAPI pmGetOptionAlignment fails Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1454537933 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1262722 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D7wMOO1D= Q20&a=3Dcc_unsubscribe= From bugzilla@redhat.com Wed Feb 3 16:18:58 2016 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 AC63F29E09 for ; Wed, 3 Feb 2016 16:18:58 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8B1A6304048 for ; Wed, 3 Feb 2016 14:18:58 -0800 (PST) X-ASG-Debug-ID: 1454537914-04cbb04cfa10a90001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id OXQE9inQG0Fs06k9 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 03 Feb 2016 14:18:36 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aR5kX-0005pS-Eo for ; Thu, 04 Feb 2016 09:18:34 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI2TD013551 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 3 Feb 2016 17:18:02 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u13MI2Pq029089 for ; Wed, 3 Feb 2016 17:18:02 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u13MI2eU029088; Wed, 3 Feb 2016 17:18:02 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1258862] local_sock() double free error Date: Wed, 03 Feb 2016 22:18:02 +0000 X-ASG-Orig-Subj: [Bug 1258862] local_sock() double free error Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: EasyFix, Patch X-Bugzilla-Severity: medium X-Bugzilla-Who: updates@fedoraproject.org X-Bugzilla-Status: ON_QA X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_status X-Bugzilla-Comment: public X-Bugzilla-Reporter: fkrska@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454537915 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_MV0249, MARKETING_SUBJECT, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 2.00 BSF_SC0_MV0249 Custom rule MV0249 https://bugzilla.redhat.com/show_bug.cgi?id=3D1258862 Fedora Update System changed: What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA --- Comment #12 from Fedora Update System --- pcp-3.11.0-1.el5 has been pushed to the Fedora EPEL 5 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-57b7efb2d7 --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DtZh0Rsf= 3V8&a=3Dcc_unsubscribe= From ryan@doylenet.net Wed Feb 3 17:55:25 2016 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 A71637CA1 for ; Wed, 3 Feb 2016 17:55:25 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 88FAC8F8033 for ; Wed, 3 Feb 2016 15:55:22 -0800 (PST) X-ASG-Debug-ID: 1454543719-04cbb04cfc1a770001-S8gJnT Received: from serv1.doylenet.net (serv1.doylenet.net [54.252.103.135]) by cuda.sgi.com with ESMTP id GEVdmfoSLuFSPCHO for ; Wed, 03 Feb 2016 15:55:20 -0800 (PST) X-Barracuda-Envelope-From: ryan@doylenet.net X-Barracuda-Apparent-Source-IP: 54.252.103.135 Received: from localhost (localhost [127.0.0.1]) by serv1.doylenet.net (Postfix) with ESMTP id B77284179D; Wed, 3 Feb 2016 23:55:18 +0000 (UTC) Received: from serv1.doylenet.net ([127.0.0.1]) by localhost (ip-10-240-15-243.ap-southeast-2.compute.internal [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qmzlptOsOhAC; Wed, 3 Feb 2016 23:55:18 +0000 (UTC) Received: from webmail.doylenet.net (localhost [127.0.0.1]) by serv1.doylenet.net (Postfix) with ESMTP id 9142541799; Wed, 3 Feb 2016 23:55:18 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Thu, 04 Feb 2016 10:55:18 +1100 From: Ryan Doyle To: Cc: Subject: Re: ANN: pcp-machine - a Lua query engine for PCP Reply-To: ryan@doylenet.net X-ASG-Orig-Subj: Re: ANN: pcp-machine - a Lua query engine for PCP In-Reply-To: References: Message-ID: <4cbab0c9f79dfb779d94021f6f505ac5@doylenet.net> X-Sender: ryan@doylenet.net User-Agent: Roundcube Webmail/0.4.2 X-Barracuda-Connect: serv1.doylenet.net[54.252.103.135] X-Barracuda-Start-Time: 1454543719 X-Barracuda-URL: https://192.48.176.25:443/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.26719 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Wed, 03 Feb 2016 11:17:09 -0500, fche@redhat.com (Frank Ch. Eigler) wrote: > Hi, Ryan - > > Would it be fair to say that the core portion is more like a lua > binding to the PMAPI, and the pmie portion is the hard-coded lua > conditionals in the samples/*.lua files? Yep it's a very small Lua binding. I avoided making it a more generic, reusable library at the moment as I think of Lua to be used within a specific domain. > > As of 3.11, the former portion can be expressed as pretty compact > python code now. So for example, the samples/nprocs.lua could > look thusly in pcp 3.11 python: Ah, that's pretty neat. The fetch group API is quite new to me but looks a lot easier to use. Cheers, Ryan From myllynen@redhat.com Thu Feb 4 02:40:25 2016 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 534677CA2 for ; Thu, 4 Feb 2016 02:40:25 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0FB6DAC007 for ; Thu, 4 Feb 2016 00:40:17 -0800 (PST) X-ASG-Debug-ID: 1454575211-04cb6c274712310001-S8gJnT Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by cuda.sgi.com with ESMTP id GdbuD11pglUywPd4 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 04 Feb 2016 00:40:12 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.42 Received: by mail-wm0-f42.google.com with SMTP id l66so106094853wml.0 for ; Thu, 04 Feb 2016 00:40:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=5c75k/QVIEZry9lMGLvskR8Bdi1UWL5B8pO/QZrRD7U=; b=aypoXzsSIwbnhHJ+0jG/w/CuDk8yJQOywfd4yzdoVtSFNeVXDPFe2lFCNSsFDj7fFU WSfX6wHDaRxs6/+aoaJejM21mG1jjW4Uggsri/1L7bu5NNZwalVLr0uWcODSeqCeXCbq 8eqoOoFsGcTmkoA+qpSflFmUcu+8c0C0YSgjy4Zkxu8a6crwJARPlZ8rvX+7vcmoJg3a CAT2IU/Qji2C37/oLhtm3724f0aDoCNArF8tBldvBO84T5+KvBeByn1z3rx69vWpF5Bu WfwSkURhb9CkPt3fozUXrn+pnD/WlKvYJvUXvKriEzxiysPp+w3PdnjJojrtUF1ImLLw K8Ig== X-Gm-Message-State: AG10YOS17O6OBI8hFmbIDd0ZGMVT8HBrYZOS80jiDfjAXQlgtizc8Ei4z6Di8eTK9Pa2JMFb X-Received: by 10.194.205.5 with SMTP id lc5mr6807650wjc.163.1454575210843; Thu, 04 Feb 2016 00:40:10 -0800 (PST) Received: from ?IPv6:2001:14bb:140:9247:402:1fcc:a508:2? (dygylfv4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:9247:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id c185sm25192344wma.5.2016.02.04.00.40.10 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 04 Feb 2016 00:40:10 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: PCP services startup order Organization: Red Hat X-ASG-Orig-Subj: PCP services startup order Message-ID: <56B30E68.9050709@redhat.com> Date: Thu, 4 Feb 2016 10:40:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f42.google.com[74.125.82.42] X-Barracuda-Start-Time: 1454575211 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.26731 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, Related to the recent discussions around pmcd(1) and zbxpcp(3) [1,2] I checked the init script files provided by PCP: # grep chkconfig: /etc/init.d/pm* | sort /etc/init.d/pmcd:# chkconfig: - 95 05 /etc/init.d/pmie:# chkconfig: - 95 05 /etc/init.d/pmlogger:# chkconfig: - 95 05 /etc/init.d/pmmgr:# chkconfig: - 95 05 /etc/init.d/pmproxy:# chkconfig: - 95 05 /etc/init.d/pmwebd:# chkconfig: - 95 05 Wouldn't it be better to prioritize pmcd first and then start the rest (prioritizing them as needed as well)? For a daemon like pmcd(1) used by many other services 95 is perhaps a bit late although I realize that some PMDAs might have dependencies to other services. But I wonder would something like 85 still be possible as pmcd(1) startup priority? (Zabbix Agent is started at 86.) 1) http://oss.sgi.com/pipermail/pcp/2016-January/009403.html 2) http://oss.sgi.com/pipermail/pcp/2016-January/009410.html Thanks, -- Marko Myllynen From kenj@internode.on.net Thu Feb 4 03:18:41 2016 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 42EE47CA2 for ; Thu, 4 Feb 2016 03:18:41 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 32D1D304032 for ; Thu, 4 Feb 2016 01:18:38 -0800 (PST) X-ASG-Debug-ID: 1454577483-04cb6c274713190001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id mackAOZP0Eb4BeS1 for ; Thu, 04 Feb 2016 01:18:04 -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: A2D0AQBNFrNWPFBJ0XYNUYQMbYhbsnEhhWwCggcBAQEBAQEHAQEBAUGFAQEBBDhAEQsYCRYPCQMCAQIBMRQGAQwIAQGIJbBQkAMBAQEBBgEBAQEBG4pJglSGGAWWcYVJgmyUCYIwjBCEWlYBiCkBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 04 Feb 2016 19:48:03 +1030 Subject: Re: [pcp] PCP services startup order To: Marko Myllynen , pcp developers X-ASG-Orig-Subj: Re: [pcp] PCP services startup order References: <56B30E68.9050709@redhat.com> From: Ken McDonell Message-ID: <56B3174A.5000502@internode.on.net> Date: Thu, 4 Feb 2016 20:18:02 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B30E68.9050709@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: 1454577484 X-Barracuda-URL: https://192.48.176.15:443/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.26732 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 04/02/16 19:40, Marko Myllynen wrote: > Hi, > > Related to the recent discussions around pmcd(1) and zbxpcp(3) [1,2] I > checked the init script files provided by PCP: > > # grep chkconfig: /etc/init.d/pm* | sort > /etc/init.d/pmcd:# chkconfig: - 95 05 > /etc/init.d/pmie:# chkconfig: - 95 05 > /etc/init.d/pmlogger:# chkconfig: - 95 05 > /etc/init.d/pmmgr:# chkconfig: - 95 05 > /etc/init.d/pmproxy:# chkconfig: - 95 05 > /etc/init.d/pmwebd:# chkconfig: - 95 05 > > Wouldn't it be better to prioritize pmcd first and then start the rest > (prioritizing them as needed as well)? > > For a daemon like pmcd(1) used by many other services 95 is perhaps a > bit late although I realize that some PMDAs might have dependencies to > other services. But I wonder would something like 85 still be possible > as pmcd(1) startup priority? (Zabbix Agent is started at 86.) > > 1) http://oss.sgi.com/pipermail/pcp/2016-January/009403.html > 2) http://oss.sgi.com/pipermail/pcp/2016-January/009410.html > > Thanks, > I think 95 is an (almost) arbitrary number plucked from "the pool of ignorance". With so many init-like schemes in play now, I'm not sure it is possible to arrive at a "correct" choice everywhere and indeed the chkconfig: line is irrelevant on lots of platforms. And there is one *added* confusion here, namely that things like pmie and pmlogger (and possibly pmmgr) _could_ be launching a mix of PMAPI clients that are fetching from local or remote pmcd instances, and for the remote ones, it matters not a toss when then local pmcd is started, nor if it is started at all! From bugzilla@redhat.com Thu Feb 4 07:12:05 2016 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 955C87CA2 for ; Thu, 4 Feb 2016 07:12:05 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 75E278F804B for ; Thu, 4 Feb 2016 05:12:05 -0800 (PST) X-ASG-Debug-ID: 1454591518-04cbb04cfa32820001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id IOTl6MaLZglk7EKE (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 04 Feb 2016 05:12:00 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aRJhQ-0005vY-Cy for ; Fri, 05 Feb 2016 00:11:57 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u14DBgLr014138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 4 Feb 2016 08:11:42 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u14DBgYO048880 for ; Thu, 4 Feb 2016 08:11:42 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u14DBfr4048868; Thu, 4 Feb 2016 08:11:41 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1304722] New: pcp pmda subrpm remove should trigger ./Remove script Date: Thu, 04 Feb 2016 13:11:40 +0000 X-ASG-Orig-Subj: [Bug 1304722] New: pcp pmda subrpm remove should trigger ./Remove script Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: rawhide X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: fche@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_id short_desc product version component assigned_to reporter qa_contact cc X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454591519 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26735 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1304722 Bug ID: 1304722 Summary: pcp pmda subrpm remove should trigger ./Remove script Product: Fedora Version: rawhide Component: pcp Assignee: nathans@redhat.com Reporter: fche@redhat.com QA Contact: extras-qa@fedoraproject.org CC: brolley@redhat.com, fche@redhat.com, lberk@redhat.com, mgoodwin@redhat.com, nathans@redhat.com, pcp@kenj.com.au, scox@redhat.com Running # rpm -e pcp-pmda-FOOBAR for an enabled pmda leaves it behind in /etc/pcp/pmcd/pmcd.conf, and is consequently reported as a failed pmda at the next startup. It would be nice if a %postun spec fragment would run the ./Remove parts of the affected pmda. (This is the less controversial dual of the desire to have the %post (-install) fragment run ./Install.) --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D2wtxIDf= 4XB&a=3Dcc_unsubscribe= From fche@redhat.com Thu Feb 4 08:22:00 2016 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 11F8F7CA2 for ; Thu, 4 Feb 2016 08:22:00 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E8649304039 for ; Thu, 4 Feb 2016 06:21:56 -0800 (PST) X-ASG-Debug-ID: 1454595715-04cb6c27471d650001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EGALX740uafjbEuV (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 04 Feb 2016 06:21:56 -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 (Postfix) with ESMTPS id 692E1BACB4; Thu, 4 Feb 2016 14:21:55 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u14ELtT4024118; Thu, 4 Feb 2016 09:21:55 -0500 Received: by fche.csb (Postfix, from userid 2569) id 819E75852C; Thu, 4 Feb 2016 09:21:55 -0500 (EST) To: Ken McDonell Cc: Marko Myllynen , pcp developers Subject: Re: PCP services startup order References: <56B30E68.9050709@redhat.com> <56B3174A.5000502@internode.on.net> X-ASG-Orig-Subj: Re: PCP services startup order From: fche@redhat.com (Frank Ch. Eigler) Date: Thu, 04 Feb 2016 09:21:55 -0500 In-Reply-To: <56B3174A.5000502@internode.on.net> (Ken McDonell's message of "Thu, 4 Feb 2016 20:18:02 +1100") 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: 1454595716 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 kenj wrote: > [...] And there is one *added* confusion here, namely that things > like pmie and pmlogger (and possibly pmmgr) _could_ be launching a > mix of PMAPI clients that are fetching from local or remote pmcd > instances, and for the remote ones, it matters not a toss when then > local pmcd is started, nor if it is started at all! Further, in pmmgr's case, its frequent-poll-based operation means that it reacts quickly to remote - or local! - pmcds' comings and goings. There is no need to adjust its startup order. - FChE From bugzilla@redhat.com Thu Feb 4 08:25:19 2016 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 D550C7CA2 for ; Thu, 4 Feb 2016 08:25:19 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id A6C9E304032 for ; Thu, 4 Feb 2016 06:25:19 -0800 (PST) X-ASG-Debug-ID: 1454595912-04bdf079c11d7e0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id dB7rJHFMgM9Xun4B (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 04 Feb 2016 06:25:13 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aRKqJ-0000L4-AB for ; Fri, 05 Feb 2016 01:25:11 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u14EOwgj042833 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 4 Feb 2016 09:24:58 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u14EOvpY029820 for ; Thu, 4 Feb 2016 09:24:57 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u14EOvJl029818; Thu, 4 Feb 2016 09:24:57 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1304722] pcp pmda subrpm remove should trigger ./Remove script Date: Thu, 04 Feb 2016 14:24:57 +0000 X-ASG-Orig-Subj: [Bug 1304722] pcp pmda subrpm remove should trigger ./Remove script Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: rawhide X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: lberk@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: fche@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1454595913 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26737 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1304722 --- Comment #1 from Lukas Berk --- Would it not make more sense for this to occur in the %preun spec scriptlet? By the %postun fragment, the package contents (including the pmda's ./Remove script referenced) would already have been erased. --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DtOgIStx= F6h&a=3Dcc_unsubscribe= From kenj@internode.on.net Thu Feb 4 14:25:41 2016 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 9E6B97CA2 for ; Thu, 4 Feb 2016 14:25:41 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3CDF8AC003 for ; Thu, 4 Feb 2016 12:25:37 -0800 (PST) X-ASG-Debug-ID: 1454617533-04bdf079c028260001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id rVqBDnsJqK9DI9Uh for ; Thu, 04 Feb 2016 12:25:33 -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: A2BQAgDesrNWPFBJ0XYNUYQMbYZjgXiydRmEZIMdAQEBAQEBBwEBAQFBhSpVMAYCBRYLAgsDAgECATEnBgIBAbkfZ49De45MgjSBOgWWcYVLlnWOQIRaVogqAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 05 Feb 2016 06:53:29 +1030 To: pcp@oss.sgi.com Subject: pcp updates: qa and fix for SLES11 build failure From: Ken McDonell X-ASG-Orig-Subj: pcp updates: qa and fix for SLES11 build failure Message-ID: <56B3B340.3010209@internode.on.net> Date: Fri, 5 Feb 2016 07:23:28 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1454617533 X-Barracuda-URL: https://192.48.157.11:443/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.26747 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (4): qa/1068: improve _notrun preliminary tests qa/802: fix missing valgrind candy qa/admin: script changes build/rpm/pcp.spec.in: rpm-build not available for SLES11 build/rpm/pcp.spec.in | 6 +++++- qa/1068 | 10 ++++++---- qa/802 | 18 ++++++++++++++++-- qa/802.out | 2 +- qa/admin/myconfigure | 4 ++-- qa/admin/pcp-daily | 24 +++++++++++++++++++----- 6 files changed, 49 insertions(+), 15 deletions(-) Details ... commit cca3338b5bac415ba733624971148fb4531a80ec Author: Ken McDonell Date: Fri Feb 5 07:08:57 2016 +1100 build/rpm/pcp.spec.in: rpm-build not available for SLES11 The rpmbuild executable is packaged in the rpm package for this platform, so make the BuildRequires conditional. commit e042eab730160e99398e06e826447c99ce107a66 Author: Ken McDonell Date: Thu Feb 4 06:39:25 2016 +1100 qa/admin: script changes myconfigure: need to build libpcp_pmda before newhelp pcp-daily: be more tolerant of scp failure after VM reboot and retry a few times (seen more than once on vm18) commit 8cc922a2dfa013c1dc4e33ac585a36c37137925e Author: Ken McDonell Date: Thu Feb 4 06:23:42 2016 +1100 qa/802: fix missing valgrind candy This test needs to run valgrind directly and we were not following the logic from the generic _run_valgrind() method and the suppressions files were not being included, leading to QA test failures that should not have been so. commit 54409393368c33540e387f53e84909708f981067 Author: Ken McDonell Date: Thu Feb 4 06:21:44 2016 +1100 qa/1068: improve _notrun preliminary tests This test is also exposed to the unavailabilty of the python OrderedDict module on some older platforms. From nscott@redhat.com Thu Feb 4 22:23:20 2016 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 BD8A67CA2 for ; Thu, 4 Feb 2016 22:23:20 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 41C6CAC001 for ; Thu, 4 Feb 2016 20:23:16 -0800 (PST) X-ASG-Debug-ID: 1454646188-04cb6c274630a40001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id 8tJWUY5WIVgJEymH (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 04 Feb 2016 20:23:09 -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 u154N8vS016984 for ; Thu, 4 Feb 2016 23:23:08 -0500 Date: Thu, 4 Feb 2016 23:23:08 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <695315670.18587058.1454646188364.JavaMail.zimbra@redhat.com> Subject: pcp updates: qa, pmrep MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: qa, pmrep Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.198] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: qa, pmrep Thread-Index: odSYQKdkqk920e1MANUReyzFyiKsig== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1454646189 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26760 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/nathans/pcp.git master Marko Myllynen (5): pmrep: fix extended header times with -O pmrep: properly handle end of time window pmrep: minor coding simplifications qa: short-term fix pmrep argument handling issue pmrep: fix samples in ext header Ken McDonell (4): qa/1068: improve _notrun preliminary tests qa/802: fix missing valgrind candy qa/admin: script changes build/rpm/pcp.spec.in: rpm-build not available for SLES11 Nathan Scott (1): qa: add an archive and producer for Markos planned testing build/rpm/pcp.spec.in | 6 +++ qa/1068 | 10 +++--- qa/1069 | 2 - qa/802 | 18 ++++++++++- qa/802.out | 2 - qa/admin/myconfigure | 4 +- qa/admin/pcp-daily | 24 ++++++++++++--- qa/archives/GNUmakefile | 2 - qa/archives/mk.rep.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ qa/archives/rep.0 |binary qa/archives/rep.index |binary qa/archives/rep.meta |binary src/pmrep/pmrep.py | 28 +++++++++--------- 13 files changed, 138 insertions(+), 31 deletions(-) commit c01ace37732fcc4e67345c9b30c355c7f945fe49 Author: Marko Myllynen Date: Fri Feb 5 14:42:39 2016 +1100 pmrep: fix samples in ext header commit d0b76409e298a5d3c2228cde67e965ded0d72669 Author: Marko Myllynen Date: Fri Feb 5 14:30:57 2016 +1100 qa: short-term fix pmrep argument handling issue This might have triggered false alarms around the current tests, the real fix is to do command line handling properly (todo list, first item). commit 61fd23681fb4a33251c1ad83a96a2d3ddf38a8ac Author: Marko Myllynen Date: Fri Feb 5 14:24:45 2016 +1100 pmrep: minor coding simplifications Logic tweak when reaching end of samples requested. Reorder the connect() method location so all pmrep methods are roughly in the order they are called or used. commit bd433c82444c12132fe2ec4c3a563a70d9f27b3d Author: Marko Myllynen Date: Fri Feb 5 14:23:38 2016 +1100 pmrep: properly handle end of time window With this we allow modules to flush also at the end of the time window. commit 367f74f857b605c8784057684a5c8fd54f0eebaa Author: Marko Myllynen Date: Fri Feb 5 14:03:43 2016 +1100 pmrep: fix extended header times with -O Caught when writing a csv/sheet2pcp/csv test case - should now be correct in all aspects (unrelated to the previous -z issues). commit 1f80408fd3f204c3121685614db45d1f7c33f6f9 Author: Nathan Scott Date: Fri Feb 5 13:59:30 2016 +1100 qa: add an archive and producer for Markos planned testing commit cca3338b5bac415ba733624971148fb4531a80ec Author: Ken McDonell Date: Fri Feb 5 07:08:57 2016 +1100 build/rpm/pcp.spec.in: rpm-build not available for SLES11 The rpmbuild executable is packaged in the rpm package for this platform, so make the BuildRequires conditional. commit e042eab730160e99398e06e826447c99ce107a66 Author: Ken McDonell Date: Thu Feb 4 06:39:25 2016 +1100 qa/admin: script changes myconfigure: need to build libpcp_pmda before newhelp pcp-daily: be more tolerant of scp failure after VM reboot and retry a few times (seen more than once on vm18) commit 8cc922a2dfa013c1dc4e33ac585a36c37137925e Author: Ken McDonell Date: Thu Feb 4 06:23:42 2016 +1100 qa/802: fix missing valgrind candy This test needs to run valgrind directly and we were not following the logic from the generic _run_valgrind() method and the suppressions files were not being included, leading to QA test failures that should not have been so. commit 54409393368c33540e387f53e84909708f981067 Author: Ken McDonell Date: Thu Feb 4 06:21:44 2016 +1100 qa/1068: improve _notrun preliminary tests This test is also exposed to the unavailabilty of the python OrderedDict module on some older platforms. From brolley@redhat.com Fri Feb 5 10:27:06 2016 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 358497CA2 for ; Fri, 5 Feb 2016 10:27:06 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 25E4B8F8049 for ; Fri, 5 Feb 2016 08:27:03 -0800 (PST) X-ASG-Debug-ID: 1454689621-04cbb04cf960070001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id fvysLJhUnMtr1Dgo (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 05 Feb 2016 08:27:02 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 879523BF52D for ; Fri, 5 Feb 2016 16:27:01 +0000 (UTC) Received: from [10.10.56.115] (vpn-56-115.rdu2.redhat.com [10.10.56.115]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u15GR0CM018794 for ; Fri, 5 Feb 2016 11:27:01 -0500 Message-ID: <56B4CDCE.3000104@redhat.com> Date: Fri, 05 Feb 2016 11:29:02 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: Marko pmrep; kenj qa; nathans qa Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: Marko pmrep; kenj qa; nathans qa 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: 1454689622 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Marko Myllynen (5): pmrep: fix extended header times with -O pmrep: properly handle end of time window pmrep: minor coding simplifications qa: short-term fix pmrep argument handling issue pmrep: fix samples in ext header Ken McDonell (4): qa/1068: improve _notrun preliminary tests qa/802: fix missing valgrind candy qa/admin: script changes build/rpm/pcp.spec.in: rpm-build not available for SLES11 Nathan Scott (1): qa: add an archive and producer for Markos planned testing build/rpm/pcp.spec.in | 6 +++ qa/1068 | 10 +++--- qa/1069 | 2 - qa/802 | 18 ++++++++++- qa/802.out | 2 - qa/admin/myconfigure | 4 +- qa/admin/pcp-daily | 24 ++++++++++++--- qa/archives/GNUmakefile | 2 - qa/archives/mk.rep.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ qa/archives/rep.0 |binary qa/archives/rep.index |binary qa/archives/rep.meta |binary src/pmrep/pmrep.py | 28 +++++++++--------- 13 files changed, 138 insertions(+), 31 deletions(-) From lberk@redhat.com Fri Feb 5 13:42:19 2016 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 5AE427CA2 for ; Fri, 5 Feb 2016 13:42:19 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4D9188F8049 for ; Fri, 5 Feb 2016 11:42:16 -0800 (PST) X-ASG-Debug-ID: 1454701331-04cbb04cfc67fa0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id GCZWfNXemWueXSUK (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 05 Feb 2016 11:42:12 -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 (Postfix) with ESMTPS id 606EABC6A1 for ; Fri, 5 Feb 2016 19:42:11 +0000 (UTC) Received: from toium (vpn-54-93.rdu2.redhat.com [10.10.54.93]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u15JgAYo016221 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 5 Feb 2016 14:42:11 -0500 From: Lukas Berk To: pcp@oss.sgi.com Subject: pcp updates: rpm packaging - red hat bz1304722 Date: Fri, 05 Feb 2016 14:42:10 -0500 X-ASG-Orig-Subj: pcp updates: rpm packaging - red hat bz1304722 Message-ID: <874mdnndv1.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: 1454701332 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Changes committed to git://git.pcp.io/lberk/pcp master Lukas Berk (2): Call Remove script when uninstalling single pmda's rpm packaging: tweak pmda_remove macro build/rpm/GNUmakefile | 1 build/rpm/fedora.spec | 185 +++++++++++++++++++++++++++++++++++++++++++++ build/rpm/pcp.spec.in | 203 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 385 insertions(+), 4 deletions(-) Details ... commit b384ce011813069a6168d1e05017fd0e9ff3acae Author: Lukas Berk Date: Fri Feb 5 14:33:58 2016 -0500 rpm packaging: tweak pmda_remove macro the second 'cd' invocation wasn't needed however, was hiding the errornous return value from the Remove invocation in cases where the pmda had not been installed (and not created a domain.h file, which pmdaSetup failed on, we now check for this file), as well as cases after the main pcp package (containing pmcd and its config files) had been removed. commit 258368d3bcc4354fba6b0d70316979b9b9558c73 Author: Lukas Berk Date: Thu Feb 4 21:09:31 2016 -0500 Call Remove script when uninstalling single pmda's With the current sub-rpm per pmda setup. When an enabled pmda is removed via rpm -e, pmcd.conf still contains the pmda line, and will attempt (and fail) to restart the pmda on a pmcd restart. Thus, adding a global pmda_remove macro to run the Remove script of a pmda sub-rpm as it's erased. RedHat BZ1304722 From noreply@github.com Fri Feb 5 18:34:30 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 BC3A07CA2 for ; Fri, 5 Feb 2016 18:34:30 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9B7C18F804B for ; Fri, 5 Feb 2016 16:34:30 -0800 (PST) X-ASG-Debug-ID: 1454718863-04cb6c274461cf0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id 3fh3UehQUnmB9IVx (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 05 Feb 2016 16:34:24 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aRqpH-0005dG-M7 for ; Sat, 06 Feb 2016 11:34:22 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Fri, 05 Feb 2016 16:34:04 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1454718844; bh=ZWR8IJPOO3ac0dVNNBWdzB/gZf49S0LZOEMkehJY+hU=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=HRcL2UUFn7GSIIb7NxB4yRxOvOHfc8IyLgpXa3TaTZuDYK20NZNHc2HZyBFSjxbLb jqXiydv27ydkMODjwOVwKF9a5J+ARyR2sGUGpAHIHapTLr8H4dL7mmnKOONNCzSDq+ NQ/q7iWwmekWfjwEBhCJH06R5KNS299MKpsZOj3o= From: Rares Vernica Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] Fix wrong pointer to pmDesc Example for mmv_metric_t (#65) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] Fix wrong pointer to pmDesc Example for mmv_metric_t (#65) Content-Type: multipart/alternative; boundary="--==_mimepart_56b53f7c44bef_13303ffd439292a05277d1"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rvernica X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1454718864 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26787 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56b53f7c44bef_13303ffd439292a05277d1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable In pcp-programmers-guide Section 4.4.1, the old version said: > mmv_metric_t maps to a pmDesc structure, as in Example 2.7, =E2=80=9Cpm= daInstid Structure=E2=80=9D With this fix, it should say: > mmv_metric_t maps to a pmDesc structure, as in Example 3.2. pmDesc Stru= cture You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/65 -- Commit Summary -- * Fix wrong pointer to pmDesc Example for mmv_metric_t -- File Changes -- M books/PCP_PG/pcp-programmers-guide.xml (2) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/65.patch https://github.com/performancecopilot/pcp/pull/65.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/65 ----==_mimepart_56b53f7c44bef_13303ffd439292a05277d1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

In pcp-programmers-guide Section 4.4.1, the old version said:

mmv_metric_t maps to a pmDesc structure, as in Example 2.7, =E2=80=9Cp= mdaInstid Structure=E2=80=9D

With this fix, it should say:

mmv_metric_t maps to a pmDesc structure, as in Example 3.2. pmDesc Str= ucture


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/65

Commit Summary

  • Fix wrong pointer to pmDesc Example for mmv_metric_t

File Changes

Patch Links:

&m= dash;
Reply to this email directly or view it on GitHub.3D""

----==_mimepart_56b53f7c44bef_13303ffd439292a05277d1-- From noreply@github.com Sat Feb 6 00:00:32 2016 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.6 required=5.0 tests=HTML_IMAGE_ONLY_08, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 051AB7CA2 for ; Sat, 6 Feb 2016 00:00:32 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id BE781304043 for ; Fri, 5 Feb 2016 22:00:28 -0800 (PST) X-ASG-Debug-ID: 1454738416-04bdf079c17c8a0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id fpWTWRTiUQt1GA5A (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 05 Feb 2016 22:00:17 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext6.iad.github.net ([192.30.252.197] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aRvue-0005ws-JZ for ; Sat, 06 Feb 2016 17:00:15 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.197 X-Barracuda-RBL-IP: 192.30.252.197 X-Barracuda-BBL-IP: 192.30.252.197 Date: Fri, 05 Feb 2016 21:59:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1454738396; bh=MXYJnRxv/I/Nh6OInsf0npftDubVfs5MYyksclMtjRE=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=jSGE5HofigS2bULLyM9pYkIDkFKZJnpMb4Efer+uB/pPpQe2cLFbTwxmO1RSJmlWT zCqYkKOd2swTfcPeOWXQSgSSZHfdR1QihyGQAkVqd8EFvwKFSoSY9/q8ZK11ysr41d RIiTrb+MNDcgfh0RGDX+gYPAcrOZe9rJld9eClHE= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Fix wrong pointer to pmDesc Example for mmv_metric_t (#65) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Fix wrong pointer to pmDesc Example for mmv_metric_t (#65) Content-Type: multipart/alternative; boundary="--==_mimepart_56b58bdc4bb25_44c93ff9245072bc279523"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1454738416 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 1.78 X-Barracuda-Spam-Status: No, SCORE=1.78 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_08, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26795 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.78 HTML_IMAGE_ONLY_08 BODY: HTML: images with 400-800 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56b58bdc4bb25_44c93ff9245072bc279523 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Pulled into my tree, thanks Rares. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/65#issuecomment-180698038 ----==_mimepart_56b58bdc4bb25_44c93ff9245072bc279523 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Pulled into my tree, thanks Rares.


Reply to this email directly or view it on GitHub.

----==_mimepart_56b58bdc4bb25_44c93ff9245072bc279523-- From kenj@kenj.com.au Sat Feb 6 00:03:08 2016 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 2B9BB7CA4 for ; Sat, 6 Feb 2016 00:03:08 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1CEA98F804B for ; Fri, 5 Feb 2016 22:03:04 -0800 (PST) X-ASG-Debug-ID: 1454738573-04cb6c274777ca0001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id i4tdaozhHaklI5H2 for ; Fri, 05 Feb 2016 22:02:54 -0800 (PST) X-Barracuda-Envelope-From: kenj@kenj.com.au X-Barracuda-Apparent-Source-IP: 150.101.137.131 Received: from ppp118-209-120-91.lns20.mel4.internode.on.net (HELO kenj) ([118.209.120.91]) by ipmail07.adl2.internode.on.net with ESMTP; 06 Feb 2016 16:32:53 +1030 Received: by kenj (Postfix, from userid 1000) id 2D9F7A06AD; Sat, 6 Feb 2016 17:02:31 +1100 (AEDT) To: pcp@oss.sgi.com Subject: pcp updates: book patch from Rares Message-Id: <20160206060231.2D9F7A06AD@kenj> X-ASG-Orig-Subj: pcp updates: book patch from Rares Date: Sat, 6 Feb 2016 17:02:31 +1100 (AEDT) From: kenj@kenj.com.au (Ken McDonell) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1454738573 X-Barracuda-URL: https://192.48.176.15:443/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.26795 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Rares Vernica (cessna) (1): pcp-programmers-guide.xml: fix wrong pointer to pmDesc Example for mmv_metric_t books/PCP_PG/pcp-programmers-guide.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Details ... commit 1da43a7a4a34f2f5d40ed5e937583cd6df9b59e2 Author: Rares Vernica (cessna) Date: Fri Feb 5 16:30:00 2016 -0800 pcp-programmers-guide.xml: fix wrong pointer to pmDesc Example for mmv_metric_t From mgoodwin@redhat.com Sun Feb 7 22:28:24 2016 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 5A5417CAA for ; Sun, 7 Feb 2016 22:28:24 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4A190304039 for ; Sun, 7 Feb 2016 20:28:21 -0800 (PST) X-ASG-Debug-ID: 1454905699-04cbb04cfb13d220001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id wJ6fjKl1DZUvMJl2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 07 Feb 2016 20:28:20 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id BEAAC461C7 for ; Mon, 8 Feb 2016 04:28:19 +0000 (UTC) Received: from [10.64.51.246] (vpn1-51-246.bne.redhat.com [10.64.51.246]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u184SIdu005497 for ; Sun, 7 Feb 2016 23:28:19 -0500 To: pcp From: Mark Goodwin Subject: patch/RFC - pmrep: handling broken pipe and Exception Ignored errors Message-ID: <56B81961.1060107@redhat.com> X-ASG-Orig-Subj: patch/RFC - pmrep: handling broken pipe and Exception Ignored errors Date: Mon, 8 Feb 2016 15:28:17 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060308060302040002080003" 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: 1454905700 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a multi-part message in MIME format. --------------060308060302040002080003 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit A pmrep issue that has been perlexing a few of us where we get unwanted errors on exit when pmrep is piped into e.g. head, as follows : $ python3 src/pmrep/pmrep.py -a qa/archives/20130706 -o csv -u -S @10:00 kernel.all.sysfork | head -2 Time,kernel.all.sysfork 2013-07-06 17:43:43,16953707 [Errno 32] Broken pipe Exception ignored in: <_io.TextIOWrapper name='' mode='w' encoding='UTF-8'> BrokenPipeError: [Errno 32] Broken pipe 'head' exits before our python app and so we get a SIGPIPE. Ignoring SIGPIPE seems to work on python2.x, but in python3 we _also_ get the ugly 'Exception ignored' errors. Turns out it's a known issue in python3 where the destructor is called for stdout and/or stderr whilst there is unflushed i/o, and it complains. For details see the discussion at http://stackoverflow.com/questions/16314321/suppressing-printout-of-exception-ignored-message-in-python-3 and elsewhere. The attached patch adds exception handlers in pmrep's finalize() to flush and close stdout and stderr before exiting, thus avoiding the errors from the destructor. This also seems to remove the need to ignore SIGPIPE. Comments/review welcome, thanks. --------------060308060302040002080003 Content-Type: text/x-patch; name="pmrep_broken_pipe.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pmrep_broken_pipe.patch" diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index 887a754..f54deeb 100755 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -1337,13 +1337,25 @@ class PMReporter(object): self.zabbix_prevsend = ts def finalize(self): - """ Finalize and clean up """ - if self.writer: - self.writer.flush() - self.writer = None - if self.pmi: - self.pmi.pmiEnd() - self.pmi = None + try: + """ Finalize and clean up """ + if self.writer: + self.writer.flush() + self.writer = None + if self.pmi: + self.pmi.pmiEnd() + self.pmi = None + finally: + try: + sys.stdout.flush() + finally: + try: + sys.stdout.close() + finally: + try: + sys.stderr.flush() + finally: + sys.stderr.close() if __name__ == '__main__': try: --------------060308060302040002080003-- From nscott@redhat.com Sun Feb 7 23:39:14 2016 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 D3BE77CA2 for ; Sun, 7 Feb 2016 23:39:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B0043304043 for ; Sun, 7 Feb 2016 21:39:11 -0800 (PST) X-ASG-Debug-ID: 1454909945-04bdf079c111fda0001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id bYyHbeO7eVqkL0u3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 07 Feb 2016 21:39:05 -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 u185d5i1028109; Mon, 8 Feb 2016 00:39:05 -0500 Date: Mon, 8 Feb 2016 00:39:05 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <2118214472.19115278.1454909945154.JavaMail.zimbra@redhat.com> In-Reply-To: <56AF6E49.1040404@redhat.com> References: <56AF6E49.1040404@redhat.com> Subject: Re: [pcp] pmrep: fix timezone handling/reporting MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmrep: fix timezone handling/reporting Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.213] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmrep: fix timezone handling/reporting Thread-Index: qhuXwcbeYvSX7bfDakj9SCA80PFXBA== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1454909945 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26848 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi Marko, ----- Original Message ----- > Hi, > > I think this works in every case without even hitting the previously > reported issues (no workarounds required for that). Since this is not > the first attempt on this front I'm not updating QA myself, hoping > to get a review for this before QA test data update. > It looks like we're dealing with the PMAPI notion of the timezone not being in sync with what some python modules think the tz is? The way the pm*Zone works is setting $TZ under the covers (see pmUseZone code in libpcp). As discussed in that other thread, we've managed to avoid some helper routines in pmrep (pmGetContextOptions in particular) which might've made some of this easier, not sure (if we are really out of sync, we will not be helped by that I guess). So if we cannot use the helper APIs then this patch looks OK to me. cheers. -- Nathan From myllynen@redhat.com Sun Feb 7 23:53:11 2016 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 AC7047CA2 for ; Sun, 7 Feb 2016 23:53:11 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2B417AC001 for ; Sun, 7 Feb 2016 21:53:10 -0800 (PST) X-ASG-Debug-ID: 1454910784-04cb6c27471594b0001-S8gJnT Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by cuda.sgi.com with ESMTP id rBs22kkbgdRkc23U (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 07 Feb 2016 21:53:05 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.49 Received: by mail-wm0-f49.google.com with SMTP id p63so100541931wmp.1 for ; Sun, 07 Feb 2016 21:53:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=HLds84E6bLbiO/Q3UHszxj5Ity8q+JXOAawD7O5Oo7M=; b=D+7f5i0SvJPD+LeN+og8mS+u0xHN16vSS8yZUhFRgxkHmYyrGcDInc1LXfCFKnyUrK /LEtJa5ghKdhR6SmMV4hPHdN03VJyIqJbOHnAvOxMupWolNBuBvLurgh6KS2iXH5mA1O QasO0nEVK3gpw8VesVC9l7d8vWrYY/vbVxb2l8c1eMXfBYl0BtIO7yFhxXjQ/HsgKRxY 5EokQ2BsDEbVeZ0jku65faCUM1hvf6TMM0QzYeI3QG6myCnrMEipJ4mnCwbFptfrVy2G Kp9ppQTaKMu5hxLTTf+RxZlra03wumG7il5mMi5ddYk8gxSjgF2Xf/ImUr6mLt4E+IxJ Vo8A== X-Gm-Message-State: AG10YOStz3OQsta7CKVxfuiwXWlHAZpxQ2ZtBr6t4oSflwdb+wAtFAzFBO4WfDT/bHsKEoWk X-Received: by 10.194.21.135 with SMTP id v7mr25531215wje.131.1454910784289; Sun, 07 Feb 2016 21:53:04 -0800 (PST) Received: from ?IPv6:2001:14bb:170:44ee:402:1fcc:a508:2? (dyg4fl7tfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:170:44ee:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id v22sm10837210wmv.12.2016.02.07.21.53.02 for (version=TLSv1/SSLv3 cipher=OTHER); Sun, 07 Feb 2016 21:53:03 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] patch/RFC - pmrep: handling broken pipe and Exception Ignored errors References: <56B81961.1060107@redhat.com> X-ASG-Orig-Subj: Re: [pcp] patch/RFC - pmrep: handling broken pipe and Exception Ignored errors To: pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56B82D3C.80500@redhat.com> Date: Mon, 8 Feb 2016 07:53:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56B81961.1060107@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f49.google.com[74.125.82.49] X-Barracuda-Start-Time: 1454910785 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.26848 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi Mark, On 2016-02-08 06:28, Mark Goodwin wrote: > A pmrep issue that has been perlexing a few of us where we get unwanted > errors on exit > when pmrep is piped into e.g. head, as follows : > > $ python3 src/pmrep/pmrep.py -a qa/archives/20130706 -o csv -u -S @10:00 > kernel.all.sysfork | head -2 > Time,kernel.all.sysfork > 2013-07-06 17:43:43,16953707 > [Errno 32] Broken pipe > Exception ignored in: <_io.TextIOWrapper name='' mode='w' > encoding='UTF-8'> > BrokenPipeError: [Errno 32] Broken pipe > > 'head' exits before our python app and so we get a SIGPIPE. Ignoring > SIGPIPE seems to > work on python2.x, but in python3 we _also_ get the ugly 'Exception > ignored' errors. > > Turns out it's a known issue in python3 where the destructor is called > for stdout and/or > stderr whilst there is unflushed i/o, and it complains. For details see > the discussion at > http://stackoverflow.com/questions/16314321/suppressing-printout-of-exception-ignored-message-in-python-3 > > and elsewhere. > > The attached patch adds exception handlers in pmrep's finalize() to > flush and close > stdout and stderr before exiting, thus avoiding the errors from the > destructor. > This also seems to remove the need to ignore SIGPIPE. > > Comments/review welcome, thanks. Thanks for looking into this. The error is now gone but I we still get exit status 1 - if you remove e.g. the -o csv parameter then exit status is 0. Is that something that could be addressed as well? (On the cosmetic side, the comment should be before try: to keep pylint happy.) Thanks, -- Marko Myllynen From nscott@redhat.com Mon Feb 8 00:05:33 2016 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 D2CA67CA2 for ; Mon, 8 Feb 2016 00:05:33 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 65315AC001 for ; Sun, 7 Feb 2016 22:05:30 -0800 (PST) X-ASG-Debug-ID: 1454911527-04cb6c2747159b00001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id xF0CzQsBPxyh9UWj (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 07 Feb 2016 22:05: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 u1865CEJ010008; Mon, 8 Feb 2016 01:05:12 -0500 Date: Mon, 8 Feb 2016 01:05:11 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell Cc: pcp@oss.sgi.com Message-ID: <1451243192.19119802.1454911511966.JavaMail.zimbra@redhat.com> In-Reply-To: <56AF1AAA.1040700@internode.on.net> References: <56AF1AAA.1040700@internode.on.net> Subject: Re: [pcp] QA Status MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] QA Status Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.213] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: QA Status Thread-Index: 7Acs7+zEpKr5u0sI/IDLdTzG0GAKfg== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1454911527 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26848 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 ----- Original Message ----- > [expect these on a weekly basis from now on ...] > Great, thanks Ken! > === Synopsis === > > QA Status from Ken McDonell's QA Farm in Melbourne > > Summary: 23391 run, 51 failed (0.22%) > > Tests that failed on at least 9% of the QA hosts ... > > QA Test Failures Failure Signatures (number of different failure patterns) > 878 9 5 2 1 1 > 956 4 4 > These tests are both optimistic (esp 878) about how quickly things will run - they always pass for me on bare metal. I'll dig deeper this week though. cheers. -- Nathan From nscott@redhat.com Mon Feb 8 00:14:24 2016 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 1EA667CA2 for ; Mon, 8 Feb 2016 00:14:24 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0B2A08F8033 for ; Sun, 7 Feb 2016 22:14:21 -0800 (PST) X-ASG-Debug-ID: 1454912056-04cb6c274615a110001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id PDgWzZ1OBqgGMqrs (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 07 Feb 2016 22:14:17 -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 u186EGUG022657 for ; Mon, 8 Feb 2016 01:14:16 -0500 Date: Mon, 8 Feb 2016 01:14:16 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp developers Message-ID: <1863887692.19120970.1454912056072.JavaMail.zimbra@redhat.com> Subject: pcp updates: qa, spec MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: qa, spec Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.213] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: qa, spec Thread-Index: Cx1OINjhs+csH+n0TZaPdlfid4fDcQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1454912057 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26848 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 master Lukas Berk (3): Call Remove script when uninstalling single pmda's rpm packaging: tweak pmda_remove macro fedora.spec: add disable_perfevent check to preun trigger Nathan Scott (2): qa: fix 348 to handle new kvm.halt_attempted_poll metric qa: tweak 778 (postgres) reporting of tmp.nomatch, may not exist build/rpm/GNUmakefile | 1 build/rpm/fedora.spec | 187 +++++++++++++++++++++++++++++++++++++++++++++- build/rpm/pcp.spec.in | 203 +++++++++++++++++++++++++++++++++++++++++++++++++- qa/348 | 4 qa/778 | 2 5 files changed, 391 insertions(+), 6 deletions(-) commit a076c50634a856421c4cfb0f385e5df4135ccc95 Author: Nathan Scott Date: Mon Feb 8 17:11:46 2016 +1100 qa: tweak 778 (postgres) reporting of tmp.nomatch, may not exist commit cac7bd8138fc497179e614a3d666e8db6aa190e7 Author: Nathan Scott Date: Mon Feb 8 13:42:32 2016 +1100 qa: fix 348 to handle new kvm.halt_attempted_poll metric Also make sure pmdakvm is installed before running the test. commit ce4b7308dad727641d3d18c941ddd9cdac69e927 Author: Lukas Berk Date: Fri Feb 5 16:21:03 2016 -0500 fedora.spec: add disable_perfevent check to preun trigger Only include the %preun pmda-perfevent trigger if that component is enabled commit b384ce011813069a6168d1e05017fd0e9ff3acae Author: Lukas Berk Date: Fri Feb 5 14:33:58 2016 -0500 rpm packaging: tweak pmda_remove macro the second 'cd' invocation wasn't needed however, was hiding the errornous return value from the Remove invocation in cases where the pmda had not been installed (and not created a domain.h file, which pmdaSetup failed on, we now check for this file), as well as cases after the main pcp package (containing pmcd and its config files) had been removed. commit 258368d3bcc4354fba6b0d70316979b9b9558c73 Author: Lukas Berk Date: Thu Feb 4 21:09:31 2016 -0500 Call Remove script when uninstalling single pmda's With the current sub-rpm per pmda setup. When an enabled pmda is removed via rpm -e, pmcd.conf still contains the pmda line, and will attempt (and fail) to restart the pmda on a pmcd restart. Thus, adding a global pmda_remove macro to run the Remove script of a pmda sub-rpm as it's erased. RedHat BZ1304722 From mgoodwin@redhat.com Mon Feb 8 00:32:14 2016 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 BAE667CA2 for ; Mon, 8 Feb 2016 00:32:14 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id B67978F8033 for ; Sun, 7 Feb 2016 22:32:14 -0800 (PST) X-ASG-Debug-ID: 1454913133-04cb6c274615af00001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EXZAFVUQTOmkqJju (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 07 Feb 2016 22:32:13 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id F1577804F1 for ; Mon, 8 Feb 2016 06:32:12 +0000 (UTC) Received: from [10.64.51.246] (vpn1-51-246.bne.redhat.com [10.64.51.246]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u186WBKC025300; Mon, 8 Feb 2016 01:32:11 -0500 Subject: Re: [pcp] patch/RFC - pmrep: handling broken pipe and Exception Ignored errors To: Marko Myllynen , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] patch/RFC - pmrep: handling broken pipe and Exception Ignored errors References: <56B81961.1060107@redhat.com> <56B82D3C.80500@redhat.com> From: Mark Goodwin Message-ID: <56B83668.7050002@redhat.com> Date: Mon, 8 Feb 2016 17:32:08 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56B82D3C.80500@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed 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: 1454913133 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/08/2016 04:53 PM, Marko Myllynen wrote: > Hi Mark, > > On 2016-02-08 06:28, Mark Goodwin wrote: >> A pmrep issue that has been perlexing a few of us where we get unwanted >> errors on exit >> when pmrep is piped into e.g. head, as follows : >> >> $ python3 src/pmrep/pmrep.py -a qa/archives/20130706 -o csv -u -S @10:00 >> kernel.all.sysfork | head -2 >> Time,kernel.all.sysfork >> 2013-07-06 17:43:43,16953707 >> [Errno 32] Broken pipe >> Exception ignored in: <_io.TextIOWrapper name='' mode='w' >> encoding='UTF-8'> >> BrokenPipeError: [Errno 32] Broken pipe >> >> 'head' exits before our python app and so we get a SIGPIPE. Ignoring >> SIGPIPE seems to >> work on python2.x, but in python3 we _also_ get the ugly 'Exception >> ignored' errors. >> >> Turns out it's a known issue in python3 where the destructor is called >> for stdout and/or >> stderr whilst there is unflushed i/o, and it complains. For details see >> the discussion at >> http://stackoverflow.com/questions/16314321/suppressing-printout-of-exception-ignored-message-in-python-3 >> >> and elsewhere. >> >> The attached patch adds exception handlers in pmrep's finalize() to >> flush and close >> stdout and stderr before exiting, thus avoiding the errors from the >> destructor. >> This also seems to remove the need to ignore SIGPIPE. >> >> Comments/review welcome, thanks. > > Thanks for looking into this. The error is now gone but I we still get > exit status 1 - if you remove e.g. the -o csv parameter then exit status > is 0. Is that something that could be addressed as well? hmm, I'm getting exit 0 whether or not I have -o csv. Perhaps maybe finalize() should flush and close that fd too (if it's open). > > (On the cosmetic side, the comment should be before try: to keep pylint > happy.) ok I'll move the comment. I also noticed I still need to ignore SIGPIPE on python2, so I'll add this patchlet in the global code near the top (works for python3 too) : +import signal +signal.signal(signal.SIGPIPE, signal.SIG_DFL) + And I'll add a QA test for this. cheers From myllynen@redhat.com Mon Feb 8 08:43:47 2016 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 B9B5029DF5 for ; Mon, 8 Feb 2016 08:43:47 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4C637AC001 for ; Mon, 8 Feb 2016 06:43:44 -0800 (PST) X-ASG-Debug-ID: 1454942618-04cbb04cf9163240001-S8gJnT Received: from mail-wm0-f51.google.com (mail-wm0-f51.google.com [74.125.82.51]) by cuda.sgi.com with ESMTP id N7u0ZGY6ZuOL5Upu (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 08 Feb 2016 06:43:39 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.51 Received: by mail-wm0-f51.google.com with SMTP id 128so157941313wmz.1 for ; Mon, 08 Feb 2016 06:43:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=eRdZp7H/XGtmdlU99R8dna+OCcG0G9F/BLDLnxJHoKI=; b=Apjmg0/owXNz3CPYwdbesqwKVZZVoNmfu47TV0I5fytmRWL5qOoanisi0QC5si2HXg 4Uff793gC8cOEcC9HpC9azphbb8phCPV9S97ayx/ouCvvAqB8Vl5/BcLrtzMYKv6ewkW tiqSZKfuMBRLX2tQiSDht2a8irEh1V5uNh98NVysKR08U/J67X2LYYIsK+u3PUGfPRAX zV2oe1aBmxVDF4HNaOonu1VweOEaBJuKBy7v/P4TApOZ1CTsQl3OVP8vxw7ucLwac6K0 MaUbYtkUO5z69b373zsOLVgWULussejG1syXJAROZpLreu9NMsoQ8koCrZRh9sUk8U91 JlPA== X-Gm-Message-State: AG10YOTICxA3qIMtjQAJ/1WjZ8eI1WCAH45gEB59sAcfA6wlK8r20UzKNZd9cxCkdhN/RMwu X-Received: by 10.28.57.131 with SMTP id g125mr29375228wma.17.1454942618545; Mon, 08 Feb 2016 06:43:38 -0800 (PST) Received: from ?IPv6:2001:14bb:110:1add:402:1fcc:a508:2? (dyfkb13kfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:110:1add:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id js8sm30015661wjc.37.2016.02.08.06.43.37 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 08 Feb 2016 06:43:37 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] pmrep: fix timezone handling/reporting References: <56AF6E49.1040404@redhat.com> <2118214472.19115278.1454909945154.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] pmrep: fix timezone handling/reporting To: Nathan Scott Cc: pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56B8A997.6070903@redhat.com> Date: Mon, 8 Feb 2016 16:43:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <2118214472.19115278.1454909945154.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f51.google.com[74.125.82.51] X-Barracuda-Start-Time: 1454942619 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26857 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-08 07:39, Nathan Scott wrote: > ----- Original Message ----- >> >> I think this works in every case without even hitting the previously >> reported issues (no workarounds required for that). Since this is not >> the first attempt on this front I'm not updating QA myself, hoping >> to get a review for this before QA test data update. > > It looks like we're dealing with the PMAPI notion of the timezone not > being in sync with what some python modules think the tz is? The way > the pm*Zone works is setting $TZ under the covers (see pmUseZone code > in libpcp). This might well be the case, I suspect this area hasn't been heavily tested earlier. > As discussed in that other thread, we've managed to avoid some helper > routines in pmrep (pmGetContextOptions in particular) which might've > made some of this easier, not sure (if we are really out of sync, we > will not be helped by that I guess). One reason why we've avoided using pmGetContextOptions in pmrep is that it's not available via the Python PMAPI :-) > So if we cannot use the helper APIs then this patch looks OK to me. Perhaps we could start with this then to get the situation under control and later on consider pmGetContextOptions if it becomes available and makes the code easier to read? Thanks, -- Marko Myllynen From brolley@redhat.com Mon Feb 8 10:16:54 2016 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 2C44029DF5 for ; Mon, 8 Feb 2016 10:16:54 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id B0AEFAC001 for ; Mon, 8 Feb 2016 08:16:50 -0800 (PST) X-ASG-Debug-ID: 1454948206-04cb6c2747182ae0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id HgoDtPw7hmuGACMN (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 08 Feb 2016 08:16:46 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id E6A8EC0A9CC0 for ; Mon, 8 Feb 2016 16:16:45 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u18GGj6c003345 for ; Mon, 8 Feb 2016 11:16:45 -0500 Message-ID: <56B8BFE8.3090909@redhat.com> Date: Mon, 08 Feb 2016 11:18:48 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: Vernica books, kenj qa and pmns Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: Vernica books, kenj qa and pmns Content-Transfer-Encoding: 7bit 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: 1454948206 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Ken McDonell (3): src/libpcp/src/pmns.c: fix corner case in load pmns qa/772: small changes after recent libpcp changes for loading PMNS qa/1069: filter out local timezone Rares Vernica (cessna) (1): pcp-programmers-guide.xml: fix wrong pointer to pmDesc Example for mmv_metric_t books/PCP_PG/pcp-programmers-guide.xml | 2 +- qa/1069 | 13 ++++++++++++- qa/1069.out | 2 +- qa/772 | 21 +++++++++++++++++++++ qa/772.out | 6 +++++- src/libpcp/src/pmns.c | 5 ++++- 6 files changed, 44 insertions(+), 5 deletions(-) From kenj@internode.on.net Mon Feb 8 13:59:39 2016 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 BE3A47CA2 for ; Mon, 8 Feb 2016 13:59:39 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3E69DAC004 for ; Mon, 8 Feb 2016 11:59:39 -0800 (PST) X-ASG-Debug-ID: 1454961572-04cbb04cf9174120001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id KF3EYLktMOi81QyD for ; Mon, 08 Feb 2016 11:59:33 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DiAQAB87hWPFBJ0XYNUYtcgXizAogKAQEBAQEBBwEBAQFBhSpVNgIFFgsCCwMCAQIBMScIAQG2N2ePDnuMIoFGgxiBOgWHUIcGiB+PK40YhW6IUIRaiSkBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 09 Feb 2016 06:29:32 +1030 To: pcp@oss.sgi.com Subject: QA Status Update From: Ken McDonell X-ASG-Orig-Subj: QA Status Update Message-ID: <56B8F3A3.5050303@internode.on.net> Date: Tue, 9 Feb 2016 06:59:31 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454961572 X-Barracuda-URL: https://192.48.176.25:443/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.26864 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Details for the most commonly failing tests are available from ftp://oss.sgi.com/projects/pcp/download/qa-status/ === Synopsis === QA Status from Ken McDonell's QA Farm in Melbourne Summary: 23344 run, 31 failed (0.13%) QA Test Fail Failure Signatures (number of different failure patterns) 878 10 6 2 2 802 5 5 ^ ^ | | | +-- A B C ... means one failure signature occurred A times, | another occurred B times, a third occurred C times, ... +-- total number of failures for this test, equals A+B+C+... Each tarball in this directory contains .out, .out.bad and possibly .full files for all failing test cases where a test failed on at least 9% of the QA hosts. The latest tarball is 20160209.tgz. ==== QA Summary ==== Date Run Pass Fail Nrun Host 2016-02-07 800 800 0 86|bo|bozo PCP 3.11.0 x86_64 Ubuntu 15.10 2016-02-05 781 779 2 105|bl|bozo-laptop PCP 3.11.0 i686 LinuxMint 15 2016-02-09 789 788 1 97|bv|bozo-vm PCP 3.11.0 x86_64 Debian 8.2 Daily runs, but no QA |fu|fuji PCP 3.10.9 i386 Darwin 10.8.0 2016-02-05 689 689 0 154|gr|grundy PCP 3.11.0 ia64 SUSE SLES11 SP1 2016-02-05 804 803 1 82|00|vm00 PCP 3.11.0 x86_64 Ubuntu 12.04 2016-02-05 810 810 0 76|01|vm01 PCP 3.11.0 i686 Ubuntu 15.10 2016-02-05 788 786 2 98|02|vm02 PCP 3.11.0 i686 openSUSE 13.2 2016-02-06 830 830 0 56|03|vm03 PCP 3.11.0 x86_64 Fedora 21 2016-02-06 722 721 1 164|04|vm04 PCP 3.11.0 i586 CentOS 5.11 2016-02-06 786 784 2 100|05|vm05 PCP 3.11.0 x86_64 Gentoo 2.2 2016-02-06 60 60 0 4|06|vm06 PCP 3.11.0 amd64 FreeBSD 10.2-RELEASE 2016-02-06 788 786 2 98|07|vm07 PCP 3.11.0 x86_64 Debian 6.0.10 2016-02-08 829 829 0 57|08|vm08 PCP 3.11.0 x86_64 CentOS Linux7.1.1503 2016-02-08 60 59 1 4|09|vm09 PCP 3.11.0 i386 NetBSD 6.1.5 2016-02-06 60 60 0 4|10|vm10 PCP 3.11.0 i386 FreeBSD 9.3-RELEASE-p30 2016-02-06 789 785 4 97|11|vm11 PCP 3.11.0 i686 Debian 6.0.10 2016-02-06 827 827 0 59|12|vm12 PCP 3.11.0 i686 Fedora 22 2016-02-07 823 821 2 63|14|vm14 PCP 3.11.0 x86_64 CentOS6.7 No daily runs |15|vm15 PCP 3.9.1 x86_64 Slackware 13.37.0 2016-02-09 764 761 3 0|18|vm18 PCP 3.11.0 x86_64 LinuxMint 17.3 2016-02-07 797 796 1 89|19|vm19 PCP 3.11.0 x86_64 openSUSE 12.2 2016-02-07 800 800 0 86|20|vm20 PCP 3.11.0 x86_64 Ubuntu 13.04 2016-02-07 802 801 1 84|21|vm21 PCP 3.11.0 i686 Debian 7.9 2016-02-07 826 825 1 60|22|vm22 PCP 3.11.0 x86_64 Fedora 19 2016-02-08 826 825 1 60|23|vm23 PCP 3.11.0 i686 Fedora 20 2016-02-08 821 819 2 65|24|vm24 PCP 3.11.0 i686 openSUSE 13.1 2016-02-08 718 716 2 168|25|vm25 PCP 3.11.0 x86_64 CentOS 5.11 2016-02-06 829 828 1 57|26|vm26 PCP 3.11.0 x86_64 Fedora 21 2016-02-07 816 816 0 70|27|vm27 PCP 3.11.0 x86_64 Ubuntu 15.04 2016-02-08 824 824 0 62|28|vm28 PCP 3.11.0 x86_64 RHEL Server 6.7 2016-02-07 831 831 0 55|29|vm29 PCP 3.11.0 x86_64 RHEL Server 7.1 2016-02-08 827 827 0 59|30|vm30 PCP 3.11.0 x86_64 SUSE SLES12 SP0 2016-02-09 828 827 1 58|31|vm31 PCP 3.11.0 x86_64 Fedora 23 Summary: 23344 run, 31 failed (0.13%) ==== QA Failure (X) Map ==== Host bl bv 00 02 04 05 07 09 11 14 18 19 21 22 23 24 25 26 31 Test %fail Test QA groups 878 31% X X X X X X X X X X 878 pmda.pipe 802 16% X X X X X 802 pmda valgrind dbpmda 823 6% X X 823 pmda.sample pmstore secure 983 6% X X 983 pmie 1069 6% X X 1069 pmrep python 241 3% X 241 pmda.mmv pmval perl 340 3% X 340 pmcd 574 3% X 574 libpcp pmns compat 654 3% X 654 pmda.gfs2 655 3% X 655 pmda.gfs2 666 3% X 666 pmmgr slow 731 3% X 731 pmda.proc cgroups valgrind 832 3% X 832 pmda.sample pmstore secure 892 3% X 892 pmcd libpcp 957 3% X 957 pmda.linux valgrind Host bl bv 00 02 04 05 07 09 11 14 18 19 21 22 23 24 25 26 31 From kenj@internode.on.net Mon Feb 8 14:13:18 2016 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 91DBF7CA2 for ; Mon, 8 Feb 2016 14:13:18 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 795308F8035 for ; Mon, 8 Feb 2016 12:13:15 -0800 (PST) X-ASG-Debug-ID: 1454962388-04bdf079c5157350001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id gU2oFHtdQob4GKCn for ; Mon, 08 Feb 2016 12:13:08 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DkAQCO9rhWPFBJ0XYNUYQMbYZjgXizAhmHcQEBAQEBAQcBAQEBQYUqVTAGAgUWCwILAwIBAgExJwYCAQG2NmePD3uNYQEBaYI0gToFlnWFTJZ3jj6CZRmBXFaHI4EwAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 09 Feb 2016 06:42:35 +1030 To: pcp@oss.sgi.com Subject: pcp updates: qa+libpcp From: Ken McDonell X-ASG-Orig-Subj: pcp updates: qa+libpcp Message-ID: <56B8F6B3.1050909@internode.on.net> Date: Tue, 9 Feb 2016 07:12:35 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454962388 X-Barracuda-URL: https://192.48.157.11:443/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.26865 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Nathan has already pulled these ones, so this mail is (a) late and (b) for completeness. Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (3): src/libpcp/src/pmns.c: fix corner case in load pmns qa/772: small changes after recent libpcp changes for loading PMNS qa/1069: filter out local timezone qa/1069 | 13 ++++++++++++- qa/1069.out | 2 +- qa/772 | 21 +++++++++++++++++++++ qa/772.out | 6 +++++- src/libpcp/src/pmns.c | 5 ++++- 5 files changed, 43 insertions(+), 4 deletions(-) Details ... commit 08f981cc7bc7368c0c4e06a6bab9408a827b5e3a Author: Ken McDonell Date: Mon Feb 8 06:41:13 2016 +1100 qa/1069: filter out local timezone commit 5fe300ff186f87e9cb5c8ba3c82545c2b5c130a4 Author: Ken McDonell Date: Mon Feb 8 06:16:52 2016 +1100 qa/772: small changes after recent libpcp changes for loading PMNS Duplicate dynamic entries are not an error (now). commit 8d42f02a2de9c6a778b8748799ba7cec63c579c4 Author: Ken McDonell Date: Sun Feb 7 08:44:15 2016 +1100 src/libpcp/src/pmns.c: fix corner case in load pmns The gfs2 PMDA exposes a case where the PMNS contains more than one dynamic subtree. A check in the PMDA Install script trips up because libpcp incorrectly classified this as a duplicate PMID in the PMNS. From kenj@internode.on.net Mon Feb 8 14:15:04 2016 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 6D30C7CA2 for ; Mon, 8 Feb 2016 14:15:04 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 520278F8040 for ; Mon, 8 Feb 2016 12:15:04 -0800 (PST) X-ASG-Debug-ID: 1454962501-04bdf079c11573b0001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id m1jD3z5gk9NIahi5 for ; Mon, 08 Feb 2016 12:15:01 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DmAgCO9rhWPFBJ0XYNUYtcgXipb4kThg0CgXsBAQEBAQEHAQEBAUGFAQEBBDhAARALGAkWDwkDAgECATEUEwgBAbY2j0wBAQEBAQEEAQEBARyKSYQTAQFpg24BBJZ1nEOOPoRah3mBMAEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 09 Feb 2016 06:45:00 +1030 Subject: Re: [pcp] pcp updates: qa+libpcp To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] pcp updates: qa+libpcp References: <56B8F6B3.1050909@internode.on.net> Cc: Dave Brolley From: Ken McDonell Message-ID: <56B8F744.2080002@internode.on.net> Date: Tue, 9 Feb 2016 07:15:00 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B8F6B3.1050909@internode.on.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454962501 X-Barracuda-URL: https://192.48.157.11:443/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.26865 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 09/02/16 07:12, Ken McDonell wrote: > Nathan has already pulled these ones, so this mail is (a) late and (b) for completeness. I meant Dave, not Nathan. SIGPIPE between brain and fingers. From nscott@redhat.com Mon Feb 8 15:50:44 2016 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 442397CA2 for ; Mon, 8 Feb 2016 15:50:44 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 242508F8040 for ; Mon, 8 Feb 2016 13:50:40 -0800 (PST) X-ASG-Debug-ID: 1454968237-04bdf079c115c0d0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id ylIDayynI0oT10xI (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 08 Feb 2016 13:50:38 -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 u18LobGp053385; Mon, 8 Feb 2016 16:50:37 -0500 Date: Mon, 8 Feb 2016 16:50:36 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <100014106.19398619.1454968236965.JavaMail.zimbra@redhat.com> In-Reply-To: <56B8A997.6070903@redhat.com> References: <56AF6E49.1040404@redhat.com> <2118214472.19115278.1454909945154.JavaMail.zimbra@redhat.com> <56B8A997.6070903@redhat.com> Subject: Re: [pcp] pmrep: fix timezone handling/reporting MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmrep: fix timezone handling/reporting Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.237] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmrep: fix timezone handling/reporting Thread-Index: AUcPUWT9UEqyhaxbC5Y+1t8QlShXug== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1454968238 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26868 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi Marko, ----- Original Message ----- > [...] > > As discussed in that other thread, we've managed to avoid some helper > > routines in pmrep (pmGetContextOptions in particular) which might've > > made some of this easier, not sure (if we are really out of sync, we > > will not be helped by that I guess). > > One reason why we've avoided using pmGetContextOptions in pmrep is that > it's not available via the Python PMAPI :-) Its there, its just not directly called - pmContext.fromOptions builder interface makes use of it (hmm, which pmrep already uses?) via: # finish time windows, timezones, archive access mode if c_api.pmSetContextOptions(context.ctx, options.mode, options.delta): raise pmUsageErr (which internally calls pmGetContextOptions) > > So if we cannot use the helper APIs then this patch looks OK to me. > > Perhaps we could start with this then to get the situation under control > and later on consider pmGetContextOptions if it becomes available and > makes the code easier to read? Sure. cheers. -- Nathan From mgoodwin@redhat.com Mon Feb 8 19:13:03 2016 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 1F28C29E12 for ; Mon, 8 Feb 2016 19:13:03 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id A4D08AC003 for ; Mon, 8 Feb 2016 17:12:59 -0800 (PST) X-ASG-Debug-ID: 1454980374-04cbb04331059c0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ewhVgHA3ysJKVUQC (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 08 Feb 2016 17:12:55 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id D5C988E675 for ; Tue, 9 Feb 2016 01:12:54 +0000 (UTC) Received: from [10.64.51.214] (vpn1-51-214.bne.redhat.com [10.64.51.214]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u191CrRc023880 for ; Mon, 8 Feb 2016 20:12:54 -0500 From: Mark Goodwin Subject: pcp updates - pmrep broken pipe handling and Exception Ignored errors, and QA To: pcp X-ASG-Orig-Subj: pcp updates - pmrep broken pipe handling and Exception Ignored errors, and QA Message-ID: <56B93D14.3040309@redhat.com> Date: Tue, 9 Feb 2016 12:12:52 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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: 1454980375 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 pmrep - add signal handler for Broken Pipe exceptions, and avoid Exception Ignored errors. New test qa/880 to test this. Changes committed to git://git.pcp.io/mgoodwin/pcp master commit 88fa161389e1d7198da8120a9b1909c853be7e1d Author: Mark Goodwin Date: Tue Feb 9 12:06:49 2016 +1100 qa: add test 880 to check pmrep for broken pipe exceptions and Exception Ignored errors commit 8aa78cd1e59cd07cd7bf1e74920f4dd3356b0038 Merge: 7a31a19 c96ff82 Author: Mark Goodwin Date: Tue Feb 9 10:58:07 2016 +1100 Merge branch 'master' of git://oss.sgi.com/pcp/pcp commit 7a31a198faf58104a823e84d37897dcde558cff6 Author: Mark Goodwin Date: Tue Feb 9 10:52:53 2016 +1100 pmrep: cleanup stdio on exit to avoid Exception Ignored errors Flush and close stdout and stderr on exit to avoid "Exception Ignored" errors when the destructor is called with i/o still pending. Also ignore SIGPIPE to avoid broken pipe exceptions. These issues occur when pmrep is piped to e.g. /usr/bin/head. From mgoodwin@redhat.com Mon Feb 8 20:00:37 2016 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 3957129DF5 for ; Mon, 8 Feb 2016 20:00:37 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9D731AC006 for ; Mon, 8 Feb 2016 18:00:36 -0800 (PST) X-ASG-Debug-ID: 1454983234-04cb6c1e58058e0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id rym7nPY90W8nAZsc (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 08 Feb 2016 18:00:35 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id BDFE491FE5; Tue, 9 Feb 2016 02:00:34 +0000 (UTC) Received: from [10.64.51.214] (vpn1-51-214.bne.redhat.com [10.64.51.214]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1920Wal007644; Mon, 8 Feb 2016 21:00:33 -0500 Subject: Re: PCP-monitor container To: henry c , Nathan Scott X-ASG-Orig-Subj: Re: PCP-monitor container References: From: Mark Goodwin Cc: pcp Message-ID: <56B94840.4060909@redhat.com> Date: Tue, 9 Feb 2016 13:00:32 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed 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: 1454983235 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/09/2016 12:00 PM, henry c wrote: > Nathan & Mark, > > We were able to get pcp running in the containers. > > Thanks for your contribution to this! > > However during trial and process, we discovered that even without pcp-monitor the pmwebd api is working as expected. The pmwebd and associated web apps and infrastructure is shipped in the pcp-webapi package. > > We just want to make sure that we are not missing and that pcp-monitor is not actually needed. correct - pcp-monitor is not required; the pcp-webapi package will also install the required dependencies. The pcp-monitor package is just a pseudo RPM that has no files itself, it only has dependencies on all the various pcp monitor bits, one of which is pcp-webapi. You will need pmcd running on the host that you want to run pmwebd on. This can be provided either by installing the pcp-collector package (or just the pcp package is enough) and enable and start the 'pmcd' service, _or_ you can deploy the pcp-collector container to provide the pmcd service. Once the pmcd service is enabled and running, you can then deploy the pcp-pmwebd container. Now that pcp-3.11.0-1 has been moved to stable in Fedora f23, f22 and f20, I have re-built the PCP container images to use the stock pcp packages from fedora:latest, and pushed the resulting container images to bintray. You can deploy these containers without installing anything, just pull and run the containers as follows (as root, with docker service enabled) : # docker pull pcp-docker-containers.bintray.io/pcp-collector:latest # atomic run pcp-docker-containers.bintray.io/pcp-collector:latest # docker pull pcp-docker-containers.bintray.io/pcp-pmwebd:latest # atomic run pcp-docker-containers.bintray.io/pcp-pmwebd:latest Both of the above are layered on the pcp-base container image, which is itself layered on the fedora:latest base image, currently f23 based. Once the containers are deployed, point your browser to http://MYHOST:44323 (for host MYHOST). You may need to open ports 44323 and the 'pmcd' service on MYHOST's firewall If you don't have the 'atomic' command, then the deployment instructions are a bit more complicated - use the script in build/containers/scripts/pcp-docker-run instead of the 'atomic' command. Regards -- Mark From kenj@internode.on.net Mon Feb 8 20:31:30 2016 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 2C93E29DF5 for ; Mon, 8 Feb 2016 20:31:30 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0DF50304043 for ; Mon, 8 Feb 2016 18:31:29 -0800 (PST) X-ASG-Debug-ID: 1454985086-04cbb043320b100001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id HBvKMEA1TTGi9JPK for ; Mon, 08 Feb 2016 18:31:27 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2D7AQDnTrlWPFBJ0XYNUYQMbYZjgXizBxmHdwEBAQEBAQcBAQEBQYUqVTAGAgUWCwILAwIBAgExJwYCAQG2OGePInuOTII0gToFh0iHDogfhUyWd44+hFpWiFMBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 09 Feb 2016 13:01:25 +1030 To: pcp@oss.sgi.com Subject: pcp updates: qa, dbpmda, odds and sods From: Ken McDonell X-ASG-Orig-Subj: pcp updates: qa, dbpmda, odds and sods Message-ID: <56B94F7C.8020603@internode.on.net> Date: Tue, 9 Feb 2016 13:31:24 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1454985086 X-Barracuda-URL: https://192.48.176.25:443/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.26876 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (5): pmquery man page: fix font for command line flags dbpmda: add -f to skip .dbpmdarc processing qa/137: extend test to cover .dbpmdarc processing and -f option qa/802: fix timing-related failure qa/admin/pcp-daily: add -l to harvest just the daily.log file man/man1/dbpmda.1 | 12 +++++++++--- man/man1/pmquery.1 | 6 +++--- qa/137 | 22 +++++++++++++++++++++- qa/137.out | 20 ++++++++++++++++++++ qa/802 | 16 ++++++++++++---- qa/802.out | 3 +++ qa/admin/pcp-daily | 19 +++++++++++++++++-- src/dbpmda/src/dbpmda.c | 10 ++++++++-- src/dbpmda/src/lex.l | 3 ++- 9 files changed, 95 insertions(+), 16 deletions(-) Details ... commit 7b8747a6155957fe4dde6ebdca334719c96cca3a Author: Ken McDonell Date: Tue Feb 9 13:30:03 2016 +1100 qa/admin/pcp-daily: add -l to harvest just the daily.log file Only needed if a run is aborted. commit 5f56df40ad46054a572b6aed0b75103a3fae5f3f Author: Ken McDonell Date: Tue Feb 9 13:29:26 2016 +1100 qa/802: fix timing-related failure Need extra delay to overcome tardy valgrind startup on some VMs. commit f75c09cd469e086fb3c1a66caaa91c254e7caf92 Author: Ken McDonell Date: Tue Feb 9 13:28:16 2016 +1100 qa/137: extend test to cover .dbpmdarc processing and -f option commit 76222aa533f89da9b705c85cab0a68d3758c2c77 Author: Ken McDonell Date: Tue Feb 9 13:25:28 2016 +1100 dbpmda: add -f to skip .dbpmdarc processing Presence of an old .dbpmdarc script tricked a QA test into failing. Rather than rm .dbpmdarc in the QA test, it seems more socially acceptable to provide a command line option to dbpmda that inhibits the .dbpmdarc processing at startup. commit a6907d091053c2722bf19b9a67b9c535969ea726 Author: Ken McDonell Date: Tue Feb 9 13:12:50 2016 +1100 pmquery man page: fix font for command line flags From nscott@redhat.com Mon Feb 8 20:35:47 2016 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 79DDE7CA8 for ; Mon, 8 Feb 2016 20:35:47 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0E46FAC003 for ; Mon, 8 Feb 2016 18:35:43 -0800 (PST) X-ASG-Debug-ID: 1454985339-04cbb043310b1e0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id w1BIaQxNkFxjFmdh (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 08 Feb 2016 18:35:40 -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 u192ZZaF031335; Mon, 8 Feb 2016 21:35:35 -0500 Date: Mon, 8 Feb 2016 21:35:35 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Hemant Kumar Cc: pcp@oss.sgi.com, jpwhite4@buffalo.edu Message-ID: <1603664885.19457885.1454985335093.JavaMail.zimbra@redhat.com> In-Reply-To: <1454385589-19166-1-git-send-email-hemant@linux.vnet.ibm.com> References: <1454385589-19166-1-git-send-email-hemant@linux.vnet.ibm.com> Subject: Re: [PATCH v2] perfevent_pmda: Add extension for perf derived events MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [PATCH v2] perfevent_pmda: Add extension for perf derived events Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.237] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: perfevent_pmda: Add extension for perf derived events Thread-Index: oLAuFKVbzRzdjJIDzOUGiVzHh8epqg== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1454985340 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.26876 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 Hemant, ----- Original Message ----- > This patch gives an ability to perfevent agent to monitor derived > events. Derived events are based on the hardware/perf counters. > [...] > Looking forward for your suggestion/comments. > Looks pretty good to me. There are a handful of small things... 1. Needs a man page update to man/man5/perfevent.conf.5 2. Needs updates to qa/perfevent/ - currently this fails to build, then also needs some unit test cases for this new code (see the qa/756 script for how to invoke this) 3. The one-line ./Install script change ... seems unnecessary? ( > +pmns_dupok=true ) If you could send through a v3 patch with those things, I think it's ready to be merged. cheers. -- Nathan From myllynen@redhat.com Tue Feb 9 01:43:14 2016 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 11B6A7CA2 for ; Tue, 9 Feb 2016 01:43:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B281BAC005 for ; Mon, 8 Feb 2016 23:43:13 -0800 (PST) X-ASG-Debug-ID: 1455003786-04bdf066eb14b50001-S8gJnT Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by cuda.sgi.com with ESMTP id 3mEe09XNtmZzXsbd (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 08 Feb 2016 23:43:07 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.48 Received: by mail-wm0-f48.google.com with SMTP id c200so47716881wme.0 for ; Mon, 08 Feb 2016 23:43:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=cOqUL1uRr7HwKEV16YyAKaBzg4h+pmmzUPHSxz8igVw=; b=c19QjUUf5mYEhlZUI0hyhZrhzY2zacONBSz88UCDfA8tH0iWAPYCQTTgGDWNEDG9ad ZRSLW2/0AztthoC+qJiHaEY18z/ZKAyFbd1Rkh6J6adQaKOzN4GZB7Se8pS7GP4ueoT2 sGYWyN7vT17dn0MPNQVRdJB3RG2D0QcKfLR8edOyMu0UeNtNFhaDBIs3r4bbFTxzPaeY ShffhnyDjdhzIRvx6XvtgCZRNfH9AiuiLKZUCsOppxqStFlT5EpgXpSIb+5nDkVfDTl9 e+GATwooDOgokzTjj1U9cf8gfcuM0lpgP/BX5LXWvOPzUmAo2RjpEF39FYZKRRXLhx7r 0Ogg== X-Gm-Message-State: AG10YOSE090fOWk/ts1z+z6kvURU7CsKZwAd1xTON1je27Nx0CggeAAuLFdSMaQXkphgBveC X-Received: by 10.28.153.14 with SMTP id b14mr3304521wme.93.1455003786233; Mon, 08 Feb 2016 23:43:06 -0800 (PST) Received: from ?IPv6:2001:14bb:170:4a8e:402:1fcc:a508:2? (dyg4f1dtfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:170:4a8e:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id s2sm32376600wjs.39.2016.02.08.23.43.05 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 08 Feb 2016 23:43:05 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: Derived metric issues Organization: Red Hat X-ASG-Orig-Subj: Derived metric issues Message-ID: <56B99888.2020408@redhat.com> Date: Tue, 9 Feb 2016 09:43:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f48.google.com[74.125.82.48] X-Barracuda-Start-Time: 1455003787 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.26881 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, Please consider the test case below: #include #include #define DERIVED_CONF "./d.conf" // mem.util.allcache = mem.util.cached + mem.util.slab #define DERIVED_NAME "mem.util.allcache" int main(int argc, char **argv) { int sts; pmID pmid; pmDesc desc; char *name = DERIVED_NAME; sts = pmNewContext(PM_CONTEXT_HOST, "local:"); if (sts < 0) fprintf(stderr, "pmNewContext returned %d!\n", sts); sts = pmLoadDerivedConfig(DERIVED_CONF); if (sts < 0) fprintf(stderr, "pmLoadDerivedConfig returned %d!\n", sts); sts = pmLookupName(1, &name, &pmid); if (sts < 0) fprintf(stderr, "pmLookupName returned %d!\n", sts); printf("pmid: %d\n", pmid); sts = pmLookupDesc(pmid, &desc); if (sts < 0) fprintf(stderr, "pmLookupDesc returned %d!\n", sts); printf("desc.pmid: %d\n", desc.pmid); return 0; } 1) If the config file is empty and I use a non-derived metric like mem.util.free then everything works ok as expected 2) If the config file is missing then I get an error code from pmLoadDerivedConfig as expected 3) If the config file contains only some garbage like "asd" then I see errors printed while in pmLoadDerivedConfig but it returns zero - this looks like an obvious bug 4) If the config file contains a valid derived metric definition then everything works until pmLookupDesc fails. Shouldn't it work with derived metrics as well? Thanks, -- Marko Myllynen From noreply@github.com Tue Feb 9 03:17:26 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 0743A7CA2 for ; Tue, 9 Feb 2016 03:17:26 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id CF0288F8035 for ; Tue, 9 Feb 2016 01:17:22 -0800 (PST) X-ASG-Debug-ID: 1455009439-04bdf066ea18e40001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id h3hO9ZAqv27lEuVW (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 01:17:20 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext8.iad.github.net ([192.30.252.199] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aT4Q6-0001fA-LK for ; Tue, 09 Feb 2016 20:17:17 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.199 X-Barracuda-RBL-IP: 192.30.252.199 X-Barracuda-BBL-IP: 192.30.252.199 Date: Tue, 09 Feb 2016 01:17:07 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455009427; bh=/7fRZ7sZNpqTCe0qu/vLOfWBtuvTHVUqHJL2vXQpF+k=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=lEOf7eTGC9+ycExkDk8NrAmDdHpvShUw7RQHhoZFmwRTGc+b+xXyQk0CG7CJlzrLn sMiNkLLNNar1WbwUeDGYLmYuxKFR6EE5Dm6LAt4blTxElygsmwzZk/0Nh72wi5KJ9/ +hOvCoCQ5xUzLEeeJYAVaM4XLttbuukALjIqeR0I= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56b9ae934723e_20043fa7ad2c92c012669d3"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1455009439 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26882 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56b9ae934723e_20043fa7ad2c92c012669d3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Before this change "pickled_input" variable was appended and metrics send over and over again. Time to send metrics to graphite dropped for me from 6 minutes to 2 seconds. You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/66 -- Commit Summary -- * pcp2graphite improvement: send all metrics at once in pickled mode -- File Changes -- M src/pcp2graphite/pcp2graphite.py (18) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/66.patch https://github.com/performancecopilot/pcp/pull/66.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66 ----==_mimepart_56b9ae934723e_20043fa7ad2c92c012669d3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Before this change "pickled_input" variable was appended and metrics send over and over again.

Time to send metrics to graphite dropped for me from 6 minutes to 2 seconds.


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/66

Commit Summary

  • pcp2graphite improvement: send all metrics at once in pickled mode

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

----==_mimepart_56b9ae934723e_20043fa7ad2c92c012669d3-- From myllynen@redhat.com Tue Feb 9 04:51:36 2016 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 23D027CA2 for ; Tue, 9 Feb 2016 04:51:36 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id A6BA6AC003 for ; Tue, 9 Feb 2016 02:51:32 -0800 (PST) X-ASG-Debug-ID: 1455015089-04cb6c1e581d090001-S8gJnT Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by cuda.sgi.com with ESMTP id ZfMun4Wk0INlCC43 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 02:51:30 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.43 Received: by mail-wm0-f43.google.com with SMTP id g62so17697949wme.0 for ; Tue, 09 Feb 2016 02:51:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=SWNQAXg/LlE3fNwlgdcPUesImEugdgDgJlFQ+6IdLL8=; b=BY4v89REjXDebCZ472f2dDe1civuLhDPBrhOJ4SVVUYMlQeweyqHSL3Pwi/oZ0m/r4 dTE1HQsBIXg5tNly6ku2fqLVqlKUmaqkd02bG0Qv6PS7Fj2l/72hX5G8ptNlNSYN4c09 hlPGCeicRdf1WFOuT35DWt2+b5v2dmMhHsTj0duOV6YZNpt0J10CPOAEqdJsGpIYw/72 RyH2/0uE1/Sa+Vq0Tp87RRu82z91uc9qG2LUgFELQ8ybPadzh+dSvLwb+wsa1V7cHitE Q68h9zf0A2qoudCsj0WPK2fngpoqku0yphoCA8PGNwCd7tsJfn9icFGCPmGeyvlSjt7W D4yg== X-Gm-Message-State: AG10YORAlP4puaXDNSHxAkebPEpAdrxfCgOiAgdtGxLzW0eAHsjfe8ye/Xi4W8vANSwNAQc/ X-Received: by 10.194.205.103 with SMTP id lf7mr32316499wjc.147.1455015089331; Tue, 09 Feb 2016 02:51:29 -0800 (PST) Received: from ?IPv6:2001:14bb:170:4a8e:402:1fcc:a508:2? (dyg4f1dtfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:170:4a8e:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id r10sm33873049wjz.24.2016.02.09.02.51.27 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 09 Feb 2016 02:51:28 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] pmrep: fix timezone handling/reporting References: <56AF6E49.1040404@redhat.com> <2118214472.19115278.1454909945154.JavaMail.zimbra@redhat.com> <56B8A997.6070903@redhat.com> <100014106.19398619.1454968236965.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] pmrep: fix timezone handling/reporting To: Nathan Scott Cc: pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56B9C4AE.5020906@redhat.com> Date: Tue, 9 Feb 2016 12:51:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <100014106.19398619.1454968236965.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f43.google.com[74.125.82.43] X-Barracuda-Start-Time: 1455015090 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26884 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-08 23:50, Nathan Scott wrote: > ----- Original Message ----- >> [...] >>> As discussed in that other thread, we've managed to avoid some helper >>> routines in pmrep (pmGetContextOptions in particular) which might've >>> made some of this easier, not sure (if we are really out of sync, we >>> will not be helped by that I guess). >> >> One reason why we've avoided using pmGetContextOptions in pmrep is that >> it's not available via the Python PMAPI :-) > > Its there, its just not directly called - pmContext.fromOptions builder > interface makes use of it (hmm, which pmrep already uses?) via: > > # finish time windows, timezones, archive access mode > if c_api.pmSetContextOptions(context.ctx, options.mode, options.delta): > raise pmUsageErr > > (which internally calls pmGetContextOptions) Ah ok, I didn't see pmGetContextOptions in pmapi.py thus thought it's not available. But yes, pmrep already uses pmContext.fromOptions: def connect(self): """ Establish a PMAPI context to archive, host or local, via args """ self.context = pmapi.pmContext.fromOptions(self.opts, sys.argv) Thanks, -- Marko Myllynen From noreply@github.com Tue Feb 9 08:08:55 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 1313929DF5 for ; Tue, 9 Feb 2016 08:08:55 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 02D068F8040 for ; Tue, 9 Feb 2016 06:08:51 -0800 (PST) X-ASG-Debug-ID: 1455026924-04cb6c1e56262b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id hFAXK1QRupmfJVyq (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 06:08:46 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext8.iad.github.net ([192.30.252.199] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aT8y4-0005MA-BP for ; Wed, 10 Feb 2016 01:08:43 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.199 X-Barracuda-RBL-IP: 192.30.252.199 X-Barracuda-BBL-IP: 192.30.252.199 Date: Tue, 09 Feb 2016 06:08:29 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455026909; bh=5H5JF6N/87Ww0GLmNvedH+Jk2sdAc5kzSl0hBU2GbYY=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=bv6ZJukB9o3x/d7tRzcBvPc0HYxCO0ZvklYgwH4c7WlmHFr1Nr+JkDs7QHZzuVJJH 4owz+tDH7vwGsjdrkmi+cIORoQN3V4aFzvegVg90g8QqD6BLDiy0TtWy//+GJ2ZvdK BTao6nSCJGqyPdZfzdNo+0qknOu/aj8FPFE4bp3I= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56b9f2dd28a9b_3f3c3fd9bb4372c016892c"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1455026925 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26887 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56b9f2dd28a9b_3f3c3fd9bb4372c016892c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit About cPickle. I think it was supported around Python 2.3 - https://www.python.org/dev/peps/pep-0307/ But in Python 3 - "The pickle module has an transparent optimizer (_pickle) written in C. It is used whenever available. Otherwise the pure Python implementation is used." --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#issuecomment-181878055 ----==_mimepart_56b9f2dd28a9b_3f3c3fd9bb4372c016892c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

About cPickle. I think it was supported around Python 2.3 - https://www.python.org/dev/peps/pep-0307/

But in Python 3 - "The pickle module has an transparent optimizer (_pickle) written in C. It is used whenever available. Otherwise the pure Python implementation is used."


Reply to this email directly or view it on GitHub.

----==_mimepart_56b9f2dd28a9b_3f3c3fd9bb4372c016892c-- From William_Staten@navyfederal.org Tue Feb 9 08:37:34 2016 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=2.2 required=5.0 tests=HTML_MESSAGE, HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY autolearn=no 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 1454629DF5 for ; Tue, 9 Feb 2016 08:37:34 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id E7E44304039 for ; Tue, 9 Feb 2016 06:37:30 -0800 (PST) X-ASG-Debug-ID: 1455028647-04bdf066eb26fa0001-S8gJnT Received: from gunwale.navyfederal.org ([199.204.164.208]) by cuda.sgi.com with ESMTP id VkhRGt65ZjCGehF2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 06:37:28 -0800 (PST) X-Barracuda-Envelope-From: William_Staten@navyfederal.org X-Barracuda-Apparent-Source-IP: 199.204.164.208 Received: from COMPASS1.NFCU.NET (unknown [10.1.11.121]) by gunwale.navyfederal.org with smtp id 7132_3117_468ad5dc_2f12_49bf_bd7b_fe4569f55895; Tue, 09 Feb 2016 09:44:13 -0500 X-Disclaimed: 16786 To: pcp@oss.sgi.com MIME-Version: 1.0 Subject: Queston about pcp performance metrics filesys.used X-KeepSent: 1B9DD255:E1F86B08-85257F54:004E7C3F; type=4; flags=0; name=$KeepSent X-ASG-Orig-Subj: Queston about pcp performance metrics filesys.used Message-ID: From: William_Staten@navyfederal.org Date: Tue, 9 Feb 2016 09:37:25 -0500 X-TNEFEvaluated: 1 Content-Type: text/html; charset="US-ASCII" X-Barracuda-Connect: UNKNOWN[199.204.164.208] X-Barracuda-Start-Time: 1455028648 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.66 X-Barracuda-Spam-Status: No, SCORE=1.66 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26888 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Good Morning. I wanted to know for the filesys metrics, was it a way to get the name of the filesystem mounted or the full device mapper name to display instead of just "/dev/dm-#". For example if I want to see the metric for filesys.used for /home, instead of showing /dev/dm-7, could I get rootvg-homelv to get displayed or /home to get displayed instead of /dev/dm-7?

Thanks,

William Staten
I.T. Operations
Information Services
Navy Federal Credit Union
wk: 703.206.3198
cell: 703.300.0743
From noreply@github.com Tue Feb 9 09:41:04 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 1406829DF5 for ; Tue, 9 Feb 2016 09:41:04 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 89E2EAC005 for ; Tue, 9 Feb 2016 07:41:00 -0800 (PST) X-ASG-Debug-ID: 1455032453-04cbb043343e720001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id W1Azhpdkvn6QlSIx (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 07:40:54 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTAPH-0008FP-EW for ; Wed, 10 Feb 2016 02:40:52 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Tue, 09 Feb 2016 07:40:39 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455032439; bh=njXz3Ay2rJYbkqmHaIDyv4NAPiKGYXq5Sb2WnlPo2Jw=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=WmsnpmXr8+rsnfpRFVByppdgv8ONN9N9rn6C2tWp886YKaipyHYNPfua4hLdCFLYM 25JzwmlMrpPuw71Gnh5jAjbumw2hcTO9DDuRd6qNPZGOAv8rmCptYm7n8HYRsPrEkP 9vTEjPjDoWbGMl8w3qbtUv70jDSqws/tJp5cn8WM= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba0877b9d4d_15873f8d565292c012492f"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1455032454 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26889 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba0877b9d4d_15873f8d565292c012492f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Also the number of the metrics (self.metrics) printed at te beginning of execution is not really true. I think it should be len(miv_tuples) in the function execute. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#issuecomment-181918717 ----==_mimepart_56ba0877b9d4d_15873f8d565292c012492f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Also the number of the metrics (self.metrics) printed at te beginning of execution is not really true. I think it should be len(miv_tuples) in the function execute.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba0877b9d4d_15873f8d565292c012492f-- From brolley@redhat.com Tue Feb 9 12:46:51 2016 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 AB12629DF5 for ; Tue, 9 Feb 2016 12:46:51 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4650CAC004 for ; Tue, 9 Feb 2016 10:46:48 -0800 (PST) X-ASG-Debug-ID: 1455043604-04bdf066ea2d200001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 59KYxcVcu7RzYcao (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 10:46:44 -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-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 1698C5A70 for ; Tue, 9 Feb 2016 18:46:43 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u19IkhL4027477 for ; Tue, 9 Feb 2016 13:46:43 -0500 Message-ID: <56BA340C.1020300@redhat.com> Date: Tue, 09 Feb 2016 13:46:36 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: mgoodwin pmrep + qa Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: mgoodwin pmrep + qa Content-Transfer-Encoding: 7bit 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: 1455043604 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Mark Goodwin (2): pmrep: cleanup stdio on exit to avoid Exception Ignored errors qa: add test 880 to check pmrep for broken pipe exceptions and Exception Ignored errors qa/880 | 29 ++++ qa/880.out | 2 qa/group | 1 src/pmrep/pmrep.py | 29 +++- From brolley@redhat.com Tue Feb 9 12:58:11 2016 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 1A14B29DF5 for ; Tue, 9 Feb 2016 12:58:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id F25D58F8066 for ; Tue, 9 Feb 2016 10:58:07 -0800 (PST) X-ASG-Debug-ID: 1455044286-04bdf066eb2d6b0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id sNltTniibJ5kpMaC (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 10:58:07 -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 (Postfix) with ESMTPS id BE745C00230B for ; Tue, 9 Feb 2016 18:58:06 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u19Iw6Vd006427 for ; Tue, 9 Feb 2016 13:58:06 -0500 Message-ID: <56BA36B7.1030302@redhat.com> Date: Tue, 09 Feb 2016 13:57:59 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: kenj man, dbpmda, qa Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: kenj man, dbpmda, qa 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: 1455044287 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Ken McDonell (5): pmquery man page: fix font for command line flags dbpmda: add -f to skip .dbpmdarc processing qa/137: extend test to cover .dbpmdarc processing and -f option qa/802: fix timing-related failure qa/admin/pcp-daily: add -l to harvest just the daily.log file man/man1/dbpmda.1 | 12 +++++++++--- man/man1/pmquery.1 | 6 +++--- qa/137 | 22 +++++++++++++++++++++- qa/137.out | 20 ++++++++++++++++++++ qa/802 | 16 ++++++++++++---- qa/802.out | 3 +++ qa/admin/pcp-daily | 19 +++++++++++++++++-- src/dbpmda/src/dbpmda.c | 10 ++++++++-- src/dbpmda/src/lex.l | 3 ++- 9 files changed, 95 insertions(+), 16 deletions(-) From noreply@github.com Tue Feb 9 13:41:26 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 73CD729DF5 for ; Tue, 9 Feb 2016 13:41:26 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4C1C28F8050 for ; Tue, 9 Feb 2016 11:41:26 -0800 (PST) X-ASG-Debug-ID: 1455046879-04cb6c1e572d510001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id CLIWsDiEsDDLbVHi (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 11:41:20 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTE9y-0001h5-Ay for ; Wed, 10 Feb 2016 06:41:18 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Tue, 09 Feb 2016 11:41:06 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455046866; bh=HHCv+Q7ZeQA9MF4GgzAoi9WotItFHVi9YO65pg/KQto=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=H/vNJURmBthK5PDHwcmPJgp5zKjH06qqNpo6Au5I991uT+fZ0/ma95j6rwJIKesqS iKXVRi+JfFaCsubWDgJ/Wyhq53QYFU4lbwiY9aG8jvhwfr0jjYA4PsuQFwhjBDCI9Q dkCwzsWI8VKuwBqj8TaOok3/cuAYMEfQanopPrl0= From: dbrolley Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba40d2b4d9c_22f33f7ee45612b854588b"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: dbrolley X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1455046880 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26895 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba40d2b4d9c_22f33f7ee45612b854588b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Would it be possible to create a qa test for this? --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#issuecomment-182025665 ----==_mimepart_56ba40d2b4d9c_22f33f7ee45612b854588b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Would it be possible to create a qa test for this?


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba40d2b4d9c_22f33f7ee45612b854588b-- From kenj@internode.on.net Tue Feb 9 13:55:53 2016 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 3B43429DF5 for ; Tue, 9 Feb 2016 13:55:53 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id CD5FBAC004 for ; Tue, 9 Feb 2016 11:55:52 -0800 (PST) X-ASG-Debug-ID: 1455047750-04bdf066ea2ec40001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id epBZQHm77oeU7nsk for ; Tue, 09 Feb 2016 11:55:50 -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: A2DcAQCPQ7pWPFBJ0XYNUItcgXmzEYYNAoIDAQEBAQEBBwEBAQFBhQABAQEDATg8BAYLCxgJFg8JAwIBAgExFAYBDAgBAYgPr0ePWgEBAQEGAQEBAQEbikmIbAEEjSeJUYg4hnOEQ4hVim2DUoRaiSkBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail05.adl6.internode.on.net with ESMTP; 10 Feb 2016 06:25:49 +1030 Subject: Re: [pcp] Derived metric issues To: Marko Myllynen , pcp developers X-ASG-Orig-Subj: Re: [pcp] Derived metric issues References: <56B99888.2020408@redhat.com> From: Ken McDonell Message-ID: <56BA4445.2030404@internode.on.net> Date: Wed, 10 Feb 2016 06:55:49 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B99888.2020408@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1455047750 X-Barracuda-URL: https://192.48.157.11:443/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.26895 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header G'day Marko, Sorry for your pain ... it should not be like this ... 8^) On 09/02/16 18:43, Marko Myllynen wrote: > Hi, > > Please consider the test case below: > ... > 3) If the config file contains only some garbage like "asd" then > I see errors printed while in pmLoadDerivedConfig but it returns > zero - this looks like an obvious bug The problem here is that the argument to pmLoadDerivedConfig may be a file name, a directory name or a PATH-style list of file/directory names. And each file may contain more than one derived metric definition. So the concept of an "error" here is a bit tricky ... - missing file or directory in the PATH-style list ... probably not an error, should be silently ignored - file that cannot be accessed during recursive descent ... probably not an error - bad metric spec in a file ... again, not sure as there may be other valid definitions in the same file (consider a commonly used derived metric file that is expected to work mostly work even if some of the definitions involve metrics or PMDAs that might not be available in the current context, especially an archive) This is why pmLoadDerivedConfig() returns the "will be the number of derived metrics loaded" (from the man page) .. in your case this would be 0. > 4) If the config file contains a valid derived metric definition > then everything works until pmLookupDesc fails. Shouldn't it work > with derived metrics as well? This is a problem in the test code. Buried at the end of the pmRegisterDerived(3) man page (not the pmLoadDerivedConfig(3) man page unfortunately) is this caveat ... pmRegisterDerived does not apply retrospectively to any open contexts, so the normal use would be to make all calls to pmRegisterDerived (possibly via pmLoadDerivedConfig(3)) and then call pmNewContext(3). Derived metric parsing occurs in two stages: 1. syntactic when pmRegisterDerived or pmLoadDerivedConfig is called. 2. semantic when each new context is created thereafter. If you reverse the order of your pmLoadDerivedConfig() and pmNewContext() calls in your test code, the pmLookupDesc() works as expected. I'd welcome any suggestions as to how this important piece of information could be made more visible. From myllynen@redhat.com Tue Feb 9 14:14:02 2016 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 24CB429DF5 for ; Tue, 9 Feb 2016 14:14:02 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1CEEE8F806F for ; Tue, 9 Feb 2016 12:13:59 -0800 (PST) X-ASG-Debug-ID: 1455048835-04cb6c1e572df20001-S8gJnT Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by cuda.sgi.com with ESMTP id sofxDzViLzHyOwFF (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 12:13:56 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.49 Received: by mail-wm0-f49.google.com with SMTP id g62so38874381wme.0 for ; Tue, 09 Feb 2016 12:13:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=rUryFDOO96XQvKNBA9BiAOQAd588t+sA6xFQDT8e9YY=; b=lNk3Iz6ZvTWablxda0dqmSAOPnpYS/HtSVgrB/N9ubb/d/UVifle/EVxuhj8L0yh0S rn2cGnbzD7zxNBonxP+M0y6/WVh9buv/I9NcRHydCOuOoWyZSYDqRhlxgmhiSj2qnE1i X10kLSmICi9yvhbNapuU4+Phq0uES2SqQak0zvpdbR6YDBW8JAjYqNjNJSkOROMlPaM3 67SkBZQnmBPVm2BwnZj6I5IwekpXmHb6JycXIoSP1IwxesmNHwLbBE92bGsw5mu6AQnI nz4dKWujtQsNzfQ64lZdTutLrdqhvfysThbTrZyrullBbNcBKTS9Xp79XhGeab8aLYSU yqNQ== X-Gm-Message-State: AG10YOQJPA//nQ0dVpTdA8nnBqPNHSu4WsKLhjYwy69tyveHYBkbhRJrS/U/f83C9f4qHkRi X-Received: by 10.194.93.199 with SMTP id cw7mr40904739wjb.64.1455048835293; Tue, 09 Feb 2016 12:13:55 -0800 (PST) Received: from ?IPv6:2001:14bb:100:1a1e:402:1fcc:a508:2? (dyfybzjtfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:100:1a1e:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id v78sm18990843wmv.23.2016.02.09.12.13.54 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 09 Feb 2016 12:13:54 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] Derived metric issues To: Ken McDonell , pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56BA4880.1000607@redhat.com> Date: Tue, 9 Feb 2016 22:13:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BA4445.2030404@internode.on.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f49.google.com[74.125.82.49] X-Barracuda-Start-Time: 1455048836 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.26895 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi Ken, On 2016-02-09 21:55, Ken McDonell wrote: > > Sorry for your pain ... it should not be like this ... 8^) No worries, I'm still learning :) > On 09/02/16 18:43, Marko Myllynen wrote: >> >> Please consider the test case below: >> ... >> 3) If the config file contains only some garbage like "asd" then >> I see errors printed while in pmLoadDerivedConfig but it returns >> zero - this looks like an obvious bug > > The problem here is that the argument to pmLoadDerivedConfig may be a > file name, a directory name or a PATH-style list of file/directory > names. And each file may contain more than one derived metric definition. > > So the concept of an "error" here is a bit tricky ... > - missing file or directory in the PATH-style list ... probably not an > error, should be silently ignored > - file that cannot be accessed during recursive descent ... probably not > an error > - bad metric spec in a file ... again, not sure as there may be other > valid definitions in the same file (consider a commonly used derived > metric file that is expected to work mostly work even if some of the > definitions involve metrics or PMDAs that might not be available in the > current context, especially an archive) Ok, this makes sense. > This is why pmLoadDerivedConfig() returns the "will be the number of > derived metrics loaded" (from the man page) .. in your case this would > be 0. OTOH the man page also states "a value less than zero in the case of an error," perhaps that could be clarified a bit (or parts of the above information incorporated to the man page)? >> 4) If the config file contains a valid derived metric definition >> then everything works until pmLookupDesc fails. Shouldn't it work >> with derived metrics as well? > > This is a problem in the test code. Buried at the end of the > pmRegisterDerived(3) man page (not the pmLoadDerivedConfig(3) man page > unfortunately) is this caveat ... > > pmRegisterDerived does not apply retrospectively to any open contexts, > so the normal use would be to make all calls to pmRegisterDerived > (possibly via pmLoadDerivedConfig(3)) and then call pmNewContext(3). A-ha! > I'd welcome any suggestions as to how this important piece of > information could be made more visible. After reading the above now it's of course obvious.. Perhaps a short note in the first section of pmLoadDerivedConfig(3) along the lines "Note that pmLoadDerivedConfig needs to be called before creating a new context" or something like that would be enough. Thanks, -- Marko Myllynen From fche@redhat.com Tue Feb 9 14:33:08 2016 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 4CA0C29DF6 for ; Tue, 9 Feb 2016 14:33:08 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 34F60304039 for ; Tue, 9 Feb 2016 12:33:04 -0800 (PST) X-ASG-Debug-ID: 1455049983-04cbb0433144c00001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id mkAD3djcunorZaon (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 12:33:04 -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 (Postfix) with ESMTPS id 628075BA31; Tue, 9 Feb 2016 20:33:03 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u19KX3Zh013756; Tue, 9 Feb 2016 15:33:03 -0500 Received: by fche.csb (Postfix, from userid 2569) id 968CF584B4; Tue, 9 Feb 2016 15:33:03 -0500 (EST) To: William_Staten@navyfederal.org Cc: pcp@oss.sgi.com Subject: Re: Queston about pcp performance metrics filesys.used References: X-ASG-Orig-Subj: Re: Queston about pcp performance metrics filesys.used From: fche@redhat.com (Frank Ch. Eigler) Date: Tue, 09 Feb 2016 15:33:03 -0500 In-Reply-To: (William Staten's message of "Tue, 9 Feb 2016 09:37:25 -0500") 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.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1455049983 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 William_Staten wrote: > Good Morning. I wanted to know for the filesys metrics, was it a way to get the > name of the filesystem mounted or the full device mapper name to display > instead of just "/dev/dm-#". [...] There exist map-type metrics to assist: % pminfo -f filesys.mountdir hinv.map.dmname filesys.mountdir inst [0 or "/dev/dm-0"] value "/" inst [1 or "/dev/sda1"] value "/boot" inst [2 or "/dev/sdb1"] value "/boot/efi" hinv.map.dmname inst [0 or "VolGroup00-LogVol01"] value "dm-1" inst [1 or "VolGroup00-root17"] value "dm-0" inst [204 or "VolGroup00-docker--pool_tmeta"] value "dm-3" inst [205 or "VolGroup00-docker--pool_tdata"] value "dm-4" inst [206 or "VolGroup00-docker--pool"] value "dm-5" inst [332 or "VolGroup00-root.back"] value "dm-2" .... but no way AFAIK to wrap up that indirection into a direct single metric fetch. Ken, what do you think about a derived-metric facility for this? mounted_filesys.free = map_indom(filesys.free, filesys.mountdir) - FChE From nscott@redhat.com Tue Feb 9 15:18:58 2016 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 E8C8D29DF5 for ; Tue, 9 Feb 2016 15:18:57 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 758B0AC004 for ; Tue, 9 Feb 2016 13:18:54 -0800 (PST) X-ASG-Debug-ID: 1455052731-04cb6c1e572f1f0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id K7ZiV9bJoKZa2Ex6 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 09 Feb 2016 13:18:52 -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 u19LImdp028656; Tue, 9 Feb 2016 16:18:48 -0500 Date: Tue, 9 Feb 2016 16:18:48 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen , Ken McDonell Cc: pcp developers Message-ID: <1781835934.19755039.1455052728610.JavaMail.zimbra@redhat.com> In-Reply-To: <56BA4880.1000607@redhat.com> References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <56BA4880.1000607@redhat.com> Subject: Re: [pcp] Derived metric issues MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Derived metric issues Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.217] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Derived metric issues Thread-Index: pqen675uLJ4N510vL0J4i930SS4kfg== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455052732 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26897 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > > [...] > > pmRegisterDerived does not apply retrospectively to any open contexts, > > so the normal use would be to make all calls to pmRegisterDerived > > (possibly via pmLoadDerivedConfig(3)) and then call pmNewContext(3). > > A-ha! > > > I'd welcome any suggestions as to how this important piece of > > information could be made more visible. > > After reading the above now it's of course obvious.. Perhaps a short > note in the first section of pmLoadDerivedConfig(3) along the lines > "Note that pmLoadDerivedConfig needs to be called before creating a new > context" or something like that would be enough. > pmReconnectContext(3) can also be used, I believe (that's what the python wrapper uses anyway). cheers. -- Nathan From nscott@redhat.com Tue Feb 9 15:31:19 2016 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 4D25429DF5 for ; Tue, 9 Feb 2016 15:31:19 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id D9CBFAC005 for ; Tue, 9 Feb 2016 13:31:18 -0800 (PST) X-ASG-Debug-ID: 1455053475-04cbb0433345ec0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id EjBUN7ankpGi5fgX (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 09 Feb 2016 13:31:16 -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 u19LVDcO030313; Tue, 9 Feb 2016 16:31:13 -0500 Date: Tue, 9 Feb 2016 16:31:13 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: William Staten Cc: pcp@oss.sgi.com Message-ID: <136347470.19757537.1455053473332.JavaMail.zimbra@redhat.com> In-Reply-To: References: Subject: Re: [pcp] Queston about pcp performance metrics filesys.used MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.217] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Queston about pcp performance metrics filesys.used Thread-Index: w32X4ciQ2dnS7AmhlBrgX2ExRTy/cw== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455053476 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.26897 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 William, ----- Original Message ----- > Good Morning. I wanted to know for the filesys metrics, was it a way to get > the name of the filesystem mounted or the full device mapper name to display > instead of just "/dev/dm-#". For example if I want to see the metric for > filesys.used for /home, instead of showing /dev/dm-7, could I get > rootvg-homelv to get displayed or /home to get displayed instead of > /dev/dm-7? The former (rootvg-homelv) is indirectly available via hinv.map.dmname but the latter (/home -> mount point) is not necessarily a one-to-one mapping with device, so gets more complicated. You might also find pmdamounts(1) of use for your situation, in recent PCP versions it exports all of the same metrics as filesys.* for a specified set of mount points. cheers. -- Nathan From noreply@github.com Tue Feb 9 15:51:51 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 C8EC229DF5 for ; Tue, 9 Feb 2016 15:51:51 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9DF64304059 for ; Tue, 9 Feb 2016 13:51:48 -0800 (PST) X-ASG-Debug-ID: 1455054704-04bdf066ea30eb0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id wsGCuuE3uPzWtyEq (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 13:51:45 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTGCB-0001vf-L1 for ; Wed, 10 Feb 2016 08:51:43 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Tue, 09 Feb 2016 13:51:32 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455054692; bh=MmrA8KOnZViXULgpyk/u+/gN3PYFav92VTjFGrZxIp0=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Uf4r9jmyUSi27d/DaDY35mXTIgzjyEVnBgAr/TkLb00AWuEVMPY7gu6tavQHw8mAR mdZMaEB2/WMqU6oylg6pfCkS0OsOFQooe7BrLhGFC8sHpS5BclMsBeh2gzZnzYlcgB BFlUyp6a/bunP/8MzPVWx4tiFDxWogbEr/LLI31U= From: dbrolley Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba5f6423dd8_71063f95c05d92c0590574"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: dbrolley X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1455054705 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba5f6423dd8_71063f95c05d92c0590574 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Merged #66. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#event-544992607 ----==_mimepart_56ba5f6423dd8_71063f95c05d92c0590574 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Merged #66.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba5f6423dd8_71063f95c05d92c0590574-- From brolley@redhat.com Tue Feb 9 15:54:00 2016 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=3.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP autolearn=no 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 7317829DF6 for ; Tue, 9 Feb 2016 15:54:00 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 069038F8064 for ; Tue, 9 Feb 2016 13:53:53 -0800 (PST) X-ASG-Debug-ID: 1455054832-04bdf066ed30f50001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id vZpKBbRLuuNKK07W (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 13:53:53 -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-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id C964919CBD1 for ; Tue, 9 Feb 2016 21:53:52 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u19Lrqld026110 for ; Tue, 9 Feb 2016 16:53:52 -0500 Message-ID: <56BA5FE9.3070303@redhat.com> Date: Tue, 09 Feb 2016 16:53:45 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: traszakaunt pcp2graphite Improvement Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: traszakaunt pcp2graphite Improvement Content-Transfer-Encoding: 7bit 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: 1455054833 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master test-account-0 (4): pcp2graphite improvement: send all metrics at once in pickled mode pcp2graphite: cPickle instead of pickle pcp2graphite: option to specify pickle protocol pcp2graphite: workaround for cPickle and Python 3 src/pcp2graphite/pcp2graphite.py | 40 ++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) From noreply@github.com Tue Feb 9 16:00:09 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 AF45C29DF6 for ; Tue, 9 Feb 2016 16:00:09 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 31A80AC005 for ; Tue, 9 Feb 2016 14:00:09 -0800 (PST) X-ASG-Debug-ID: 1455055205-04cbb0433246670001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id bTpxbcaCNsQEfLlq (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 14:00:06 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTGKH-0005Lz-Fs for ; Wed, 10 Feb 2016 09:00:04 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Tue, 09 Feb 2016 13:59:54 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455055194; bh=0wVj96jltS6OXQPxL76eWlR5k+CtOxgXR2yY3nah7dA=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=AoVrQcQoKFXvPlct47jjyONlV9eKnP+DSKZnipGXN7TGx5Pu5CAb2qICKsU6qq0pO 8QqpP0eHbwbg7twVI4GX/X7lRoLnHDxGfUK/AG0JtHMSGJeqvObpaAKVXB4t8eoxF9 li57on5QJgfFdI1x8C8IENdqgnu17DwjavXBlLyw= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba615ab5d72_49393fe1148c52a0610f9"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1455055206 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba615ab5d72_49393fe1148c52a0610f9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit > I went ahead and merged this @dbrolley heh, there's no rush, take yer time. Yep, I think same output makes sense from a cursory glance. And just realised we also need a man page update here for the new option. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#issuecomment-182096919 ----==_mimepart_56ba615ab5d72_49393fe1148c52a0610f9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I went ahead and merged this

@dbrolley heh, there's no rush, take yer time. Yep, I think same output makes sense from a cursory glance. And just realised we also need a man page update here for the new option.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba615ab5d72_49393fe1148c52a0610f9-- From kenj@internode.on.net Tue Feb 9 16:01:26 2016 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 4E5BA29DFA for ; Tue, 9 Feb 2016 16:01:26 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 40839304048 for ; Tue, 9 Feb 2016 14:01:23 -0800 (PST) X-ASG-Debug-ID: 1455055278-04cbb04332466e0001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id 7AgAF4UtK9HbD7TG for ; Tue, 09 Feb 2016 14:01:19 -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: A2DdAQD6YLpWPFBJ0XYNUIQMbYZjgXmzExmFdAKCBAEBAQEBAQcBAQEBQYUBAQEEOEARCxgJFg8JAwIBAgExFBMGAgEBsm2FAY9ZAQEIAgEdikmEfoNuAQSNJ4lRhUyJX0qMToptg1KEWlaIUwEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail05.adl6.internode.on.net with ESMTP; 10 Feb 2016 08:31:08 +1030 Subject: Re: [pcp] Queston about pcp performance metrics filesys.used To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used References: From: Ken McDonell Message-ID: <56BA61A4.8090404@internode.on.net> Date: Wed, 10 Feb 2016 09:01:08 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1455055278 X-Barracuda-URL: https://192.48.176.25:443/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.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- G'day William. On 10/02/16 01:37, William_Staten@navyfederal.org wrote: > Good Morning. I wanted to know for the filesys metrics, was it a way to > get the name of the filesystem mounted or the full device mapper name to > display instead of just "/dev/dm-#". For example if I want to see the > metric for filesys.used for /home, instead of showing /dev/dm-7, could I > get rootvg-homelv to get displayed or /home to get displayed instead of > /dev/dm-7? The filesys.foo metrics in general export information about a filesystem which is why the instance domain is defined over the set of devices. The mount point information is more ephemeral, but is also available in filesys.mountdir. If your use case involves reporting or command line tools, a small amount of awk or perl or python would allow you to map from device names to mount path ... kenj@bozo:~/src/pcp/src/libpcp/src$ pminfo -f -h vm03 filesys.mountdir filesys.used filesys.mountdir inst [0 or "/dev/dm-0"] value "/" inst [1 or "/dev/vda1"] value "/boot" filesys.used inst [0 or "/dev/dm-0"] value 7874836 inst [1 or "/dev/vda1"] value 219658 Otherwise you're stuck with the device names I'm afraid. I'll let someone else with device mapper knowledge answer the short (dm-x) vs long (device-mapper-name) name part of your question, especially as the disk.dm.* metrics seem to have opted for the other name ... kenj@bozo:~/src/pcp/src/libpcp/src$ pminfo -f -h vm03 disk.dm.total disk.dm.total inst [0 or "fedora-swap"] value 66392 inst [1 or "fedora-root"] value 668074 From noreply@github.com Tue Feb 9 16:07:42 2016 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=2.8 required=5.0 tests=HTML_IMAGE_ONLY_24, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 0A07029DF5 for ; Tue, 9 Feb 2016 16:07:42 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id EC8F4304051 for ; Tue, 9 Feb 2016 14:07:41 -0800 (PST) X-ASG-Debug-ID: 1455055657-04cb6c1e572ff50001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id Y1GQfxGFNo7iYkLJ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 14:07:38 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext6.iad.github.net ([192.30.252.197] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTGRZ-0008KK-AJ for ; Wed, 10 Feb 2016 09:07:36 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.197 X-Barracuda-RBL-IP: 192.30.252.197 X-Barracuda-BBL-IP: 192.30.252.197 Date: Tue, 09 Feb 2016 14:07:25 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455055646; bh=WIT8heX9H9NgGQaq4D9QfPRVnCLpCVKB6938C2OZ9b4=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=gSsTP8Xmtxd8SBrLeM1LK4lFtG+YUTx79Zd3icGtxh3bsO4C0Z/vRkWbEgrgCsORm m18O3t8ssF7AfmSQ/QCESQsJ0Ry+pVnIvEudKfAJSIDj7/vHpE3ett97P2WuP21u8l ZlAz26ispXcMM/o+8rDLO5i+MQXU26mejFHCQQxI= From: Rares Vernica Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba631df138d_511b3feb616dd29c331ac"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rvernica X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1455055658 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-BRTS-Evidence: pcp.io X-Barracuda-Spam-Score: 1.28 X-Barracuda-Spam-Status: No, SCORE=1.28 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_24, HTML_IMAGE_ONLY_24_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_24 BODY: HTML: images with 2000-2400 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 1.28 HTML_IMAGE_ONLY_24_2 HTML: images with 2000-2400 bytes of words ----==_mimepart_56ba631df138d_511b3feb616dd29c331ac Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I modified the `acme.c` example provided in the [Programmer's Guide](http://www.pcp.io/books/PCP_PG/html/id5213288nat.html) and [here](https://github.com/performancecopilot/pcp/blob/master/src/pmdas/mmv/acme.c) do generate negative numbers. When reading the values produced, `pminfo` displays the values correctly but `pmval` prints `!` in place of the negative values. ``` $ pminfo -f mmv.acme.products.count mmv.acme.products.count inst [0 or "Anvils"] value -1849.6024 inst [1 or "Rockets"] value -3.6371837e+31 inst [2 or "Giant_Rubber_Bands"] value -6.3034399e+09 $ pmval mmv.acme.products.count metric: mmv.acme.products.count host: beaglebone-01 semantics: instantaneous value units: byte samples: all full label for instance[0]: Anvils full label for instance[1]: Rockets full label for instance[2]: Giant_Rubber_Bands Anvils Rockets Giant_Rubber_ ! 1.194E-05 3.127E-35 ! 2.816E-30 1.712E-17 4.185E-28 0.8811 1.438E-32 ``` This might be the location in `pmval` where this might need to be fixed [pmval.c#L505](https://github.com/performancecopilot/pcp/blob/master/src/pmval/pmval.c#L505) You can see [here](https://gist.github.com/rvernica/7244ce8bc0c87499065d/revisions?diff=unified) the changes made to `acme.c` to print negative numbers. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67 ----==_mimepart_56ba631df138d_511b3feb616dd29c331ac Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I modified the acme.c example provided in the Programmer's Guide and here do generate negative numbers.

When reading the values produced, pminfo displays the values correctly but pmval prints ! in place of the negative values.

$ pminfo -f mmv.acme.products.count

mmv.acme.products.count
    inst [0 or "Anvils"] value -1849.6024
    inst [1 or "Rockets"] value -3.6371837e+31
    inst [2 or "Giant_Rubber_Bands"] value -6.3034399e+09

$ pmval mmv.acme.products.count

metric:    mmv.acme.products.count
host:      beaglebone-01
semantics: instantaneous value
units:     byte
samples:   all
full label for instance[0]: Anvils
full label for instance[1]: Rockets
full label for instance[2]: Giant_Rubber_Bands

       Anvils       Rockets Giant_Rubber_
            !     1.194E-05     3.127E-35
            !     2.816E-30     1.712E-17
    4.185E-28        0.8811     1.438E-32

This might be the location in pmval where this might need to be fixed pmval.c#L505

You can see here the changes made to acme.c to print negative numbers.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba631df138d_511b3feb616dd29c331ac-- From noreply@github.com Tue Feb 9 16:14:29 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 44EBB29DF5 for ; Tue, 9 Feb 2016 16:14:29 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id EA4C5AC004 for ; Tue, 9 Feb 2016 14:14:25 -0800 (PST) X-ASG-Debug-ID: 1455056062-04bdf066eb315b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id Mhb8KIzlk1al4QJ0 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 14:14:24 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext4.iad.github.net ([192.30.252.195] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTGY5-0006sS-Lr for ; Wed, 10 Feb 2016 09:14:22 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.195 X-Barracuda-RBL-IP: 192.30.252.195 X-Barracuda-BBL-IP: 192.30.252.195 Date: Tue, 09 Feb 2016 14:14:10 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455056050; bh=xGes9iHb3fkjFaII0+hBtXn8Y4RsRTDQUtEqtnsEVIo=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=fi2wQFaewGUilj3xoVminFxBj+mfmMdp31hQnjSV+MdNOEquYuTZtWtk1yKK2ebiI 2s5ptJmKfa1IL8wjSwdOdgAJHNopXMFCvD+R6z8NHnqfIYekrOUxTIodtWUQAD9tWr +FewrDQjZtu2U5tnzpQtqFVB8tz5p4aBjRnliTB0= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba64b253900_49413fe1148c52a065914"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1455056063 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba64b253900_49413fe1148c52a065914 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Bit more info... Rares, ooc, what are you measuring that you're expecting to go negative? I am measuring curents temperature would be another example ok, yep BTW, I struggled a bit on setting the dimensions i'll bet I used this MMV_UNITS(1,0,0,PM_SPACE_BYTE,0,0), so I put my current/temperature in the Space dimension did I get it right? well, there is no real "right" in that situation - pcp was not really designed to measure that sort of thing - i would be inclined to just go with all zeroes for units I see. OK, I will play around with it --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67#issuecomment-182102895 ----==_mimepart_56ba64b253900_49413fe1148c52a065914 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Bit more info...

Rares, ooc, what are you measuring that you're expecting to go negative?
I am measuring curents
temperature would be another example
ok, yep
BTW, I struggled a bit on setting the dimensions
i'll bet
I used this MMV_UNITS(1,0,0,PM_SPACE_BYTE,0,0), so I put my current/temperature in the Space dimension
did I get it right?
well, there is no real "right" in that situation - pcp was not really designed to measure that sort of thing - i would be inclined to just go with all zeroes for units
I see. OK, I will play around with it


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba64b253900_49413fe1148c52a065914-- From noreply@github.com Tue Feb 9 16:18:23 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 0E78629DF5 for ; Tue, 9 Feb 2016 16:18:23 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B04B8AC005 for ; Tue, 9 Feb 2016 14:18:22 -0800 (PST) X-ASG-Debug-ID: 1455056299-04bdf066ed316e0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id z4Is6Eu1zRJ602Gx (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 14:18:20 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from github-smtp2-ext7.iad.github.net ([192.30.252.198] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTGbv-0006Cq-IX for ; Wed, 10 Feb 2016 09:18:19 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.198 X-Barracuda-RBL-IP: 192.30.252.198 X-Barracuda-BBL-IP: 192.30.252.198 Date: Tue, 09 Feb 2016 14:18:08 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455056288; bh=1BhwE8qvnOrfVd9ziHgMRUhNlcTqA0r7PthRcJUJtkA=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=bTY1cjmiTJ1Gyc4eH3GjprscThsd9dHVXpmIB2B2pjMnnFU/SeOHt9WF5moRlqmMh FPHrMohuOGG31Pf66cQ5G5wr4PiWi1M8N8h9MhDFIA0xShY3S7nC8mml+AMqAq4WQP a8jq75gxEKBiI3+K1lQtyQIrNiEGK3lKAI0NhAp8= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba65a0732a7_6a203f9e200572bc141192"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1455056300 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26898 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba65a0732a7_6a203f9e200572bc141192 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit OK ... in 21 years this is the first time I've ever seen a PMDA that exports a negative value for an instantaneous metric ... nothing wrong with that, just outside the design envelope (and hence out of mind). I would suspect that a lot more than pmval would be broken by this ... we'll need to extend the sample PMDA, then audit all the tools. But I do not expect the scope of the changes to be large (once you've addressed all 4 PM_TYPE_*s that could be used to hold a negative value). Thanks, Rares. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67#issuecomment-182104036 ----==_mimepart_56ba65a0732a7_6a203f9e200572bc141192 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

OK ... in 21 years this is the first time I've ever seen a PMDA that exports a negative value for an instantaneous metric ... nothing wrong with that, just outside the design envelope (and hence out of mind).

I would suspect that a lot more than pmval would be broken by this ... we'll need to extend the sample PMDA, then audit all the tools. But I do not expect the scope of the changes to be large (once you've addressed all 4 PM_TYPE_*s that could be used to hold a negative value).

Thanks, Rares.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba65a0732a7_6a203f9e200572bc141192-- From noreply@github.com Tue Feb 9 17:15:37 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 223E229DF5 for ; Tue, 9 Feb 2016 17:15:37 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B8DC7AC005 for ; Tue, 9 Feb 2016 15:15:33 -0800 (PST) X-ASG-Debug-ID: 1455059729-04bdf066eb32700001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id jH4xfsQHIfr2mLhR (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 15:15:30 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTHVF-0002NI-J7 for ; Wed, 10 Feb 2016 10:15:29 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Tue, 09 Feb 2016 15:15:18 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455059718; bh=nJtlI5C9wR07vwGBm7DhYC5tRSqWWGlBnGB1+YfOeHE=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=XEMHevjfnYItvM6+KuDQ6vCDU920Zo14QCNNwiuJUWwV0Ryvrd6xsepOhiqdAC2G5 0C2SNe8QTv69Bzh9bYzlqRctEX97DNmMIunG44egGTZzbXoUT6InckCdVikVKMHrAT Vs3iiYQ2wysMyTmlwQ4mFixVN7cLWwCCVTkuoNmg= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba73069f3a7_2563fd6f5f532bc92416"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1455059730 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26899 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba73069f3a7_2563fd6f5f532bc92416 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Temperature ... that's a blast from the past! One of the first PMDAs I wrote as a proof of concept for data outside Unix kernel metrics (this was very early on) was the roomtemp PMDA that used a 1-wire Dallas digital thermometer connected via the COM port to my laptop. At the time the only testing environment was the dodgy freezer of the refrigerator in the hotel room where I wrote the PMDA one evening, and it was barely able to get to 0, much less anything negative! --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67#issuecomment-182128759 ----==_mimepart_56ba73069f3a7_2563fd6f5f532bc92416 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Temperature ... that's a blast from the past!
One of the first PMDAs I wrote as a proof of concept for data outside Unix kernel metrics (this was very early on) was the roomtemp PMDA that used a 1-wire Dallas digital thermometer connected via the COM port to my laptop.
At the time the only testing environment was the dodgy freezer of the refrigerator in the hotel room where I wrote the PMDA one evening, and it was barely able to get to 0, much less anything negative!


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba73069f3a7_2563fd6f5f532bc92416-- From noreply@github.com Tue Feb 9 17:25:42 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 2647429DF6 for ; Tue, 9 Feb 2016 17:25:42 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 09D42304043 for ; Tue, 9 Feb 2016 15:25:39 -0800 (PST) X-ASG-Debug-ID: 1455060335-04cbb0433147d50001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id G9mIZRYFY1ntNOAz (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 15:25:37 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext1.iad.github.net ([192.30.252.192] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTHf2-0003f8-KQ for ; Wed, 10 Feb 2016 10:25:35 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.192 X-Barracuda-RBL-IP: 192.30.252.192 X-Barracuda-BBL-IP: 192.30.252.192 Date: Tue, 09 Feb 2016 15:25:25 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455060325; bh=M3+IrGsLTKX4OuPfeTey15B9CzpP1lzdpMc/9Q+4sms=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=hayDwCwTkOijj/tLrqrCcOv4pagVa0u+BrGM+afsovH1qMeu1XNvMDq+TzseaUEK4 rRUe5vY+/WrpawX5T9aaaLe9r1JwO7jsPI+SS5b2KbG9oiphDgXYKToSgk8qz+cSme c+I9mreSXpqxBLDMiEMoHFL6wO/voqmBu00Uxw20= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite improvement: send all metrics at once in pickled mode (#66) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba7565121bc_1ec93ffd9a8252bc805b"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1455060336 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26900 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba7565121bc_1ec93ffd9a8252bc805b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit @dbrolley I'll add the test case @test-account-0 could you update the man page for the new option? Also, can you send through author details (name and email address) for these commits please? There's some concern about tracking who/where code is coming from, and we like to give commit log recognition to contributors too. Thanks! --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/66#issuecomment-182131496 ----==_mimepart_56ba7565121bc_1ec93ffd9a8252bc805b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

@dbrolley I'll add the test case
@test-account-0 could you update the man page for the new option? Also, can you send through author details (name and email address) for these commits please? There's some concern about tracking who/where code is coming from, and we like to give commit log recognition to contributors too.

Thanks!


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba7565121bc_1ec93ffd9a8252bc805b-- From hemant@linux.vnet.ibm.com Tue Feb 9 17:28:49 2016 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 784E829DF6 for ; Tue, 9 Feb 2016 17:28:49 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5811F304039 for ; Tue, 9 Feb 2016 15:28:49 -0800 (PST) X-ASG-Debug-ID: 1455060523-04cbb0433147e30001-S8gJnT Received: from e28smtp03.in.ibm.com (e28smtp03.in.ibm.com [125.16.236.3]) by cuda.sgi.com with ESMTP id v60HDCxj4dteCuGK (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 09 Feb 2016 15:28:45 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.3 Received: from localhost by e28smtp03.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 10 Feb 2016 04:58:43 +0530 Received: from d28relay04.in.ibm.com (9.184.220.61) by e28smtp03.in.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 10 Feb 2016 04:58:41 +0530 X-IBM-Helo: d28relay04.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay04.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u19NSaJT59047960 for ; Wed, 10 Feb 2016 04:58:36 +0530 Received: from d28av05.in.ibm.com (localhost [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u19NSdwV025349 for ; Wed, 10 Feb 2016 04:58:40 +0530 Received: from orion.in.ibm.com ([9.79.189.107]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u19NSS7n025063; Wed, 10 Feb 2016 04:58:36 +0530 From: Hemant Kumar To: pcp@oss.sgi.com Cc: nathans@redhat.com, Hemant Kumar Subject: [PATCH v3 2/3] qa/perfevent: Add unit tests for perf derived events Date: Wed, 10 Feb 2016 04:58:18 +0530 X-ASG-Orig-Subj: [PATCH v3 2/3] qa/perfevent: Add unit tests for perf derived events Message-Id: <1455060499-14670-2-git-send-email-hemant@linux.vnet.ibm.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> X-TM-AS-MML: disable x-cbid: 16020923-0009-0000-0000-00000A74A276 X-Barracuda-Connect: e28smtp03.in.ibm.com[125.16.236.3] X-Barracuda-Start-Time: 1455060525 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.26900 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This patch adds some unit tests for perf derived events. The first test case is to check the number of the perf derived events. Second test case checks if there is a mismatch between the cpu configuration of the perf derived events' counters. Third test case checks if there is a counter in derived list which is not enabled in the perfevent.conf base list. Signed-off-by: Hemant Kumar --- qa/perfevent/config/test_derived_counters.txt | 13 +++ .../config/test_derived_counters_fail_mismatch.txt | 13 +++ .../config/test_derived_counters_fail_missing.txt | 13 +++ qa/perfevent/perf_event_test.c | 122 ++++++++++++++++++--- 4 files changed, 145 insertions(+), 16 deletions(-) create mode 100644 qa/perfevent/config/test_derived_counters.txt create mode 100644 qa/perfevent/config/test_derived_counters_fail_mismatch.txt create mode 100644 qa/perfevent/config/test_derived_counters_fail_missing.txt diff --git a/qa/perfevent/config/test_derived_counters.txt b/qa/perfevent/config/test_derived_counters.txt new file mode 100644 index 0000000..b3e8789 --- /dev/null +++ b/qa/perfevent/config/test_derived_counters.txt @@ -0,0 +1,13 @@ +[pmuname ] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED +RS_UOPS_DISPATCHED_CYCLES +RS_UOPS_DISPATCHED + +[derived_event1:derived] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED + +[derived_event2:derived] +RS_UOPS_DISPATCHED_CYCLES +RS_UOPS_DISPATCHED diff --git a/qa/perfevent/config/test_derived_counters_fail_mismatch.txt b/qa/perfevent/config/test_derived_counters_fail_mismatch.txt new file mode 100644 index 0000000..a720323 --- /dev/null +++ b/qa/perfevent/config/test_derived_counters_fail_mismatch.txt @@ -0,0 +1,13 @@ +[pmuname ] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED +RS_UOPS_DISPATCHED_CYCLES +RS_UOPS_DISPATCHED + +[derived_event1:derived] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED + +[derived_event2:derived] +RS_UOPS_DISPATCHED_CYCLES +RS_UOPS_DISPATCHED node diff --git a/qa/perfevent/config/test_derived_counters_fail_missing.txt b/qa/perfevent/config/test_derived_counters_fail_missing.txt new file mode 100644 index 0000000..2da24f8 --- /dev/null +++ b/qa/perfevent/config/test_derived_counters_fail_missing.txt @@ -0,0 +1,13 @@ +[pmuname ] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED +RS_UOPS_DISPATCHED_CYCLES +RS_UOPS_DISPATCHED + +[derived_event1:derived] +BRANCH_INSTRUCTIONS_RETIRED +MISPREDICTED_BRANCH_RETIRED + +[derived_event2:derived] +RS_UOPS_DISPATCHED_CYCLES +xyz diff --git a/qa/perfevent/perf_event_test.c b/qa/perfevent/perf_event_test.c index 3e4dc3a..5b3e2ba 100644 --- a/qa/perfevent/perf_event_test.c +++ b/qa/perfevent/perf_event_test.c @@ -23,27 +23,28 @@ void test_init() perf_counter *data = NULL; int nevents = 0; + perf_derived_counter *pdata = NULL; + int nderivedevents = 0; - int i = perf_get(h, &data, &nevents); + int i = perf_get(h, &data, &nevents, &pdata, &nderivedevents); assert(i > 0 ); assert(nevents == 2); assert(data != NULL); - /* Check that the data buffer gets reused in the next call to perf_get */ + /* Check that the data and pdata buffer gets reused in the next call to perf_get */ perf_counter *olddata = data; int oldevents = nevents; - i = perf_get(h, &data, &nevents); + i = perf_get(h, &data, &nevents, &pdata, &nderivedevents); assert(i > 0 ); assert(nevents == oldevents); assert(data == olddata); - perf_event_destroy(h); - perf_counter_destroy(data, nevents); + perf_counter_destroy(data, nevents, pdata, nderivedevents); } void test_event_programming_fail() @@ -71,8 +72,10 @@ void test_event_programming_fail() perf_counter *data = NULL; int nevents = 0; + perf_derived_counter *pdata = NULL; + int nderivedevents = 0; - int i = perf_get(h, &data, &nevents); + int i = perf_get(h, &data, &nevents, &pdata, &nderivedevents); assert(i > 0 ); assert(nevents == 2); @@ -81,7 +84,7 @@ void test_event_programming_fail() assert( 0 == strcmp("counter3", data[0].name) ); assert( 0 == strcmp("counter0", data[1].name) ); - perf_counter_destroy(data, nevents); + perf_counter_destroy(data, nevents, pdata, nderivedevents); perf_event_destroy(h); } @@ -144,8 +147,10 @@ void test_lots_of_counters() perf_counter *data = NULL; int size = 0; + perf_derived_counter *pdata = NULL; + int derivedsize = 0; - int count = perf_get(h, &data, &size); + int count = perf_get(h, &data, &size, &pdata, &derivedsize); assert(count > 0 ); assert(size > 0); @@ -163,7 +168,7 @@ void test_lots_of_counters() } perf_event_destroy(h); - perf_counter_destroy(data, size); + perf_counter_destroy(data, size, pdata, derivedsize); wrap_sysconf_override = 0; } @@ -182,8 +187,10 @@ void test_node_rr() perf_counter *data = NULL; int size = 0; + perf_derived_counter *pdata = NULL; + int derivedsize = 0; - int count = perf_get(h, &data, &size); + int count = perf_get(h, &data, &size, &pdata, &derivedsize); assert(count == (3 * 32 + 4 * 4) ); assert(size == (3 + 4) ); @@ -210,7 +217,7 @@ void test_node_rr() } perf_event_destroy(h); - perf_counter_destroy(data, size); + perf_counter_destroy(data, size, pdata, derivedsize); } void test_missing_pmu_config() @@ -312,13 +319,15 @@ void test_api_safety() /* Check that it doesn't segfault if the user calls the api with null pointers. */ perf_event_create(NULL); - perf_counter_destroy( NULL, 213); + perf_counter_destroy( NULL, 213, NULL, 0); perf_event_destroy( NULL ); int tmp; perf_counter *data; - perf_get(NULL, &data, &tmp); + perf_derived_counter *pdata; + int derived_tmp; + perf_get(NULL, &data, &tmp, &pdata, &derived_tmp); perfhandle_t tmp1; - perf_get( &tmp1, NULL, &tmp); + perf_get( &tmp1, NULL, &tmp, &pdata, &derived_tmp); } void test_malloc_checking() @@ -400,8 +409,10 @@ void test_rapl() perf_counter *data = NULL; int size = 0; + perf_derived_counter *pdata = NULL; + int derivedsize = 0; - int count = perf_get(h, &data, &size); + int count = perf_get(h, &data, &size, &pdata, &derivedsize); assert(count > 0 ); assert(size > 0); @@ -419,7 +430,7 @@ void test_rapl() } perf_event_destroy(h); - perf_counter_destroy(data, size); + perf_counter_destroy(data, size, pdata, derivedsize); wrap_sysconf_override = 0; } @@ -510,6 +521,76 @@ void test_numa_parser_fail() free(inst); } +void test_derived_counters() +{ + wrap_sysconf_override = 1; + wrap_sysconf_retcode = 1; + + printf( " ===== %s ==== \n", __FUNCTION__) ; + + const char *eventlist = "config/test_derived_counters.txt"; + + perfhandle_t *h = perf_event_create(eventlist); + + assert( h != NULL ); + + perf_counter *data = NULL; + int size = 0; + perf_derived_counter *pddata = NULL; + int derivedsize = 0; + + int count = perf_get(h, &data, &size, &pddata, &derivedsize); + + assert(count > 0 ); + assert(size > 0); + assert(data != NULL); + assert(pddata != NULL); + assert(derivedsize == 2); + + int i; + int j; + for(i = 0; i < derivedsize; ++i) + { + printf("pddata[%d].name = %s pddata[%d].instances = %d\n", i, pddata[i].name, i, pddata[i].ninstances); + perf_counter_list *clist = pddata[i].counter_list; + while(clist) + { + printf("clist->name : %s\n", clist->counter->name); + clist = clist->next; + } + for(j = 0; j < pddata[i].ninstances; j++) + { + printf("\tvalue[%d] = %llu\n", j, (long long unsigned int)pddata[i].data[j].value); + } + } + + perf_event_destroy(h); + perf_counter_destroy(data, size, pddata, derivedsize); + wrap_sysconf_override = 0; +} + +void test_derived_counters_fail_mismatch() +{ + printf( " ===== %s ==== \n", __FUNCTION__) ; + + const char *eventlist = "config/test_derived_counters_fail_mismatch.txt"; + + perfhandle_t *h = perf_event_create(eventlist); + + assert( h == NULL ); +} + +void test_derived_counters_fail_missing() +{ + printf( " ===== %s ==== \n", __FUNCTION__) ; + + const char *eventlist = "config/test_derived_counters_fail_missing.txt"; + + perfhandle_t *h = perf_event_create(eventlist); + + assert( h == NULL ); +} + int runtest(int n) { init_mock(); @@ -571,6 +652,15 @@ int runtest(int n) case 17: test_rapl(); break; + case 18: + test_derived_counters(); + break; + case 19: + test_derived_counters_fail_mismatch(); + break; + case 20: + test_derived_counters_fail_missing(); + break; default: ret = -1; } -- 1.9.3 From hemant@linux.vnet.ibm.com Tue Feb 9 17:28:55 2016 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 1120329DFC for ; Tue, 9 Feb 2016 17:28:55 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E80BF8F8052 for ; Tue, 9 Feb 2016 15:28:51 -0800 (PST) X-ASG-Debug-ID: 1455060527-04cb6c1e5731290001-S8gJnT Received: from e28smtp07.in.ibm.com (e28smtp07.in.ibm.com [125.16.236.7]) by cuda.sgi.com with ESMTP id A0Ou04RTToF9DkF4 (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 09 Feb 2016 15:28:49 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.7 Received: from localhost by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 10 Feb 2016 04:58:46 +0530 Received: from d28relay01.in.ibm.com (9.184.220.58) by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 10 Feb 2016 04:58:44 +0530 X-IBM-Helo: d28relay01.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay01.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u19NSi5g6816030 for ; Wed, 10 Feb 2016 04:58:44 +0530 Received: from d28av05.in.ibm.com (localhost [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u19NSgNB025510 for ; Wed, 10 Feb 2016 04:58:43 +0530 Received: from orion.in.ibm.com ([9.79.189.107]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u19NSS7o025063; Wed, 10 Feb 2016 04:58:40 +0530 From: Hemant Kumar To: pcp@oss.sgi.com Cc: nathans@redhat.com, Hemant Kumar Subject: [PATCH v3 3/3] man5/perfevent: Add syntax and other info to perfevent.conf manpage Date: Wed, 10 Feb 2016 04:58:19 +0530 X-ASG-Orig-Subj: [PATCH v3 3/3] man5/perfevent: Add syntax and other info to perfevent.conf manpage Message-Id: <1455060499-14670-3-git-send-email-hemant@linux.vnet.ibm.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> X-TM-AS-MML: disable x-cbid: 16020923-0025-0000-0000-000009D78AE8 X-Barracuda-Connect: e28smtp07.in.ibm.com[125.16.236.7] X-Barracuda-Start-Time: 1455060528 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26900 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This patch adds the necessary information regarding the usage of derived perf events to perfevent.conf.5 man page. Signed-off-by: Hemant Kumar --- man/man5/perfevent.conf.5 | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/man/man5/perfevent.conf.5 b/man/man5/perfevent.conf.5 index 0c43919..5e068fa 100644 --- a/man/man5/perfevent.conf.5 +++ b/man/man5/perfevent.conf.5 @@ -31,7 +31,9 @@ configured events. If multiple PMUs are available, the perfevent PMDA uses the order of the entries in the configuration file to determine which PMU settings to use. The entries at the top of the configuration file have higher precedence. Only one PMU configuration setting -is used. +is used. The configuration file may also contain perf derived events. A derived +event has a list of events which must be listed as base events. The values for +the counters in the derived events are aggregated and displayed. .SH FILE FORMAT The file consists of one or more groups of PMUs and the events that go with them. .PP @@ -47,6 +49,21 @@ The PMU identification string is enclosed in brackets and one or more events are .B ... .RE .PP +For derived events, the derived perf event is enclosed in brackets along with +:derived as a suffix. Note that the EVENT_NAME listed under derived event must +be present as a base event in the configuration file. And, all the events under +a particular derived perf event must have the same CPU_OPTION. The syntax is : +.PP +.RS +.B [event:derived] +.RE +.RS +.B EVENT_NAME [CPU_OPTION] +.RE +.RS +.B ... +.RE +.PP The available event cpu options are as follows: .TP .B cpu -- 1.9.3 From hemant@linux.vnet.ibm.com Tue Feb 9 17:30:00 2016 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 4D1C729DF6 for ; Tue, 9 Feb 2016 17:30:00 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 06102304039 for ; Tue, 9 Feb 2016 15:29:59 -0800 (PST) X-ASG-Debug-ID: 1455060515-04bdf066ed329f0001-S8gJnT Received: from e28smtp08.in.ibm.com (e28smtp08.in.ibm.com [125.16.236.8]) by cuda.sgi.com with ESMTP id wp4cRgttkNnXOSLd (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 09 Feb 2016 15:29:52 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.8 Received: from localhost by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 10 Feb 2016 04:58:34 +0530 Received: from d28relay02.in.ibm.com (9.184.220.59) by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 10 Feb 2016 04:58:31 +0530 X-IBM-Helo: d28relay02.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay02.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u19NSQeq25231618 for ; Wed, 10 Feb 2016 04:58:26 +0530 Received: from d28av05.in.ibm.com (localhost [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u19NSTCM025112 for ; Wed, 10 Feb 2016 04:58:29 +0530 Received: from orion.in.ibm.com ([9.79.189.107]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u19NSS7m025063; Wed, 10 Feb 2016 04:58:28 +0530 From: Hemant Kumar To: pcp@oss.sgi.com Cc: nathans@redhat.com, Hemant Kumar Subject: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events Date: Wed, 10 Feb 2016 04:58:17 +0530 X-ASG-Orig-Subj: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events Message-Id: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> X-Mailer: git-send-email 1.9.3 X-TM-AS-MML: disable x-cbid: 16020923-0029-0000-0000-00000AD48AF5 X-Barracuda-Connect: e28smtp08.in.ibm.com[125.16.236.8] X-Barracuda-Start-Time: 1455060590 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.26900 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This patch gives the ability to perfevent agent to monitor derived events. Derived events are based on the hardware/perf counters. An user can now just say that a derived event is based on so and so basic counters. And, perfevent agent will find the value for the derived event. For e.g., in perfevent.conf file, we can say : [bandwidth:derived] snbep_unc_imc0::UNC_M_CAS_COUNT:RD node snbep_unc_imc0::UNC_M_CAS_COUNT:WR node snbep_unc_imc1::UNC_M_CAS_COUNT:RD node snbep_unc_imc1::UNC_M_CAS_COUNT:WR node snbep_unc_imc2::UNC_M_CAS_COUNT:RD node snbep_unc_imc2::UNC_M_CAS_COUNT:WR node snbep_unc_imc3::UNC_M_CAS_COUNT:RD node snbep_unc_imc3::UNC_M_CAS_COUNT:WR node And, do a pmval : # pmval perfevent.derived.bandwidth.value metric: perfevent.derived.bandwidth.value host: .... semantics: cumulative counter (converting to rate) units: count (converting to count / sec) samples: all cpu0 cpu8 4.606E+06 1.303E+06 4.590E+06 1.763E+06 This will give us the accumulated counters value per node. The patch extends the syntax of perfevent.conf to add the following syntax : [derived_event:derived] event_name [cpu option] Note that, the event names that are mentioned for derived_event must be active on that machine and also present in the perfevent.conf file. Also, the cpu option for all the events listed under derived_event must match or else, the derived_event won't be activated. So, the required derived perf event configuration is read and then, a list of the events needed by the derived event is created. The perf derived events' values are monitored along with the basic perf events. the derived events don't open any new counters but will take the values from the existing counters (perf_get()). Right now, the perf derived events will only accumulate the values listed for them. Going forward, we can add more capabilities. Adding scale to the perf events will be needed for certain events and will be added to the derived events. Looking forward for your suggestion/comments. Signed-off-by: Hemant Kumar --- Changes since v2: - Fixed some issues which showed up during qa. src/pmdas/perfevent/Install | 1 + src/pmdas/perfevent/configparser.h | 12 +- src/pmdas/perfevent/configparser.l | 129 +++++++++++++++++--- src/pmdas/perfevent/perfevent.conf | 5 + src/pmdas/perfevent/perfinterface.c | 233 +++++++++++++++++++++++++++++++++++- src/pmdas/perfevent/perfinterface.h | 23 +++- src/pmdas/perfevent/perfmanager.c | 4 +- src/pmdas/perfevent/perfmanager.h | 2 +- src/pmdas/perfevent/pmda.c | 101 ++++++++++++++-- src/pmdas/perfevent/pmns | 4 +- 10 files changed, 477 insertions(+), 37 deletions(-) mode change 100644 => 100755 src/pmdas/perfevent/Install diff --git a/src/pmdas/perfevent/Install b/src/pmdas/perfevent/Install old mode 100644 new mode 100755 index dd159c2..e0a3cfd --- a/src/pmdas/perfevent/Install +++ b/src/pmdas/perfevent/Install @@ -28,6 +28,7 @@ perl_opt=false python_opt=false socket_opt=true socket_inet_def=2078 +pmns_dupok=true pmdaSetup pmdaInstall diff --git a/src/pmdas/perfevent/configparser.h b/src/pmdas/perfevent/configparser.h index 43e722d..a999828 100644 --- a/src/pmdas/perfevent/configparser.h +++ b/src/pmdas/perfevent/configparser.h @@ -42,11 +42,22 @@ typedef struct pmcconfiguration { pmcsetting_t *pmcSettingList; } pmcconfiguration_t; +typedef struct pmcderived { + char *name; + int nsettings; + pmcsetting_t *derivedSettingList; +} pmcderived_t; + typedef struct configuration { pmcconfiguration_t *configArr; size_t nConfigEntries; + pmcderived_t *derivedArr; + size_t nDerivedEntries; } configuration_t; +int context_newpmc; +int context_derived; /* A flag to check the current pmc */ + /* \brief parse the perf event configuration file * This function allocates memory. The returned object should be passed to * free_configuration() to clean up the memory. @@ -58,5 +69,4 @@ configuration_t *parse_configfile(const char *filename); /* \brief returns the memory allocated by the parse_configfile() function */ void free_configuration(configuration_t *); - #endif diff --git a/src/pmdas/perfevent/configparser.l b/src/pmdas/perfevent/configparser.l index 42b21ad..da2357a 100644 --- a/src/pmdas/perfevent/configparser.l +++ b/src/pmdas/perfevent/configparser.l @@ -20,22 +20,45 @@ %{ #include "configparser.h" -static void new_pmctype(configuration_t *conf) +static int is_derived(char *name) { - if(NULL == conf) - { - return; - } + char *str = NULL; + + str = strchr(name, ':'); + if (!str) + return 0; + if (!strcmp(str, ":derived")) + return 1; + return 0; +} + +static void add_derived(configuration_t *config, char *name) +{ + pmcderived_t *entry; + char *ptr; - ++conf->nConfigEntries; - conf->configArr = realloc(conf->configArr, conf->nConfigEntries * sizeof *conf->configArr); + if (!name) + return; + ++config->nDerivedEntries; - if(NULL == conf->configArr) + config->derivedArr = realloc(config->derivedArr, config->nDerivedEntries * sizeof *config->derivedArr); + + if(NULL == config->derivedArr) { - conf->nConfigEntries = 0; + config->nDerivedEntries = 0; return; } - memset(&conf->configArr[conf->nConfigEntries-1], 0, sizeof *conf->configArr); + + ptr = strchr(name, ':'); + *ptr = '\0'; + memset(&config->derivedArr[config->nDerivedEntries-1], 0, sizeof *config->derivedArr); + + entry = &config->derivedArr[config->nDerivedEntries-1]; + + entry->name = strdup(name); + entry->nsettings = 0; + entry->derivedSettingList = NULL; + context_derived = 1; } static void add_pmctype(configuration_t *config, char *name) @@ -47,16 +70,59 @@ static void add_pmctype(configuration_t *config, char *name) { return; } - if(0 == config->nConfigEntries) + if (is_derived(name)) + return add_derived(config, name); + + if (context_newpmc) + { + ++config->nConfigEntries; + config->configArr = realloc(config->configArr, config->nConfigEntries * sizeof *config->configArr); + memset(&config->configArr[config->nConfigEntries-1], 0, sizeof *config->configArr); + } + if(NULL == config->configArr) { + config->nConfigEntries = 0; return; } - entry = &config->configArr[config->nConfigEntries-1]; + entry = &config->configArr[config->nConfigEntries-1]; newpmctype = malloc(sizeof *newpmctype); newpmctype->name = strdup(name); newpmctype->next = entry->pmcTypeList; entry->pmcTypeList = newpmctype; + context_derived = 0; + context_newpmc = 0; +} + +static void add_pmc_setting_name_derived(configuration_t *config, char *name) +{ + pmcderived_t *entry; + pmcsetting_t *slist, *newpmcderivedsetting; + + if (0 == config->nDerivedEntries) + { + return; + } + entry = &config->derivedArr[config->nDerivedEntries - 1]; + newpmcderivedsetting = calloc(1, sizeof *newpmcderivedsetting); + newpmcderivedsetting->name = strdup(name); + newpmcderivedsetting->cpuConfig = CPUCONFIG_EACH_CPU; + newpmcderivedsetting->next = NULL; + + slist = entry->derivedSettingList; + if (slist == NULL) + { + entry->derivedSettingList = newpmcderivedsetting; + } + else + { + while(slist->next) + { + slist = slist->next; + } + slist->next = newpmcderivedsetting; + } + entry->nsettings++; } static void add_pmcsetting_name(configuration_t *config, char *name) @@ -72,6 +138,10 @@ static void add_pmcsetting_name(configuration_t *config, char *name) { return; } + + if (context_derived) + return add_pmc_setting_name_derived(config, name); + entry = &config->configArr[config->nConfigEntries-1]; newpmcsetting = malloc(sizeof *newpmcsetting); @@ -90,7 +160,19 @@ static void set_pmcsetting_cpuconfig(configuration_t *config, int cpuconfig) return; } - pmcsetting = config->configArr[config->nConfigEntries-1].pmcSettingList; + if (context_derived) + { + pmcsetting = config->derivedArr[config->nDerivedEntries-1].derivedSettingList; + while(pmcsetting->next) + { + pmcsetting = pmcsetting->next; + } + } + else + { + pmcsetting = config->configArr[config->nConfigEntries-1].pmcSettingList; + } + if( NULL == pmcsetting ) { @@ -144,7 +226,7 @@ void free_configuration(configuration_t *config) { int i; pmctype_t *pmcTypeDel; - pmcsetting_t *pmcSettingDel; + pmcsetting_t *pmcSettingDel, *tmp; if(NULL == config) { @@ -170,7 +252,22 @@ void free_configuration(configuration_t *config) free(pmcSettingDel); } } + + for(i = 0; i < config->nDerivedEntries; ++i) + { + tmp = pmcSettingDel = config->derivedArr[i].derivedSettingList; + while(tmp != NULL) + { + tmp = tmp->next; + free(pmcSettingDel); + pmcSettingDel = tmp; + } + + if (config->derivedArr[i].name) + free(config->derivedArr[i].name); + } free(config->configArr); + free(config->derivedArr); free(config); } @@ -190,7 +287,7 @@ void free_configuration(configuration_t *config) [ \t\r] ; /* ignore whitespace */ \n BEGIN(INITIAL); /* new-line always resets state machine */ -^\[ { BEGIN(PMCTYPELIST); new_pmctype(yyextra); /* a '[' char at beginning of line signals start of a list of PMC types */ } +^\[ { BEGIN(PMCTYPELIST); context_newpmc = 1;/* a '[' char at beginning of line signals start of a list of PMC types */ } { \"[^\"]*\" { /* strip quotes */ yytext[strlen(yytext)-1] = '\0'; add_pmctype(yyextra, &yytext[1] ); /* allow any char in quotes except the quote char */ } @@ -233,6 +330,8 @@ configuration_t *parse_configfile(const char *filename) config = malloc(sizeof *config); config->configArr = NULL; config->nConfigEntries = 0; + config->derivedArr = NULL; + config->nDerivedEntries = 0; yylex_init(&scanner); yyset_extra(config, scanner); diff --git a/src/pmdas/perfevent/perfevent.conf b/src/pmdas/perfevent/perfevent.conf index f955d8e..25421a1 100644 --- a/src/pmdas/perfevent/perfevent.conf +++ b/src/pmdas/perfevent/perfevent.conf @@ -11,6 +11,11 @@ # # if the CPU option is absent it defaults to all cpus. # +# For derived events : +# [event:derived] +# EVENT_NAME [CPU OPTION] +# where the CPU OPTION must match for all the events in a derived event. +# [amd64_fam10h_barcelona amd64_fam10h_shanghai amd64_fam10h_istanbul] diff --git a/src/pmdas/perfevent/perfinterface.c b/src/pmdas/perfevent/perfinterface.c index 989c20c..d5b1ff4 100644 --- a/src/pmdas/perfevent/perfinterface.c +++ b/src/pmdas/perfevent/perfinterface.c @@ -53,11 +53,24 @@ typedef struct event_t_ { int ncpus; } event_t; +typedef struct event_list_t_ { + event_t *event; + struct event_list_t_ *next; +} event_list_t; + +typedef struct derived_event_t_ { + char *name; + event_list_t *event_list; +} derived_event_t; + typedef struct perfdata_t_ { int nevents; event_t *events; + int nderivedevents; + derived_event_t *derived_events; + /* information about the architecture (number of cpus, numa nodes etc) */ archinfo_t *archinfo; @@ -134,6 +147,91 @@ static void free_perfdata(perfdata_t *del) pfm_terminate(); } +/* + * Search an event from the event list + */ +static event_t *search_event(perfdata_t *inst, const char *event_name) +{ + int i; + + for (i = 0; i < inst->nevents; i++) { + if (!strcmp(event_name, inst->events[i].name)) { + return ((inst->events) + i); + } + } + + return NULL; +} + +/* + * Setup a derived event + */ +static int perf_setup_derived_event(perfdata_t *inst, pmcderived_t *derived_pmc) +{ + derived_event_t *curr, *derived_events = inst->derived_events; + int nderivedevents = inst->nderivedevents; + event_t *event; + pmcsetting_t *derived_setting; + event_list_t *ptr, *tmp, *event_list; + int cpuconfig; + + tmp = NULL; + event_list = NULL; + if (0 == derived_pmc->nsettings) + return -E_PERFEVENT_LOGIC; + + derived_events = realloc(derived_events, + (nderivedevents + 1) * sizeof(*derived_events)); + if (NULL == derived_events) { + free(inst->derived_events); + inst->nderivedevents = 0; + inst->derived_events = NULL; + return -E_PERFEVENT_REALLOC; + } + + derived_setting = derived_pmc->derivedSettingList; + if (derived_setting) + cpuconfig = derived_setting->cpuConfig; + while (derived_setting) { + if (cpuconfig != derived_setting->cpuConfig) { + fprintf(stderr, "Mismatch in cpu configuration\n"); + return -E_PERFEVENT_LOGIC; + } + event = search_event(inst, derived_setting->name); + if (NULL == event) { + fprintf(stderr, "Derived setting %s not found\n", derived_setting->name); + return -E_PERFEVENT_LOGIC; + } + derived_setting = derived_setting->next; + + tmp = calloc(1, sizeof(*tmp)); + if (NULL == tmp) { + return -E_PERFEVENT_REALLOC; + } + tmp->event = event; + tmp->next = NULL; + + if (NULL == event_list) { + event_list = tmp; + ptr = event_list; + } else { + ptr->next = tmp; + ptr = ptr->next; + } + } + + tmp = event_list; + + curr = derived_events + nderivedevents; + curr->name = strdup(derived_pmc->name); + curr->event_list = event_list; + (inst->nderivedevents)++; + inst->derived_events = derived_events; + + return 0; +} + + /* Setup an event */ static int perf_setup_event(perfdata_t *inst, const char *eventname, const int cpuSetting) @@ -483,7 +581,101 @@ int perf_counter_enable(perfhandle_t *inst, int enable) return n; } -int perf_get(perfhandle_t *inst, perf_counter **counters, int *size) +static perf_counter *get_counter(perf_counter **counters, int size, const char *str) +{ + perf_counter *pcounter = *counters; + int idx, ncounters = size; + + for (idx = 0; idx < ncounters; idx++) { + if (!strcmp(pcounter[idx].name, str)) { + return (pcounter + idx); + } + } + return NULL; +} + +static int perf_derived_get(perf_derived_counter **derived_counters, + int *derived_size, perfdata_t *pdata, + perf_counter **counters, int *size) +{ + int idx, cpuidx; + + perf_derived_counter *pdcounter = *derived_counters; + int nderivedcounters = *derived_size; + + if(NULL == pdcounter || nderivedcounters != pdata->nderivedevents) + { + pdcounter = malloc(pdata->nderivedevents * sizeof *pdcounter); + if (NULL == pdcounter) { + return -E_PERFEVENT_REALLOC; + } + memset(pdcounter, 0, pdata->nderivedevents * sizeof *pdcounter); + nderivedcounters = pdata->nderivedevents; + + for (idx = 0; idx < pdata->nderivedevents; idx++) { + derived_event_t *derived_event = &pdata->derived_events[idx]; + event_list_t *event_list = derived_event->event_list; + perf_counter_list *counter_list, *ptr, *curr; + perf_counter *counter; + + counter_list = ptr =curr = NULL; + pdcounter[idx].name = derived_event->name; + + while (event_list != NULL) { + counter = get_counter(counters, *size, event_list->event->name); + if (counter != NULL) { + ptr = calloc(1, sizeof(*ptr)); + if (!ptr) + return -E_PERFEVENT_REALLOC; + ptr->counter = counter; + ptr->next = NULL; + if (counter_list == NULL) { + counter_list = ptr; + curr = ptr; + } else { + curr->next = ptr; + curr = curr->next; + } + } + event_list = event_list->next; + } + /* + * For every counter in a derived_event, we have ninstances and + * they should match + */ + pdcounter[idx].counter_list = counter_list; + if (pdcounter[idx].counter_list != NULL) + pdcounter[idx].ninstances = (pdcounter[idx].counter_list)->counter->ninstances; + pdcounter[idx].data = calloc(pdcounter[idx].ninstances, sizeof(uint64_t)); + } + *derived_counters = pdcounter; + *derived_size = nderivedcounters; + } + + if (pdcounter) { + nderivedcounters = *derived_size; + + for (idx = 0; idx < nderivedcounters; idx++) { + perf_counter_list *clist; + perf_counter *ctr; + + for (cpuidx = 0; cpuidx < pdcounter[idx].ninstances; cpuidx++) { + pdcounter[idx].data[cpuidx].value = 0; + clist = pdcounter[idx].counter_list; + while(clist) { + ctr = clist->counter; + pdcounter[idx].data[cpuidx].value += ctr->data[cpuidx].value; + clist = clist->next; + } + } + } + } + + return 0; +} + +int perf_get(perfhandle_t *inst, perf_counter **counters, int *size, + perf_derived_counter **derived_counters, int *derived_size) { int cpuidx, idx, events_read; @@ -565,16 +757,19 @@ int perf_get(perfhandle_t *inst, perf_counter **counters, int *size) *counters = pcounter; *size = ncounters; + if (pcounter != 0) + perf_derived_get(derived_counters, derived_size, pdata, counters, size); + return events_read; } - perfhandle_t *perf_event_create(const char *config_file) { - int ret; + int ret, i; perfdata_t *inst = 0; configuration_t *perfconfig = 0; pmcsetting_t *pmcsetting = 0; + pmcderived_t *derivedpmc = 0; ret = pfm_initialize(); if (ret != PFM_SUCCESS) @@ -614,6 +809,18 @@ perfhandle_t *perf_event_create(const char *config_file) pmcsetting = pmcsetting->next; } + /* Setup the derived events */ + if (inst && perfconfig && perfconfig->nDerivedEntries) + { + for (i = 0; i < perfconfig->nDerivedEntries; i++) { + int ret; + derivedpmc = &(perfconfig->derivedArr[i]); + ret = perf_setup_derived_event(inst, derivedpmc); + if (ret < 0) + return NULL; + } + } + free_configuration(perfconfig); out: @@ -628,7 +835,7 @@ out: return (perfhandle_t *)inst; } -void perf_counter_destroy(perf_counter *data, int size) +void perf_counter_destroy(perf_counter *data, int size, perf_derived_counter *derived_counters, int derived_size) { if(NULL == data) { @@ -641,6 +848,24 @@ void perf_counter_destroy(perf_counter *data, int size) free(data[i].data); } + if (NULL == derived_counters) + { + return; + } + for (i = 0; i < derived_size; ++i) + { + perf_counter_list *tmp, *clist = NULL; + + free(derived_counters[i].name); + free(derived_counters[i].data); + tmp = clist = derived_counters[i].counter_list; + while (clist) { + clist = clist->next; + free(tmp); + tmp = clist; + } + } + free(data); } diff --git a/src/pmdas/perfevent/perfinterface.h b/src/pmdas/perfevent/perfinterface.h index 444c972..1fc6223 100644 --- a/src/pmdas/perfevent/perfinterface.h +++ b/src/pmdas/perfevent/perfinterface.h @@ -33,11 +33,30 @@ typedef struct perf_counter_t_ int ninstances; } perf_counter; +typedef struct perf_derived_data_t_ +{ + uint64_t value; +} perf_derived_data; + +typedef struct perf_counter_list_t_ +{ + perf_counter *counter; + struct perf_counter_list_t_ *next; +} perf_counter_list; + +typedef struct perf_derived_counter_t_ +{ + char *name; + perf_derived_data *data; + int ninstances; + perf_counter_list *counter_list; +} perf_derived_counter; + typedef intptr_t perfhandle_t; perfhandle_t *perf_event_create(const char *configfile); -void perf_counter_destroy(perf_counter *data, int size); +void perf_counter_destroy(perf_counter *data, int size, perf_derived_counter *derived_counter, int derived_size); void perf_event_destroy(perfhandle_t *inst); @@ -45,7 +64,7 @@ void perf_event_destroy(perfhandle_t *inst); #define PERF_COUNTER_DISABLE 1 int perf_counter_enable(perfhandle_t *inst, int enable); -int perf_get(perfhandle_t *inst, perf_counter **data, int *size); +int perf_get(perfhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size); #define E_PERFEVENT_LOGIC 1 #define E_PERFEVENT_REALLOC 2 diff --git a/src/pmdas/perfevent/perfmanager.c b/src/pmdas/perfevent/perfmanager.c index 14d7dee..c2a51a2 100644 --- a/src/pmdas/perfevent/perfmanager.c +++ b/src/pmdas/perfevent/perfmanager.c @@ -126,7 +126,7 @@ static void monitor_destroy(monitor_t *del) free(del); } -int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size) +int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size) { monitor_t *m = ((manager_t *)inst)->monitor; int res = 0; @@ -137,7 +137,7 @@ int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size) * first call regardless of the enable/disable state */ if(m->counter_state == PERF_COUNTER_ENABLE || m->first_time) { - res = perf_get(m->perf, data, size); + res = perf_get(m->perf, data, size, derived_counter, derived_size); m->first_time = 0; if(m->has_been_disabled) diff --git a/src/pmdas/perfevent/perfmanager.h b/src/pmdas/perfevent/perfmanager.h index ed7918d..a40ed79 100644 --- a/src/pmdas/perfevent/perfmanager.h +++ b/src/pmdas/perfevent/perfmanager.h @@ -26,7 +26,7 @@ perfmanagerhandle_t *manager_init(const char *configfilename); void manager_destroy(perfmanagerhandle_t *mgr); -int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size); +int perf_get_r(perfmanagerhandle_t *inst, perf_counter **data, int *size, perf_derived_counter **derived_counter, int *derived_size); int perf_enabled(perfmanagerhandle_t *inst); diff --git a/src/pmdas/perfevent/pmda.c b/src/pmdas/perfevent/pmda.c index 650914b..a8ec5ae 100644 --- a/src/pmdas/perfevent/pmda.c +++ b/src/pmdas/perfevent/pmda.c @@ -57,6 +57,8 @@ static perfmanagerhandle_t *perfif; static perf_counter *hwcounters; static int nhwcounters; +static perf_derived_counter *derived_counters; +static int nderivedcounters; static int activecounters; /* @@ -79,6 +81,7 @@ static __pmnsTree *pmns; typedef struct dynamic_metric_info { perf_counter *hwcounter; + perf_derived_counter *derived_counter; int pmid_index; const char *help_text; } dynamic_metric_info_t; @@ -118,11 +121,21 @@ static pmdaMetric default_metric_settings[] = }, }; +static pmdaMetric derived_metric_settings[] = + { + /* perfevent.derived.{DERIVEDCOUNTER} */ + { NULL, /* m_user */ { 0 /*pmid */, PM_TYPE_DOUBLE, 0 /* instance domain */, + PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) + }, + }, + }; + #define METRICSPERCOUNTER (sizeof(default_metric_settings)/sizeof(default_metric_settings[0])) +#define METRICSPERDERIVED (sizeof(derived_metric_settings)/sizeof(derived_metric_settings[0])) static const char *dynamic_nametab[] = { - /* perfevent.hwcounters.{HWCOUNTER}.value */ + /* perfevent.hwcounters.{HWCOUNTER,DERIVED}.value */ "value", /* perfevent.hwcounters.{HWCOUNTER}.dutycycle */ "dutycycle" @@ -136,6 +149,12 @@ static const char *dynamic_helptab[] = "The ratio of the time that the hardware counter was enabled to the total run time" }; +static const char *dynamic_derived_helptab[] = +{ + /* perfevent.hwcounters.{DERIVED}.value */ + "The values of the derived events" +}; + static char mypath[MAXPATHLEN]; static int isDSO = 1; /* =0 I am a daemon */ static char *username; @@ -172,7 +191,7 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV return PM_ERR_PMID; } } - else if(idp->cluster >= (nhwcounters + NUM_STATIC_CLUSTERS) ) + else if(idp->cluster >= (nderivedcounters + nhwcounters + NUM_STATIC_CLUSTERS) ) { return PM_ERR_PMID; } @@ -184,12 +203,22 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV return PM_ERR_PMID; } - const perf_data *pdata = &(pinfo->hwcounter->data[inst]); + const perf_data *pdata = NULL; + const perf_derived_data *pddata = NULL; + + if (idp->cluster >= NUM_STATIC_CLUSTERS + nhwcounters) { + pddata = &(pinfo->derived_counter->data[inst]); + } else { + pdata = &(pinfo->hwcounter->data[inst]); + } switch(pinfo->pmid_index) { case 0: - atom->ll = pdata->value; + if (idp->cluster >= nhwcounters + NUM_STATIC_CLUSTERS) + atom->d = pddata->value; + else + atom->ll = pdata->value; break; case 1: if(pdata->time_enabled > 0) @@ -219,7 +248,7 @@ static int perfevent_profile(__pmProfile *prof, pmdaExt *pmda) */ static int perfevent_fetch(int numpmid, pmID pmidlist[], pmResult **resp, pmdaExt *pmda) { - activecounters = perf_get_r(perfif, &hwcounters, &nhwcounters); + activecounters = perf_get_r(perfif, &hwcounters, &nhwcounters, &derived_counters, &nderivedcounters); pmdaEventNewClient(pmda->e_context); return pmdaFetch(numpmid, pmidlist, resp, pmda); @@ -299,6 +328,23 @@ static void config_indom(pmdaIndom *pindom, int index, perf_counter *counter) } } +static void config_indom_derived(pmdaIndom *pindom, int index, perf_derived_counter *derived_counter) +{ + int i; + char cpuname[32]; + + pindom->it_indom = index; + pindom->it_numinst = derived_counter->ninstances; + pindom->it_set = calloc(derived_counter->ninstances, sizeof(pmdaInstid) ); + + for(i = 0; i < derived_counter->ninstances; ++i) + { + sprintf(cpuname, "cpu%d", derived_counter->counter_list->counter->data[i].id); + pindom->it_set[i].i_inst = i; + pindom->it_set[i].i_name = strdup(cpuname); + } +} + /* \brief Initialise the perf events interface and read the counters * * Note this function needs the correct OS permissions to succeed. Either @@ -321,7 +367,7 @@ static int setup_perfevents() return -1; } - ret = perf_get_r(perfif, &hwcounters, &nhwcounters); + ret = perf_get_r(perfif, &hwcounters, &nhwcounters, &derived_counters, &nderivedcounters); if( ret < 0 ) { err_desc = perf_strerror(ret); @@ -336,7 +382,7 @@ static void teardown_perfevents() { manager_destroy(perfif); perfif = 0; - perf_counter_destroy(hwcounters, nhwcounters); + perf_counter_destroy(hwcounters, nhwcounters, derived_counters, nderivedcounters); hwcounters = 0; nhwcounters = 0; } @@ -355,9 +401,12 @@ static int setup_metrics() int index; nummetrics = (nhwcounters * METRICSPERCOUNTER) + NUM_STATIC_METRICS; - numindoms = nhwcounters + NUM_STATIC_INDOMS; + nummetrics += (nderivedcounters * METRICSPERDERIVED); + numindoms = nderivedcounters + nhwcounters + NUM_STATIC_INDOMS; - dynamic_metric_infotab = malloc( nhwcounters * METRICSPERCOUNTER * sizeof(*dynamic_metric_infotab) ); + dynamic_metric_infotab = malloc( ((nhwcounters * METRICSPERCOUNTER) + + (nderivedcounters * METRICSPERDERIVED)) + * sizeof(*dynamic_metric_infotab) ); metrictab = malloc( nummetrics * sizeof(*metrictab) ); indomtab = malloc( numindoms * sizeof(*indomtab) ); @@ -406,6 +455,27 @@ static int setup_metrics() } } + for (i = 0; i < nderivedcounters; i++) { + cluster = i + nhwcounters + NUM_STATIC_CLUSTERS; + indom = i + nhwcounters + NUM_STATIC_INDOMS; + + config_indom_derived( &indomtab[indom], indom, &derived_counters[i]); + + memcpy(pmetric, derived_metric_settings, sizeof(derived_metric_settings)); + for(index = 0; index < METRICSPERDERIVED; index++) { + /* Setup metrics info (used within this PMDA) */ + pinfo->derived_counter = &derived_counters[i]; + pinfo->pmid_index = index; + pinfo->help_text = dynamic_derived_helptab[index]; + /* Initialize pmdaMetric settings (required by API) */ + pmetric->m_desc.pmid = PMDA_PMID( cluster, index); + pmetric->m_desc.indom = indom; + pmetric->m_user = pinfo; + ++pinfo; + ++pmetric; + } + } + return 0; } @@ -479,6 +549,17 @@ static int setup_pmns() free(id); } + for (i = 0; i < nderivedcounters; ++i) { + char *id = normalize_metric_name(derived_counters[i].name); + for(j = 0; j < METRICSPERDERIVED; j++) { + snprintf(name, sizeof(name), + PMDANAME ".derived.%s.%s", id, dynamic_nametab[j]); + __pmAddPMNSNode(pmns, pmetric[j].m_desc.pmid, name); + } + pmetric += METRICSPERDERIVED; + free(id); + } + /* for reverse (pmid->name) lookups */ pmdaTreeRebuildHash(pmns, nummetrics); @@ -530,7 +611,7 @@ perfevent_init(pmdaInterface *dp) pmdaSetFetchCallBack(dp, perfevent_fetchCallBack); pmdaSetEndContextCallBack(dp, perfevent_end_contextCallBack); - pmdaInit(dp, indomtab, nhwcounters, metrictab, nummetrics); + pmdaInit(dp, indomtab, nhwcounters + nderivedcounters, metrictab, nummetrics); if(setup_pmns() < 0) { diff --git a/src/pmdas/perfevent/pmns b/src/pmdas/perfevent/pmns index 17c6d11..46425e9 100644 --- a/src/pmdas/perfevent/pmns +++ b/src/pmdas/perfevent/pmns @@ -18,5 +18,5 @@ perfevent { version PERFEVENT:0:0 active PERFEVENT:0:1 hwcounters PERFEVENT:*:* -} - + derived PERFEVENT:*:* +} \ No newline at end of file -- 1.9.3 From noreply@github.com Tue Feb 9 17:51:08 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 F249029DF5 for ; Tue, 9 Feb 2016 17:51:07 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id D12448F8033 for ; Tue, 9 Feb 2016 15:51:07 -0800 (PST) X-ASG-Debug-ID: 1455061864-04cb6c1e5631790001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id FXC2qkMtY7QzjeZm (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 09 Feb 2016 15:51:05 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext8.iad.github.net ([192.30.252.199] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTI3d-0004MF-MP for ; Wed, 10 Feb 2016 10:51:03 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.199 X-Barracuda-RBL-IP: 192.30.252.199 X-Barracuda-BBL-IP: 192.30.252.199 Date: Tue, 09 Feb 2016 15:50:50 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455061850; bh=RhVDzZdn533v1F/0GQbbAUeVdtD0wTdfyQ5tvSTXZSg=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=tkjlQOLO7w+31X1ozivIkfjC3MnO8LQ4yoYN64z2DBXNIw7qcrfafv9w8tGGjZO5s L5RDDWvEDSt4HuR1xWF3X43yaSdY659Q2uq0GO8Mu03jEt40Ie7e++hCp6vYhsg9tX 2XuqJ4zlBsUPgEFq5KHNYr4V5pZNl0DKx4geEFxE= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56ba7b5a34531_45f33fd37cd192c01995be"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1455061865 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26901 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ba7b5a34531_45f33fd37cd192c01995be Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit But as Frank has pointed out there is already at least one metric with instantaneous semantics and often negative value ... kenj@bozo:~$ pminfo -dtf swapdev.priority swapdev.priority [swap resource priority] Data Type: 32-bit int InDom: 60.6 0xf000006 Semantics: instant Units: count inst [0 or "/dev/sda7"] value -1 Now the Units are wrong (I'll fix that), but otherwise similar ... but interestingly kenj@bozo:~$ pmval swapdev.priority metric: swapdev.priority host: bozo semantics: instantaneous value units: count samples: all /dev/sda7 -1 -1 works ... so this may be as small as a corner case in the handling of non-integer values in pmval, as Rares originally suggested. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67#issuecomment-182136769 ----==_mimepart_56ba7b5a34531_45f33fd37cd192c01995be Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

But as Frank has pointed out there is already at least one metric with instantaneous semantics and often negative value ...
kenj@bozo:~$ pminfo -dtf swapdev.priority

swapdev.priority [swap resource priority]
Data Type: 32-bit int InDom: 60.6 0xf000006
Semantics: instant Units: count
inst [0 or "/dev/sda7"] value -1

Now the Units are wrong (I'll fix that), but otherwise similar ... but interestingly

kenj@bozo:~$ pmval swapdev.priority

metric: swapdev.priority
host: bozo
semantics: instantaneous value
units: count
samples: all

/dev/sda7
-1
-1

works ... so this may be as small as a corner case in the handling of non-integer values in pmval, as Rares originally suggested.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ba7b5a34531_45f33fd37cd192c01995be-- From tukbhv@cmue.com Tue Feb 9 18:11:04 2016 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=2.0 required=5.0 tests=DEAR_SOMETHING,HTML_MESSAGE autolearn=no 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 B3D0429DF5 for ; Tue, 9 Feb 2016 18:11:04 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1882BAC006 for ; Tue, 9 Feb 2016 16:11:03 -0800 (PST) X-ASG-Debug-ID: 1455063057-04cbb04333487e0001-S8gJnT Received: from cmue.com (67.229.225.53.static.krypt.com [67.229.225.53]) by cuda.sgi.com with ESMTP id aJMpZOqY4CCAbGWI for ; Tue, 09 Feb 2016 16:10:58 -0800 (PST) X-Barracuda-Envelope-From: tukbhv@cmue.com X-Barracuda-Apparent-Source-IP: 67.229.225.53 Received: from sunny-PC ([127.0.0.1]) by localhost via TCP with ESMTPA; Wed, 10 Feb 2016 08:14:36 +0800 Disposition-Notification-To: mrrcym@126.com MIME-Version: 1.0 From: "Emma Ma" Sender: "Emma Ma" To: pcp@oss.sgi.com Reply-To: "Emma Ma" Date: 10 Feb 2016 08:14:36 +0800 Subject: =?utf-8?B?QWxOaUNPIG1hZ25ldCBhbmQgRmVDckNvIG1hZ25ldCB0byBwY3A=?= Content-Type: multipart/alternative; boundary=--boundary_59643_a527c322-158a-40b5-abe3-a7a2c85e5d0a X-ASG-Orig-Subj: =?utf-8?B?QWxOaUNPIG1hZ25ldCBhbmQgRmVDckNvIG1hZ25ldCB0byBwY3A=?= X-Barracuda-Connect: 67.229.225.53.static.krypt.com[67.229.225.53] X-Barracuda-Start-Time: 1455063057 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.14 X-Barracuda-Spam-Status: No, SCORE=0.14 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MISSING_MID X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26901 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 HTML_MESSAGE BODY: HTML included in message Message-Id: <20160210001103.6BB90106C15B@cuda.sgi.com> ----boundary_59643_a527c322-158a-40b5-abe3-a7a2c85e5d0a Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 DQoNCkRlYXIgU2lyIG9yIE1hZGFtLA0KDQombmJzcDsNCg0KJm5ic3A7DQoNCiZuYnNwOw0K DQombmJzcDsNCg0KJm5ic3A7DQoNCiZuYnNwOw0KDQombmJzcDsNCg0KJm5ic3A7DQoNCiZu YnNwOw0KDQoNCg0KDQoNCiZuYnNwOw0KV2UgcHJvZHVjZSBBbE5pQ28gbWFnbmV0IGFuZCZu YnNwO0ZlQ3JDbyZuYnNwO21hZ25ldCB3aXRoIGNvbXBldGl0aXZlIHByaWNlIGFuZCBiZXN0 IHF1YWxpdHkgaW4gQ2hpbmEuDQombmJzcDsNCktpbmRseSBwbGVhc2UgY29udGFjdCBtZSBp ZiB5b3UgaW50ZXJlc3RlZC4NCiZuYnNwOw0KQmVzdCByZWdhcmRzLA0KJm5ic3A7DQombmJz cDsNCkVtbWEgTWENCiZuYnNwOw0KDQpOaW5nYm8gU1NEIE1hZ25ldGljcyBDbyBMdGQNCkFk ZDpTaW1lbiBpbmR1c3RyaWFsIHBhcmsseXV5YW8mbmJzcDssWmhlamlhbmcsQ2hpbmENClRl bDombmJzcDsrODYtNTc0LTYyMTU4ODgzRmF4OiZuYnNwOys4Ni01NzQtNjIxNTg4ODUNCk1v YmlsZTorODYtMTU4NTc0Njk2MDkNCldlYnNpdGU6Jm5ic3A7d3d3Lm1hZ25ldC1uYnNzZC5j b20mbmJzcDtFbWFpbDpFbW1hQG1hZ25ldC1uYnNzZC5jb20NCiZuYnNwOw0KJm5ic3A7DQoN Cg0KDQoNCiZuYnNwOw0KDQombmJzcDsNCklmIGRpc3R1cmIgLHBscyB1bnN1YnNjcmliZQ0K Jm5ic3A7DQombmJzcDs= ----boundary_59643_a527c322-158a-40b5-abe3-a7a2c85e5d0a Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsIj4NCjxESVYgc3R5bGU9IkZPTlQtRkFN SUxZOiBhcmlhbCI+DQo8RElWIHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dS T1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgRk9OVC1WQVJJQU5UOiBub3JtYWw7IEZP TlQtU1RZTEU6IG5vcm1hbDsgVEVYVC1JTkRFTlQ6IDBweDsgRElTUExBWTogaW5saW5lOyBG T05ULUZBTUlMWTogQ2FsaWJyaTsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgTEVUVEVSLVNQQUNJ Tkc6IG5vcm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7IEZPTlQtU0laRTogc21hbGw7IEZPTlQt V0VJR0hUOiBub3JtYWw7IFdPUkQtU1BBQ0lORzogMHB4OyBURVhULURFQ09SQVRJT046IG5v bmU7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+PEZPTlQgZmFjZT0iVGltZXMg TmV3IFJvbWFuIj5EZWFyIFNpciBvciBNYWRhbSw8L0ZPTlQ+PC9ESVY+PC9ESVY+DQo8RElW IHN0eWxlPSJGT05ULUZBTUlMWTogYXJpYWwiPg0KPERJViBzdHlsZT0iVEVYVC1UUkFOU0ZP Uk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUsMjU1LDI1NSk7IEZPTlQtVkFS SUFOVDogbm9ybWFsOyBGT05ULVNUWUxFOiBub3JtYWw7IFRFWFQtSU5ERU5UOiAwcHg7IERJ U1BMQVk6IGlubGluZTsgRk9OVC1GQU1JTFk6IENhbGlicmk7IFdISVRFLVNQQUNFOiBub3Jt YWw7IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBGT05ULVNJ WkU6IHNtYWxsOyBGT05ULVdFSUdIVDogbm9ybWFsOyBXT1JELVNQQUNJTkc6IDBweDsgVEVY VC1ERUNPUkFUSU9OOiBub25lOyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHgiPjxG T05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+PC9GT05UPiZuYnNwOzwvRElWPjwvRElWPg0K PERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsIj4NCjxESVYgc3R5bGU9IlRFWFQtVFJB TlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9SOiByZ2IoMjU1LDI1NSwyNTUpOyBGT05U LVZBUklBTlQ6IG5vcm1hbDsgRk9OVC1TVFlMRTogbm9ybWFsOyBURVhULUlOREVOVDogMHB4 OyBESVNQTEFZOiBpbmxpbmU7IEZPTlQtRkFNSUxZOiBDYWxpYnJpOyBXSElURS1TUEFDRTog bm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdiKDAsMCwwKTsgRk9O VC1TSVpFOiBzbWFsbDsgRk9OVC1XRUlHSFQ6IG5vcm1hbDsgV09SRC1TUEFDSU5HOiAwcHg7 IFRFWFQtREVDT1JBVElPTjogbm9uZTsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4 Ij48Rk9OVCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPjwvRk9OVD4mbmJzcDs8L0RJVj48L0RJ Vj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbCI+DQo8RElWIHN0eWxlPSJURVhU LVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsg Rk9OVC1WQVJJQU5UOiBub3JtYWw7IEZPTlQtU1RZTEU6IG5vcm1hbDsgVEVYVC1JTkRFTlQ6 IDBweDsgRElTUExBWTogaW5saW5lOyBGT05ULUZBTUlMWTogQ2FsaWJyaTsgV0hJVEUtU1BB Q0U6IG5vcm1hbDsgTEVUVEVSLVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7 IEZPTlQtU0laRTogc21hbGw7IEZPTlQtV0VJR0hUOiBub3JtYWw7IFdPUkQtU1BBQ0lORzog MHB4OyBURVhULURFQ09SQVRJT046IG5vbmU7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6 IDBweCI+PEZPTlQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj48L0ZPTlQ+Jm5ic3A7PC9ESVY+ PC9ESVY+DQo8RElWIHN0eWxlPSJGT05ULUZBTUlMWTogYXJpYWwiPg0KPERJViBzdHlsZT0i VEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUsMjU1LDI1 NSk7IEZPTlQtVkFSSUFOVDogbm9ybWFsOyBGT05ULVNUWUxFOiBub3JtYWw7IFRFWFQtSU5E RU5UOiAwcHg7IERJU1BMQVk6IGlubGluZTsgRk9OVC1GQU1JTFk6IENhbGlicmk7IFdISVRF LVNQQUNFOiBub3JtYWw7IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9SOiByZ2IoMCww LDApOyBGT05ULVNJWkU6IHNtYWxsOyBGT05ULVdFSUdIVDogbm9ybWFsOyBXT1JELVNQQUNJ Tkc6IDBweDsgVEVYVC1ERUNPUkFUSU9OOiBub25lOyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp ZHRoOiAwcHgiPjxGT05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+PC9GT05UPiZuYnNwOzwv RElWPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsIj4NCjxESVYgc3R5 bGU9IlRFWFQtVFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9SOiByZ2IoMjU1LDI1 NSwyNTUpOyBGT05ULVZBUklBTlQ6IG5vcm1hbDsgRk9OVC1TVFlMRTogbm9ybWFsOyBURVhU LUlOREVOVDogMHB4OyBESVNQTEFZOiBpbmxpbmU7IEZPTlQtRkFNSUxZOiBDYWxpYnJpOyBX SElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdi KDAsMCwwKTsgRk9OVC1TSVpFOiBzbWFsbDsgRk9OVC1XRUlHSFQ6IG5vcm1hbDsgV09SRC1T UEFDSU5HOiAwcHg7IFRFWFQtREVDT1JBVElPTjogbm9uZTsgLXdlYmtpdC10ZXh0LXN0cm9r ZS13aWR0aDogMHB4Ij48Rk9OVCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPjwvRk9OVD4mbmJz cDs8L0RJVj48L0RJVj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbCI+DQo8RElW IHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1 NSwyNTUsMjU1KTsgRk9OVC1WQVJJQU5UOiBub3JtYWw7IEZPTlQtU1RZTEU6IG5vcm1hbDsg VEVYVC1JTkRFTlQ6IDBweDsgRElTUExBWTogaW5saW5lOyBGT05ULUZBTUlMWTogQ2FsaWJy aTsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgTEVUVEVSLVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6 IHJnYigwLDAsMCk7IEZPTlQtU0laRTogc21hbGw7IEZPTlQtV0VJR0hUOiBub3JtYWw7IFdP UkQtU1BBQ0lORzogMHB4OyBURVhULURFQ09SQVRJT046IG5vbmU7IC13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IDBweCI+PEZPTlQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj48L0ZPTlQ+ Jm5ic3A7PC9ESVY+PC9ESVY+DQo8RElWIHN0eWxlPSJGT05ULUZBTUlMWTogYXJpYWwiPg0K PERJViBzdHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJn YigyNTUsMjU1LDI1NSk7IEZPTlQtVkFSSUFOVDogbm9ybWFsOyBGT05ULVNUWUxFOiBub3Jt YWw7IFRFWFQtSU5ERU5UOiAwcHg7IERJU1BMQVk6IGlubGluZTsgRk9OVC1GQU1JTFk6IENh bGlicmk7IFdISVRFLVNQQUNFOiBub3JtYWw7IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENP TE9SOiByZ2IoMCwwLDApOyBGT05ULVNJWkU6IHNtYWxsOyBGT05ULVdFSUdIVDogbm9ybWFs OyBXT1JELVNQQUNJTkc6IDBweDsgVEVYVC1ERUNPUkFUSU9OOiBub25lOyAtd2Via2l0LXRl eHQtc3Ryb2tlLXdpZHRoOiAwcHgiPjxGT05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+PC9G T05UPiZuYnNwOzwvRElWPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFs Ij4NCjxESVYgc3R5bGU9IlRFWFQtVFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9S OiByZ2IoMjU1LDI1NSwyNTUpOyBGT05ULVZBUklBTlQ6IG5vcm1hbDsgRk9OVC1TVFlMRTog bm9ybWFsOyBURVhULUlOREVOVDogMHB4OyBESVNQTEFZOiBpbmxpbmU7IEZPTlQtRkFNSUxZ OiBDYWxpYnJpOyBXSElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFs OyBDT0xPUjogcmdiKDAsMCwwKTsgRk9OVC1TSVpFOiBzbWFsbDsgRk9OVC1XRUlHSFQ6IG5v cm1hbDsgV09SRC1TUEFDSU5HOiAwcHg7IFRFWFQtREVDT1JBVElPTjogbm9uZTsgLXdlYmtp dC10ZXh0LXN0cm9rZS13aWR0aDogMHB4Ij48Rk9OVCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4i PjwvRk9OVD4mbmJzcDs8L0RJVj48L0RJVj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBh cmlhbCI+DQo8RElWIHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VORC1D T0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgRk9OVC1WQVJJQU5UOiBub3JtYWw7IEZPTlQtU1RZ TEU6IG5vcm1hbDsgVEVYVC1JTkRFTlQ6IDBweDsgRElTUExBWTogaW5saW5lOyBGT05ULUZB TUlMWTogQ2FsaWJyaTsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgTEVUVEVSLVNQQUNJTkc6IG5v cm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7IEZPTlQtU0laRTogc21hbGw7IEZPTlQtV0VJR0hU OiBub3JtYWw7IFdPUkQtU1BBQ0lORzogMHB4OyBURVhULURFQ09SQVRJT046IG5vbmU7IC13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+PEZPTlQgZmFjZT0iVGltZXMgTmV3IFJv bWFuIj48L0ZPTlQ+Jm5ic3A7PC9ESVY+PC9ESVY+DQo8RElWIHN0eWxlPSJGT05ULUZBTUlM WTogYXJpYWwiPg0KPERJViBzdHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9V TkQtQ09MT1I6IHJnYigyNTUsMjU1LDI1NSk7IEZPTlQtVkFSSUFOVDogbm9ybWFsOyBGT05U LVNUWUxFOiBub3JtYWw7IFRFWFQtSU5ERU5UOiAwcHg7IERJU1BMQVk6IGlubGluZTsgRk9O VC1GQU1JTFk6IENhbGlicmk7IFdISVRFLVNQQUNFOiBub3JtYWw7IExFVFRFUi1TUEFDSU5H OiBub3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBGT05ULVNJWkU6IHNtYWxsOyBGT05ULVdF SUdIVDogbm9ybWFsOyBXT1JELVNQQUNJTkc6IDBweDsgVEVYVC1ERUNPUkFUSU9OOiBub25l OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHgiPjwvRElWPg0KPERJVj4NCjxESVYg c3R5bGU9IkZPTlQtU0laRTogMTYuNXB0Ij4NCjxESVYgc3R5bGU9IlBPU0lUSU9OOiBzdGF0 aWMgIWltcG9ydGFudDsgRk9OVC1TSVpFOiAyMi41cHQiPg0KPERJViBzdHlsZT0iRk9OVC1G QU1JTFk6IGFyaWFsOyBGT05ULVNJWkU6IDEycHQiPjxGT05UIGZhY2U9IlRpbWVzIE5ldyBS b21hbiI+PC9GT05UPiZuYnNwOzwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFy aWFsOyBGT05ULVNJWkU6IDEycHQiPjxGT05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+V2Ug cHJvZHVjZSA8U1BBTiBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsOyBDT0xPUjogcmdiKDI1 NSwwLDI1NSk7IEZPTlQtU0laRTogMTJwdCI+QWxOaUNvIDwvU1BBTj48U1BBTiBzdHlsZT0i Rk9OVC1GQU1JTFk6IGFyaWFsOyBDT0xPUjogcmdiKDI1NSwwLDI1NSk7IEZPTlQtU0laRTog MTJwdCI+PC9TUEFOPm1hZ25ldCBhbmQ8U1BBTiBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFs OyBDT0xPUjogcmdiKDI1NSwwLDI1NSk7IEZPTlQtU0laRTogMTJwdCI+PFNQQU4gY2xhc3M9 QXBwbGUtY29udmVydGVkLXNwYWNlPiZuYnNwOzwvU1BBTj5GZUNyQ288L1NQQU4+PFNQQU4g Y2xhc3M9QXBwbGUtY29udmVydGVkLXNwYWNlPiZuYnNwOzwvU1BBTj5tYWduZXQgd2l0aCBj b21wZXRpdGl2ZSBwcmljZSBhbmQgYmVzdCBxdWFsaXR5IGluIENoaW5hLjwvRk9OVD48L0RJ Vj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbDsgRk9OVC1TSVpFOiAxMnB0Ij48 Rk9OVCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxESVYg c3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbDsgRk9OVC1TSVpFOiAxMnB0Ij48Rk9OVCBmYWNl PSJUaW1lcyBOZXcgUm9tYW4iPktpbmRseSBwbGVhc2UgY29udGFjdCBtZSBpZiB5b3UgaW50 ZXJlc3RlZC48L0ZPTlQ+PC9ESVY+DQo8RElWIHN0eWxlPSJGT05ULUZBTUlMWTogYXJpYWw7 IEZPTlQtU0laRTogMTJwdCI+PEZPTlQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj48L0ZPTlQ+ Jm5ic3A7PC9ESVY+DQo8RElWIHN0eWxlPSJGT05ULUZBTUlMWTogYXJpYWw7IEZPTlQtU0la RTogMTJwdCI+PEZPTlQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5CZXN0IHJlZ2FyZHMsPC9G T05UPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsOyBGT05ULVNJWkU6 IDEycHQiPjxGT05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+PC9GT05UPiZuYnNwOzwvRElW Pg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsOyBGT05ULVNJWkU6IDEycHQiPjxG T05UIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+PC9GT05UPiZuYnNwOzwvRElWPg0KPERJViBz dHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsOyBGT05ULVNJWkU6IDEycHQiPjxGT05UIGZhY2U9 IlRpbWVzIE5ldyBSb21hbiI+PFNUUk9ORz5FbW1hIE1hPC9TVFJPTkc+PC9GT05UPjwvRElW PjwvRElWPjwvRElWPjwvRElWPjwvRElWPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1J TFk6IGFyaWFsIj4mbmJzcDs8L0RJVj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlh bCI+DQo8UCBzdHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6 IHJnYigyNTUsMjU1LDI1NSk7IEZPTlQtVkFSSUFOVDogbm9ybWFsOyBGT05ULVNUWUxFOiBu b3JtYWw7IFRFWFQtSU5ERU5UOiAwcHg7IE1BUkdJTjogMGNtIDBjbSAwcHQ7IEZPTlQtRkFN SUxZOiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7IFdISVRFLVNQQUNFOiBub3JtYWw7IExF VFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBGT05ULVNJWkU6IDEy cHQ7IEZPTlQtV0VJR0hUOiBub3JtYWw7IFdPUkQtU1BBQ0lORzogMHB4OyAtd2Via2l0LXRl eHQtc3Ryb2tlLXdpZHRoOiAwcHgiIGNsYXNzPU1zb05vcm1hbD48U1BBTiBzdHlsZT0iQ09M T1I6IGJsdWUiPjxTVFJPTkc+TmluZ2JvIFNTRCBNYWduZXRpY3MgQ28gTHRkPC9TVFJPTkc+ PC9TUEFOPjwvUD4NCjxQIHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VO RC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgRk9OVC1WQVJJQU5UOiBub3JtYWw7IEZPTlQt U1RZTEU6IG5vcm1hbDsgVEVYVC1JTkRFTlQ6IDBweDsgTUFSR0lOOiAwY20gMGNtIDBwdDsg Rk9OVC1GQU1JTFk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgV0hJVEUtU1BBQ0U6IG5v cm1hbDsgTEVUVEVSLVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7IEZPTlQt U0laRTogMTJwdDsgRk9OVC1XRUlHSFQ6IG5vcm1hbDsgV09SRC1TUEFDSU5HOiAwcHg7IC13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCIgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIHN0 eWxlPSJDT0xPUjogYmx1ZSI+PFNUUk9ORz5BZGQ6PC9TVFJPTkc+U2ltZW4gaW5kdXN0cmlh bCBwYXJrLHl1eWFvJm5ic3A7LFpoZWppYW5nLENoaW5hPC9TUEFOPjw/eG1sOm5hbWVzcGFj ZSBwcmVmaXggPSBvIC8+PG86cD48L286cD48L1A+DQo8UCBzdHlsZT0iVEVYVC1UUkFOU0ZP Uk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUsMjU1LDI1NSk7IEZPTlQtVkFS SUFOVDogbm9ybWFsOyBGT05ULVNUWUxFOiBub3JtYWw7IFRFWFQtSU5ERU5UOiAwcHg7IE1B UkdJTjogMGNtIDBjbSAwcHQ7IEZPTlQtRkFNSUxZOiAnVGltZXMgTmV3IFJvbWFuJywgc2Vy aWY7IFdISVRFLVNQQUNFOiBub3JtYWw7IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9S OiByZ2IoMCwwLDApOyBGT05ULVNJWkU6IDEycHQ7IEZPTlQtV0VJR0hUOiBub3JtYWw7IFdP UkQtU1BBQ0lORzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHgiIGNsYXNz PU1zb05vcm1hbD48U1RST05HPjxTUEFOIHN0eWxlPSJDT0xPUjogYmx1ZSI+VGVsOjwvU1BB Tj48L1NUUk9ORz48U1BBTiBzdHlsZT0iQ09MT1I6IGJsdWUiPjxTUEFOIGNsYXNzPUFwcGxl LWNvbnZlcnRlZC1zcGFjZT4mbmJzcDs8L1NQQU4+Kzg2LTU3NC02MjE1ODg4MzxCUj48U1RS T05HPkZheDo8L1NUUk9ORz48U1BBTiBjbGFzcz1BcHBsZS1jb252ZXJ0ZWQtc3BhY2U+Jm5i c3A7PC9TUEFOPis4Ni01NzQtNjIxNTg4ODU8L1NQQU4+PC9QPg0KPFAgc3R5bGU9IlRFWFQt VFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9SOiByZ2IoMjU1LDI1NSwyNTUpOyBG T05ULVZBUklBTlQ6IG5vcm1hbDsgRk9OVC1TVFlMRTogbm9ybWFsOyBURVhULUlOREVOVDog MHB4OyBNQVJHSU46IDBjbSAwY20gMHB0OyBGT05ULUZBTUlMWTogJ1RpbWVzIE5ldyBSb21h bicsIHNlcmlmOyBXSElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFs OyBDT0xPUjogcmdiKDAsMCwwKTsgRk9OVC1TSVpFOiAxMnB0OyBGT05ULVdFSUdIVDogbm9y bWFsOyBXT1JELVNQQUNJTkc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4 IiBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gc3R5bGU9IkNPTE9SOiBibHVlIj5Nb2JpbGU6Kzg2 LTE1ODU3NDY5NjA5PC9TUEFOPjwvUD4NCjxQIHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9u ZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgVEVYVC1JTkRFTlQ6IDBw eDsgTUFSR0lOOiAwY20gMGNtIDBwdDsgRk9OVDogMTJwdC8xMy41cHQgJ1RpbWVzIE5ldyBS b21hbicsIHNlcmlmOyBXSElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9y bWFsOyBDT0xPUjogcmdiKDAsMCwwKTsgV09SRC1TUEFDSU5HOiAwcHg7IC13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IDBweCIgY2xhc3M9TXNvTm9ybWFsPjxTVFJPTkc+PFNQQU4gc3R5 bGU9IkNPTE9SOiBibHVlIj5XZWJzaXRlPC9TUEFOPjwvU1RST05HPjxTUEFOIHN0eWxlPSJD T0xPUjogYmx1ZSI+OjxTUEFOIGNsYXNzPUFwcGxlLWNvbnZlcnRlZC1zcGFjZT4mbmJzcDs8 L1NQQU4+PC9TUEFOPjxTUEFOIHN0eWxlPSJGT05ULUZBTUlMWTogQXJpYWwsIHNhbnMtc2Vy aWY7IEZPTlQtU0laRTogOXB0Ij48U1BBTiBzdHlsZT0iRk9OVC1GQU1JTFk6ICdUaW1lcyBO ZXcgUm9tYW4nLCBzZXJpZjsgRk9OVC1TSVpFOiAxMnB0Ij48QSBocmVmPSJodHRwOi8vd3d3 Lm1hZ25ldC1uYnNzZC5jb20iPnd3dy5tYWduZXQtbmJzc2QuY29tPC9BPjwvU1BBTj48L1NQ QU4+PFNQQU4gc3R5bGU9IkNPTE9SOiBibHVlIj48U1BBTiBjbGFzcz1BcHBsZS1jb252ZXJ0 ZWQtc3BhY2U+Jm5ic3A7PC9TUEFOPjxTVFJPTkc+RW1haWw6RW1tYUBtYWduZXQtbmJzc2Qu Y29tPC9TVFJPTkc+PC9TUEFOPjwvUD4NCjxQIHN0eWxlPSJURVhULVRSQU5TRk9STTogbm9u ZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgRk9OVC1WQVJJQU5UOiBu b3JtYWw7IEZPTlQtU1RZTEU6IG5vcm1hbDsgVEVYVC1JTkRFTlQ6IDBweDsgTUFSR0lOOiAw Y20gMGNtIDBwdDsgRk9OVC1GQU1JTFk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgV0hJ VEUtU1BBQ0U6IG5vcm1hbDsgTEVUVEVSLVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6IHJnYigw LDAsMCk7IEZPTlQtU0laRTogMTJwdDsgRk9OVC1XRUlHSFQ6IG5vcm1hbDsgV09SRC1TUEFD SU5HOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCIgY2xhc3M9TXNvTm9y bWFsPiZuYnNwOzxvOnA+PC9vOnA+PC9QPg0KPFAgc3R5bGU9IlRFWFQtVFJBTlNGT1JNOiBu b25lOyBCQUNLR1JPVU5ELUNPTE9SOiByZ2IoMjU1LDI1NSwyNTUpOyBGT05ULVZBUklBTlQ6 IG5vcm1hbDsgRk9OVC1TVFlMRTogbm9ybWFsOyBURVhULUlOREVOVDogMHB4OyBNQVJHSU46 IDBjbSAwY20gMHB0OyBGT05ULUZBTUlMWTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOyBX SElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdi KDAsMCwwKTsgRk9OVC1TSVpFOiAxMnB0OyBGT05ULVdFSUdIVDogbm9ybWFsOyBXT1JELVNQ QUNJTkc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4IiBjbGFzcz1Nc29O b3JtYWw+Jm5ic3A7PC9QPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFs Ij4NCjxESVY+DQo8RElWIHN0eWxlPSJGT05ULVNJWkU6IDE2LjVwdCI+DQo8RElWIHN0eWxl PSJQT1NJVElPTjogc3RhdGljICFpbXBvcnRhbnQ7IEZPTlQtU0laRTogMjIuNXB0Ij4NCjxE SVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbDsgRk9OVC1TSVpFOiAxMnB0Ij4mbmJzcDs8 L0RJVj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbDsgRk9OVC1TSVpFOiAxMnB0 Ij4NCjxESVYgc3R5bGU9IlRFWFQtVFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9S OiByZ2IoMjU1LDI1NSwyNTUpOyBURVhULUlOREVOVDogMHB4OyBGT05UOiAxNHB4IOW+rui9 r+mbhem7kSwgVGFob21hOyBXSElURS1TUEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzog bm9ybWFsOyBDT0xPUjogcmdiKDAsMCwwKTsgV09SRC1TUEFDSU5HOiAwcHg7IC13ZWJraXQt dGV4dC1zdHJva2Utd2lkdGg6IDBweCI+PEZPTlQgc2l6ZT0zIGZhY2U9QXJpYWw+PC9GT05U PiZuYnNwOzwvRElWPjwvRElWPg0KPERJViBzdHlsZT0iRk9OVC1GQU1JTFk6IGFyaWFsOyBG T05ULVNJWkU6IDEycHQiPjxTUEFOIHN0eWxlPSJGT05ULUZBTUlMWTogJ1RpbWVzIE5ldyBS b21hbic7IEZPTlQtU0laRTogMTZwdDsgbXNvLWJpZGktZm9udC1zaXplOiAxMi4wcHQ7IG1z by1mYXJlYXN0LWZvbnQtZmFtaWx5OiDlrovkvZM7IG1zby1mb250LWtlcm5pbmc6IDEuMHB0 OyBtc28tYW5zaS1sYW5ndWFnZTogRU4tVVM7IG1zby1mYXJlYXN0LWxhbmd1YWdlOiBaSC1D TjsgbXNvLWJpZGktbGFuZ3VhZ2U6IEFSLVNBIiBsYW5nPUVOLVVTPjxGT05UIHNpemU9Mz48 Rk9OVCBjb2xvcj0jNDA4MDgwPklmIGRpc3R1cmIgLHBscyA8L0ZPTlQ+PEEgaHJlZj0ibWFp bHRvOmVtbWEubWFnbmV0aWNzQHlhaG9vLmNvbSI+PEZPTlQgY29sb3I9IzQwODA4MD51bnN1 YnNjcmliZTwvRk9OVD48L0E+PC9GT05UPjwvU1BBTj48L0RJVj48L0RJVj48L0RJVj4NCjxE SVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbDsgRk9OVC1TSVpFOiAxMnB0Ij4mbmJzcDs8 L0RJVj48L0RJVj4NCjxESVYgc3R5bGU9IkZPTlQtRkFNSUxZOiBhcmlhbCI+Jm5ic3A7PC9E SVY+PC9ESVY+ ----boundary_59643_a527c322-158a-40b5-abe3-a7a2c85e5d0a-- From William_Staten@navyfederal.org Tue Feb 9 18:48:40 2016 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=2.2 required=5.0 tests=HTML_MESSAGE, HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY autolearn=no 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 CE42D29DF5 for ; Tue, 9 Feb 2016 18:48:40 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A2B39304039 for ; Tue, 9 Feb 2016 16:48:40 -0800 (PST) X-ASG-Debug-ID: 1455065317-04cbb0433149100001-S8gJnT Received: from gunwale.navyfederal.org ([199.204.164.208]) by cuda.sgi.com with ESMTP id 3h5zL6nwpzOKAekH (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 16:48:38 -0800 (PST) X-Barracuda-Envelope-From: William_Staten@navyfederal.org X-Barracuda-Apparent-Source-IP: 199.204.164.208 Received: from COMPASS1.NFCU.NET (unknown [10.1.11.121]) by gunwale.navyfederal.org with smtp id 7369_1fd9_455b8bec_3934_40dc_b79b_05e4b4cb1b8e; Tue, 09 Feb 2016 19:51:11 -0500 In-Reply-To: <136347470.19757537.1455053473332.JavaMail.zimbra@redhat.com> References: <136347470.19757537.1455053473332.JavaMail.zimbra@redhat.com> X-Disclaimed: 11762 To: Nathan Scott Cc: pcp@oss.sgi.com MIME-Version: 1.0 Subject: Re: [pcp] Queston about pcp performance metrics filesys.used X-KeepSent: 46C1D315:1830CBD6-85257F55:0003D3CE; type=4; flags=0; name=$KeepSent X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used Message-ID: From: William_Staten@navyfederal.org Date: Tue, 9 Feb 2016 19:44:21 -0500 X-TNEFEvaluated: 1 Content-Type: text/html; charset="US-ASCII" X-Barracuda-Connect: UNKNOWN[199.204.164.208] X-Barracuda-Start-Time: 1455065318 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.16 X-Barracuda-Spam-Status: No, SCORE=1.16 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS Nathan,

Thanks I will look into this. Any reason why this is done from the disk.dm. metrics but not the filesys. metrics?

William Staten
I.T. Operations
Information Services
Navy Federal Credit Union
wk: 703.206.3198
cell: 703.300.0743




From:        Nathan Scott <nathans@redhat.com>
To:        William Staten <William_Staten@navyfederal.org>,
Cc:        <pcp@oss.sgi.com>
Date:        02/09/2016 04:31 PM
Subject:        Re: [pcp] Queston about pcp performance metrics filesys.used




Hi William,

----- Original Message -----
> Good Morning. I wanted to know for the filesys metrics, was it a way to get
> the name of the filesystem mounted or the full device mapper name to display
> instead of just "/dev/dm-#". For example if I want to see the metric for
> filesys.used for /home, instead of showing /dev/dm-7, could I get
> rootvg-homelv to get displayed or /home to get displayed instead of
> /dev/dm-7?

The former (rootvg-homelv) is indirectly available via hinv.map.dmname but
the latter (/home -> mount point) is not necessarily a one-to-one mapping
with device, so gets more complicated.

You might also find pmdamounts(1) of use for your situation, in recent PCP
versions it exports all of the same metrics as filesys.* for a specified
set of mount points.

cheers.

--
Nathan




From nscott@redhat.com Tue Feb 9 19:47:16 2016 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 3012229DF5 for ; Tue, 9 Feb 2016 19:47:16 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 137BC304051 for ; Tue, 9 Feb 2016 17:47:13 -0800 (PST) X-ASG-Debug-ID: 1455068830-04cb6c1e59331a0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id 0SoQPAjFF597WNPw (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 17:47:11 -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 u1A1l8Pb059171; Tue, 9 Feb 2016 20:47:08 -0500 Date: Tue, 9 Feb 2016 20:47:08 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: William Staten , Mark Goodwin Cc: pcp@oss.sgi.com Message-ID: <1205110488.19797558.1455068828315.JavaMail.zimbra@redhat.com> In-Reply-To: References: <136347470.19757537.1455053473332.JavaMail.zimbra@redhat.com> Subject: Re: [pcp] Queston about pcp performance metrics filesys.used MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.217] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Queston about pcp performance metrics filesys.used Thread-Index: /qpEPuTrzkAchGCKBP50UHFJn/SA8Q== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455068831 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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.26904 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 ----- Original Message ----- > Nathan, > > Thanks I will look into this. Any reason why this is done from the disk.dm. > metrics but not the filesys. metrics? > Good question :) No real reason there were not separated out AFAICT - Mark, thoughts? Memories from way back then? cheers. -- Nathan From mgoodwin@redhat.com Tue Feb 9 20:22:07 2016 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 58C4029DF5 for ; Tue, 9 Feb 2016 20:22:07 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4AF078F8049 for ; Tue, 9 Feb 2016 18:22:07 -0800 (PST) X-ASG-Debug-ID: 1455070922-04cbb043334a7c0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 9uAxI3NkpT1ONddA (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 18:22:03 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id ABC96C0AA390; Wed, 10 Feb 2016 02:22:02 +0000 (UTC) Received: from [10.64.48.38] (vpn1-48-38.bne.redhat.com [10.64.48.38]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1A2M09k020894; Tue, 9 Feb 2016 21:22:01 -0500 Subject: Re: [pcp] Queston about pcp performance metrics filesys.used To: Nathan Scott , William Staten X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used References: <136347470.19757537.1455053473332.JavaMail.zimbra@redhat.com> <1205110488.19797558.1455068828315.JavaMail.zimbra@redhat.com> Cc: pcp@oss.sgi.com From: Mark Goodwin Message-ID: <56BA9EC7.4090003@redhat.com> Date: Wed, 10 Feb 2016 13:21:59 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1205110488.19797558.1455068828315.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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: 1455070923 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/10/2016 12:47 PM, Nathan Scott wrote: > > > ----- Original Message ----- >> Nathan, >> >> Thanks I will look into this. Any reason why this is done from the disk.dm. >> metrics but not the filesys. metrics? >> > > Good question :) No real reason there were not separated out AFAICT - Mark, > thoughts? Memories from way back then? > disk.dm metrics were added relatively recently. The dm-X names are not persistent across reboots and thus generally unsuitable for use as external instance names. By contrast, the mapped names are persistent, and far more useful for storage performance analysis. Who hasn't cursed sysstat's device naming? (who hasn't cursed sysstat for that matter ;) See the following RH BZ for context: BZ 1109539 hinv.map.lvname instance IDs are not persistent So IMO it would make sense to change the external instance naming for the filesys metrics to map the dm name to the lv name for mounted device-mapper devices. Non dm block device naming would remain the same. The mapping is readily available, see map_persistent_dm_name() in src/pmdas/linux/proc_partitions.c Regards -- Mark From mgoodwin@redhat.com Tue Feb 9 23:06:23 2016 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 0854D29DF5 for ; Tue, 9 Feb 2016 23:06:23 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EE938304043 for ; Tue, 9 Feb 2016 21:06:19 -0800 (PST) X-ASG-Debug-ID: 1455080773-04cbb043334cfd0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Hjnq5djpxVFGuN2u (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 21:06:13 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id E92FE3C88F9 for ; Wed, 10 Feb 2016 05:06:12 +0000 (UTC) Received: from [10.64.48.38] (vpn1-48-38.bne.redhat.com [10.64.48.38]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1A56BeK021340; Wed, 10 Feb 2016 00:06:12 -0500 From: Mark Goodwin Subject: pcp updates - pcp-iostat -u (non-interpolating replay) + QA To: pcp X-ASG-Orig-Subj: pcp updates - pcp-iostat -u (non-interpolating replay) + QA Cc: Bud Brown Message-ID: <56BAC542.2050903@redhat.com> Date: Wed, 10 Feb 2016 16:06:10 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; 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: 1455080773 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This adds -u flag to pmiostat to replay archives at native sampling interval (i.e. in non-interpolating mode). Plus QA to exercise it and man page update. Changes committed to git://git.pcp.io/mgoodwin/pcp master commit c1a856f01a9433f1a037be4ab2c3f1fe6d79248d Author: Mark Goodwin Date: Wed Feb 10 15:54:57 2016 +1100 qa: pmiostat additional testing in qa/1099 for new -u flag Testing pmiostat in non-interpolation mode commit d8fdf340a692d53ec530372c1df17981825351da Author: Mark Goodwin Date: Wed Feb 10 13:00:39 2016 +1100 pmiostat: support uninterpolated archive replay with -u flag The -u flag disables interpolation when replaying an archive. Instead the native underlying replay interval in the archive is used. See the -u option in the man page for details. From nscott@redhat.com Tue Feb 9 23:38:35 2016 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 4F61629DF5 for ; Tue, 9 Feb 2016 23:38:35 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 22F288F8049 for ; Tue, 9 Feb 2016 21:38:34 -0800 (PST) X-ASG-Debug-ID: 1455082710-04bdf066ec384c0001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id FiFmo293rrB8lLAN (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 09 Feb 2016 21:38:30 -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 u1A5cUOY017373 for ; Wed, 10 Feb 2016 00:38:30 -0500 Date: Wed, 10 Feb 2016 00:38:30 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp developers Message-ID: <993225111.19888703.1455082710019.JavaMail.zimbra@redhat.com> In-Reply-To: <747527817.19888682.1455082567138.JavaMail.zimbra@redhat.com> Subject: pcp updates: merges, fixes, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: merges, fixes, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.64.51.217] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: merges, fixes, qa Thread-Index: VgBwxeOYau7LMQuPtE/C6ijJlU48MA== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1455082710 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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.26908 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 master Nathan Scott (11): docs: clarification to options handling on pcp sub-commands qa: allow qa/131 to handle remote-host-down more elegantly qa: update qa/667 to exercise latest pickle version via -r build: fix some perl xs unused-var compiler warnings qa: several fixes for test qa/370 (sar2pcp) pmdaproc: several fixes for test qa/370 (sar2pcp) pmdalinux: fix interrupts data types for big endian hosts pcp-vmstat: wrapper for pmstat to be more vmstat-alike qa: update test 1069 for latest round of pmrep tz updates qa: ensure all perfevent test files added into pcp-testsuite qa: remake perfevent qa/756 output for latest unit test additions Hemant Kumar (3): pmdaperfevent: add extension for perf derived events qa: add unit tests for perfevent derived events docs: add syntax and other info to perfevent.conf.5 man page Marko Myllynen (3): qa: mk.rep.sh updates to give better real-world metric coverage qa: new pmrep csv test - roundtrip testing (sheet2pcp <-> pmrep) pmrep: fix timezone handling/reporting Mark Goodwin (2): pmiostat: support uninterpolated archive replay with -u flag qa: pmiostat additional testing in qa/1099 for new -u flag man/man1/pmstat.1 | 12=20 man/man5/perfevent.conf.5 | 19=20 qa/1069.out | 2=20 qa/1070 | 56 ++ qa/1070.map | 13=20 qa/1070.out | 45 ++ qa/1099 | 14=20 qa/1099.out | 16=20 qa/131 | 4=20 qa/370 | 9=20 qa/370.out.11 | 1=20 qa/667 | 26 + qa/667.out | 3=20 qa/756.out | 11=20 qa/804 | 28 + qa/804.out | 10=20 qa/archives/mk.rep.sh | 44 +- qa/archives/mk.vmstat.sh | 14=20 qa/archives/pcp-vmstat.0 |binary qa/archives/pcp-vmstat.index |binary qa/archives/pcp-vmstat.meta |binary qa/archives/rep.0 |binary qa/archives/rep.index |binary qa/archives/rep.meta |binary qa/group | 2=20 qa/perfevent/GNUmakefile | 15=20 qa/perfevent/config/test_derived_counters.txt | 13=20 qa/perfevent/config/test_derived_counters_fail_mismatch.txt | 13=20 qa/perfevent/config/test_derived_counters_fail_missing.txt | 13=20 qa/perfevent/perf_event_test.c | 122 +++++- src/pcp/GNUmakefile | 3=20 src/pcp/atop/pcp-atop.1 | 23 - src/pcp/atop/pcp-atopsar.1 | 26 - src/pcp/dmcache/pcp-dmcache.1 | 6=20 src/pcp/free/pcp-free.1 | 9=20 src/pcp/iostat/pcp-iostat.1 | 39 +- src/pcp/iostat/pcp-iostat.py | 25 + src/pcp/numastat/pcp-numastat.1 | 6=20 src/pcp/uptime/pcp-uptime.1 | 6=20 src/pcp/verify/pcp-verify.1 | 2=20 src/pcp/vmstat/GNUmakefile | 29 + src/pcp/vmstat/pcp-vmstat.sh | 60 +++ src/perl/MMV/MMV.xs | 8=20 src/pmdas/linux/help | 2=20 src/pmdas/linux/interrupts.c | 17=20 src/pmdas/linux/pmda.c | 16=20 src/pmdas/linux/proc_stat.c | 22 + src/pmdas/linux/proc_stat.h | 2=20 src/pmdas/linux/root_linux | 2=20 src/pmdas/linux_proc/Install | 1=20 src/pmdas/perfevent/configparser.h | 12=20 src/pmdas/perfevent/configparser.l | 129 +++++- src/pmdas/perfevent/perfevent.conf | 5=20 src/pmdas/perfevent/perfinterface.c | 233 +++++++= ++++- src/pmdas/perfevent/perfinterface.h | 23 + src/pmdas/perfevent/perfmanager.c | 4=20 src/pmdas/perfevent/perfmanager.h | 2=20 src/pmdas/perfevent/pmda.c | 104 ++++- src/pmdas/perfevent/pmns | 4=20 src/pmlogconf/tools/vmstat | 4=20 src/pmrep/pmrep.conf | 4=20 src/pmrep/pmrep.py | 40 +- 62 files changed, 1189 insertions(+), 184 deletions(-) commit 9365a88a4e4c8053debb72bb879a45205b1f2a17 Author: Nathan Scott Date: Wed Feb 10 16:17:51 2016 +1100 qa: remake perfevent qa/756 output for latest unit test additions commit 6b615cbcb2b9ac1203253f6738695181028889f7 Author: Nathan Scott Date: Wed Feb 10 16:09:34 2016 +1100 qa: ensure all perfevent test files added into pcp-testsuite commit 8d621a2f24a87e6f1a4930fb21b64ea74a4e70de Author: Hemant Kumar Date: Wed Feb 10 16:00:25 2016 +1100 docs: add syntax and other info to perfevent.conf.5 man page =20 This adds the necessary information regarding the usage of derived perf events to perfevent.conf.5 man page. =20 Signed-off-by: Hemant Kumar commit 069223acdefdc5b21e382765e28040015560f7eb Author: Hemant Kumar Date: Wed Feb 10 15:57:32 2016 +1100 qa: add unit tests for perfevent derived events =20 This commit adds unit tests for perf derived events. The first test case is to check the number of the perf derived events. Second case checks if there is a mismatch between the cpu configuration of the perf derived events' counters. Final test case checks if there is a counter in derived list which is not enabled in the perfevent.conf base list. =20 Signed-off-by: Hemant Kumar commit c1a856f01a9433f1a037be4ab2c3f1fe6d79248d Author: Mark Goodwin Date: Wed Feb 10 15:54:57 2016 +1100 qa: pmiostat additional testing in qa/1099 for new -u flag =20 Testing pmiostat in non-interpolation mode commit 476c3254cdc73d6cc5ad86ec6fab184ce97e08a7 Author: Hemant Kumar Date: Wed Feb 10 15:52:42 2016 +1100 pmdaperfevent: add extension for perf derived events =20 This gives the ability to the perfevent agent to export derived events. Derived events are based on the hardware/perf counters. Users can now just say that a derived event is based on so-and- so basic counters. The perfevent agent will find the value for the derived event - e.g., in perfevent.conf(5), we can say: =20 [bandwidth:derived] snbep_unc_imc0::UNC_M_CAS_COUNT:RD node snbep_unc_imc0::UNC_M_CAS_COUNT:WR node snbep_unc_imc1::UNC_M_CAS_COUNT:RD node snbep_unc_imc1::UNC_M_CAS_COUNT:WR node snbep_unc_imc2::UNC_M_CAS_COUNT:RD node snbep_unc_imc2::UNC_M_CAS_COUNT:WR node snbep_unc_imc3::UNC_M_CAS_COUNT:RD node snbep_unc_imc3::UNC_M_CAS_COUNT:WR node =20 And then the accumulated counters metric can be observed: =20 # pmval perfevent.derived.bandwidth.value =20 metric: perfevent.derived.bandwidth.value host: .... semantics: cumulative counter (converting to rate) units: count (converting to count / sec) samples: all =20 cpu0 cpu8 4.606E+06 1.303E+06 4.590E+06 1.763E+06 =20 Signed-off-by: Hemant Kumar commit 849f1d5d818a51eb778efd9039b0ccc264e3437b Author: Nathan Scott Date: Wed Feb 10 14:54:03 2016 +1100 qa: update test 1069 for latest round of pmrep tz updates commit 317408ae1958edaca16ce57fa83196ed46bd3794 Author: Marko Myllynen Date: Wed Feb 10 14:51:23 2016 +1100 pmrep: fix timezone handling/reporting commit 553d1822d454ddfa586263509f8736f9df92e7f7 Author: Marko Myllynen Date: Wed Feb 10 14:48:09 2016 +1100 qa: new pmrep csv test - roundtrip testing (sheet2pcp <-> pmrep) commit eb38d5039f49c386515a7743f43bc9dded06b429 Author: Marko Myllynen Date: Wed Feb 10 14:42:05 2016 +1100 qa: mk.rep.sh updates to give better real-world metric coverage commit aad4d15b693ce7444d9c393e733d4f74b0116f7f Author: Nathan Scott Date: Wed Feb 10 14:37:20 2016 +1100 pmdalinux: fix interrupts data types for big endian hosts =20 In the context of Red Hat BZ 1297822 Milo=C5=A1 discovered that big endian hosts were reporting zero for all interrupts metrics (courtesy of qa/886). Turned out to be another of those mismatched 32/64-bit variable copies. Auditing the kernel code confirms the currently-exported metric type is correct, it is the pmdalinux pmAtomValue copying at fault. commit ab073dab4a71fd910d6ce2661032dc0a9d49f258 Author: Nathan Scott Date: Wed Feb 10 14:23:26 2016 +1100 pmdaproc: several fixes for test qa/370 (sar2pcp) =20 Resolves several problems Lukas, Milo=C5=A1 and I have encountered in this test in the last couple of days - - loosen fuzzy matching for floating-point imprecision a bit; - handle an AM/PM failure Lukas observed on a buildbot, where bit-after-midnight values were reported as bit-after-noon. - the sar input data is currently all x86_64-specific, and so this test fails on other platforms like s390x, ppc, etc; in the short-term use _notrun to avoid this issue. Over time, we need to add archives with arch-specific sar2pcp input. commit ed41c4ae60c72d5cae1962d414ba5c2fa9ae5529 Author: Nathan Scott Date: Wed Feb 10 14:18:34 2016 +1100 qa: several fixes for test qa/370 (sar2pcp) =20 Resolves several problems Lukas, Milos and I have encountered here in the last couple of days - - loosen fuzzy matching for floating-point imprecision a bit; - handle an AM/PM failure Lukas observed on a buildbot, where bit-after-midnight values were reported as bit-after-noon. - the sar input data is currently all x86_64-specific, and so this test fails on other platforms like s390x, ppc, etc; in the short-term use _notrun to avoid this issue. Over time, we need to add archives with arch-specific sar2pcp input. commit 0a1cda5d6c272d5fc189e14d8d9951564030fcc0 Author: Nathan Scott Date: Wed Feb 10 14:03:57 2016 +1100 build: fix some perl xs unused-var compiler warnings commit 3531fe85db37a4ad5cb475c93d47d7dd59fb22c0 Author: Nathan Scott Date: Wed Feb 10 14:03:11 2016 +1100 qa: update qa/667 to exercise latest pickle version via -r =20 Add regression testing for new pcp2graphite -r option from https://github.com/performancecopilot/pcp/pull/66 commit a421f21e10b4f22a7365b58903410a4f6b78cff7 Author: Nathan Scott Date: Wed Feb 10 13:59:20 2016 +1100 qa: allow qa/131 to handle remote-host-down more elegantly commit c4993bce2ceeacef502ded7bc9e989606f23bddc Author: Nathan Scott Date: Wed Feb 10 13:58:31 2016 +1100 docs: clarification to options handling on pcp sub-commands commit 8c6d2be276f3ee7db303d7934abbbba5666a059e Author: Nathan Scott Date: Wed Feb 10 13:38:56 2016 +1100 pcp-vmstat: wrapper for pmstat to be more vmstat-alike =20 Wrapper around pmstat to operate in a vmstat-alike way. Test qa/804 added to exercise the script. =20 In the process found the use of proc_running & proc_blocked to be needed, which we were not exporting from /proc/stat; instead pmdaproc metrics were being used (which require a /proc/*/stat scan and associated process state accounting in the PMDA) for information the kernel already makes available more efficiently. Added the missing metrics into pmdalinux, and start using them throughout. commit d8fdf340a692d53ec530372c1df17981825351da Author: Mark Goodwin Date: Wed Feb 10 13:00:39 2016 +1100 pmiostat: support uninterpolated archive replay with -u flag =20 The -u flag disables interpolation when replaying an archive. Instead the native underlying replay interval in the archive is used. See the -u option in the man page for details. From kenj@internode.on.net Wed Feb 10 00:17:19 2016 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 A0F297CA2 for ; Wed, 10 Feb 2016 00:17:19 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 913708F8033 for ; Tue, 9 Feb 2016 22:17:16 -0800 (PST) X-ASG-Debug-ID: 1455085016-04cb6c1e5736f00001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id yDCtrAUWzUAObcwv for ; Tue, 09 Feb 2016 22:16:57 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AvAgAz1bpWPFBJ0XYNUYQMbYZjgXmzFBmHcwEBAQEBAQcBAQEBQYUqVTAGAgUWCwILAwIBAgExJwYCAQG4BmePI3uOTII0gToFlniFTJZ4jj+EWlaIUwEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 10 Feb 2016 16:46:55 +1030 To: pcp@oss.sgi.com Subject: pcp updates: fix swapdev.priority units (mostly) From: Ken McDonell X-ASG-Orig-Subj: pcp updates: fix swapdev.priority units (mostly) Message-ID: <56BAD5D7.5070302@internode.on.net> Date: Wed, 10 Feb 2016 17:16:55 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455085017 X-Barracuda-URL: https://192.48.176.15:443/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.26908 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (2): Linux PMDA: fix Units for swapdev.priority qa/group: fix 1090 group (pmwebapi, not webapi) qa/group | 2 +- src/pmdas/linux/.gitignore | 1 + src/pmdas/linux/GNUmakefile | 8 +++++--- src/pmdas/linux/mk.rewrite | 14 ++++++++++++++ src/pmdas/linux/pmda.c | 2 +- 5 files changed, 22 insertions(+), 5 deletions(-) Details ... commit f8933ca050075ddb2218b144d5a858770546086a Author: Ken McDonell Date: Wed Feb 10 11:06:49 2016 +1100 qa/group: fix 1090 group (pmwebapi, not webapi) commit 2f30619173b37688e0e7c16ffa3f0fe147931fa4 Author: Ken McDonell Date: Wed Feb 10 10:59:59 2016 +1100 Linux PMDA: fix Units for swapdev.priority As Frank noteed, the Units for this one should be none, not count. Note, this change also needed pmlogrewrite support for backwards compatibility with old archives. From kenj@internode.on.net Wed Feb 10 00:26:05 2016 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 8D8777CA2 for ; Wed, 10 Feb 2016 00:26:05 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1D2EAC005 for ; Tue, 9 Feb 2016 22:26:04 -0800 (PST) X-ASG-Debug-ID: 1455085562-04cb6c1e59370d0001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id FpS0dtcFBaWtzmP1 for ; Tue, 09 Feb 2016 22:26:02 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AvAgCO17pWPFBJ0XYNUYtcgXmzFIYNAoF9AQEBAQEBBwEBAQFBhQEBAQQ4QRALISUPAjIUBgEMCAEBuAWPYAEBAQEBAQEBAQEBAQEBAQEaikmIbAEElnicRI4/hFqJKQEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 10 Feb 2016 16:55:53 +1030 Subject: Re: [pcp] Queston about pcp performance metrics filesys.used To: "Frank Ch. Eigler" , William_Staten@navyfederal.org X-ASG-Orig-Subj: Re: [pcp] Queston about pcp performance metrics filesys.used References: Cc: pcp@oss.sgi.com From: Ken McDonell Message-ID: <56BAD7F0.90203@internode.on.net> Date: Wed, 10 Feb 2016 17:25:52 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455085562 X-Barracuda-URL: https://192.48.176.15:443/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.26909 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 10/02/16 07:33, Frank Ch. Eigler wrote: > ... Ken, what do you think about a derived-metric facility > for this? > > mounted_filesys.free = map_indom(filesys.free, filesys.mountdir) Not sure. map_indom() is more like a declarative operator than an method (a la the other foo() thingies we support). This is almost getting into the realm of pmlogrewrite(1) where we're asking for metadata changes on the fly ... I'm not convinced of the bang-for-buck proposition here, as it would be a big change for derived metrics (grammar, but worse put derived metrics clutter on almost every PMAPI code path, whereas the clutter is confined to the pmFetch code path at the moment) and this seems to be addressing a rare corner case. If the instance domains are _really_ equivalent, then an alternative would be for the PMDA implementation to export _two_ groups of metrics, one for the first instance domain, and the second for the other instance domain ... the end user could then choose the naming convention they prefer. From myllynen@redhat.com Wed Feb 10 02:30:25 2016 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 C55747CA2 for ; Wed, 10 Feb 2016 02:30:25 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 99260304051 for ; Wed, 10 Feb 2016 00:30:25 -0800 (PST) X-ASG-Debug-ID: 1455093018-04bdf066ea3b570001-S8gJnT Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by cuda.sgi.com with ESMTP id Flp6wbG22gO4Dj6K (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 00:30:19 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.45 Received: by mail-wm0-f45.google.com with SMTP id 128so16357485wmz.1 for ; Wed, 10 Feb 2016 00:30:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=JYP+YnXhdLKm2UFWvFSodWBfT8i7uPRzfIEsKM7vADs=; b=dsEkijMbYySLh8yIn16pBiALTAnZFdkrsUZo4h7YgsgUa5UPybbdtomxIzs/WItNKk nvs2F+CSxX/SE0V95pIHo6iLR9C9sJmelzIdbiyiHicjfLpsQV4kGztA3eg/VeJrU7dJ +0QbdFwZDH0oKCCCIXoa7z5sFHS04EGnEKeB2xa1uVF+BqWUeIQAfQ47jy4fWofyTK2U enDnDjPkTQ9mwn6hvWeHT3tes9kxs17tzKJnxwlCcFLxtAp3iKHUgUK9AVZv28InThTw SDTYyHPZRCtN0HqQkaUiKSEDoUbhodjh02vLTLL7XHxdaIca13Kjo8dt77c0VExtPzb7 NiYw== X-Gm-Message-State: AG10YOStoNdgRnQ8Pp6ydkWE6BITypA5JAKQxZOCFzodReP5PX9Q+7gAYiZ+TxfE6gPa6vJQ X-Received: by 10.28.103.5 with SMTP id b5mr10204001wmc.5.1455093017995; Wed, 10 Feb 2016 00:30:17 -0800 (PST) Received: from ?IPv6:2001:14bb:140:a6:402:1fcc:a508:2? (dygyybltfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:a6:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id b1sm1859345wjy.0.2016.02.10.00.30.16 for (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Feb 2016 00:30:17 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: zbxpcp: add derived metrics support Organization: Red Hat X-ASG-Orig-Subj: zbxpcp: add derived metrics support Message-ID: <56BAF517.4030300@redhat.com> Date: Wed, 10 Feb 2016 10:30:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f45.google.com[74.125.82.45] X-Barracuda-Start-Time: 1455093019 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.26911 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, Turns out adding derived metrics support to zbxpcp is trivial. Based on comments from Ken yesterday I think we can ignore errors from pmLoadDerivedMetrics, if the configuration file is malformed then messages will be logged into the zabbix-agent log file. Update the man page accordingly. The file name is quite a name monster, please feel free to adjust if you can come up with something better. A small CodingStyle fixlet included as a bonus as well. --- src/zabbix-agent/src/zbxpcp.3 | 10 +++++++++- src/zabbix-agent/src/zbxpcp.c | 15 ++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/zabbix-agent/src/zbxpcp.3 b/src/zabbix-agent/src/zbxpcp.3 index 3a03d19..557ac4a 100644 --- a/src/zabbix-agent/src/zbxpcp.3 +++ b/src/zabbix-agent/src/zbxpcp.3 @@ -117,6 +117,13 @@ the system. .BI /etc/zabbix/zabbix_agentd.conf Typical Zabbix agent configuration file location. .TP 10 +.BI /etc/zabbix/zbxpcp-derived-metrics.conf +Optional PCP derived metrics configuration file for +.BR zbxpcp . +See +.BR pmLoadDerivedConfig (3) +for more info on derived metrics. +.TP 10 .BI $(PCP_LIB_DIR)/zabbix/agent/zbxpcp.so Zabbix agent loadable PCP module. .PD @@ -124,6 +131,7 @@ Zabbix agent loadable PCP module. .BR PCPIntro (1), .BR pminfo (1), .BR pmrep (1), -.BR zabbix_get (1) +.BR zabbix_get (1), +.BR pmLoadDerivedConfig (3) and .BR zabbix_agentd (8). diff --git a/src/zabbix-agent/src/zbxpcp.c b/src/zabbix-agent/src/zbxpcp.c index fef75f3..5e20d4f 100644 --- a/src/zabbix-agent/src/zbxpcp.c +++ b/src/zabbix-agent/src/zbxpcp.c @@ -19,7 +19,6 @@ /* * TODO - * - derived metrics support * - config file support * - conn type * - conn target @@ -36,6 +35,10 @@ #define ZBX_PCP_METRIC_PREFIX "pcp." #endif +#ifndef ZBX_PCP_DERIVED_CONFIG +#define ZBX_PCP_DERIVED_CONFIG "/etc/zabbix/zbxpcp-derived-metrics.conf" +#endif + /* PCP includes. */ #include "pmapi.h" #include "impl.h" @@ -50,6 +53,10 @@ static int ctx = -1; int zbx_module_pcp_connect() { + /* Load possible derived metric definitions. */ + if (access(ZBX_PCP_DERIVED_CONFIG, F_OK ) != -1) + pmLoadDerivedConfig(ZBX_PCP_DERIVED_CONFIG); + ctx = pmNewContext(PM_CONTEXT_HOST, "localhost"); return ctx; } @@ -228,11 +235,9 @@ int zbx_module_pcp_fetch_metric(AGENT_REQUEST *request, AGENT_RESULT *result) } /* Locate the correct instance. */ - for (i = 0; desc[0].indom != PM_INDOM_NULL && i < rp->vset[0]->numval; i++) { - if (rp->vset[0]->vlist[i].inst == iid) { + for (i = 0; desc[0].indom != PM_INDOM_NULL && i < rp->vset[0]->numval; i++) + if (rp->vset[0]->vlist[i].inst == iid) break; - } - } if (i == rp->vset[0]->numval) { pmFreeResult(rp); return SYSINFO_RET_FAIL; Thanks, -- Marko Myllynen From myllynen@redhat.com Wed Feb 10 02:51:06 2016 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 E45137CA4 for ; Wed, 10 Feb 2016 02:51:05 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6E145AC007 for ; Wed, 10 Feb 2016 00:51:02 -0800 (PST) X-ASG-Debug-ID: 1455094259-04cbb04332509d0001-S8gJnT Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by cuda.sgi.com with ESMTP id xtQ8r0fvRQs54MHV (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 00:51:00 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.48 Received: by mail-wm0-f48.google.com with SMTP id p63so16522177wmp.1 for ; Wed, 10 Feb 2016 00:51:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=YlSoVy5pLp/VRFMRONraci+BMmYh2Hjtqfkba9PrbLE=; b=H33JuTep+WM4uradCUTdG2B2a9fvbrhdZpCLYTYCUAfZRJ+v7CI/WzRpoG5yqRbTGK 6bHW1CpMyfRwkZ+aKLbQZPgR+lIfn7Yj7xhzTq6DoulhEWTlysyglDuYe0nbtVPZJSgd 8HHt6LKcmGQDKBDAy+juQrs3gdtje7V5YV1OOzxR1IoL17cVhS4SeDg14x81co4sJQtP ebuKR81s6PYtYRzETxvl/TO1SnnHVq+1HV3wpI4yiB9GKziOqdSKFnTkwc4VxQKaCVSs vsM1t5gPswQn1kMdTgDEHEJ4P9xS0j9hXg1iDs67vs6KeJJuJqbRMaCAoA1Bl/GG+5Pr aURQ== X-Gm-Message-State: AG10YOSidS3Mw80Ks/ZevcwjV6HtciUBiySbgT8BC94dyOTXl2nIligu0l3rB3AadbInBPZJ X-Received: by 10.194.134.233 with SMTP id pn9mr37962621wjb.77.1455094259361; Wed, 10 Feb 2016 00:50:59 -0800 (PST) Received: from ?IPv6:2001:14bb:140:a6:402:1fcc:a508:2? (dygyybltfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:a6:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id l7sm1921555wjx.14.2016.02.10.00.50.58 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Feb 2016 00:50:58 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <56BA4880.1000607@redhat.com> <1781835934.19755039.1455052728610.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] Derived metric issues To: Nathan Scott , Ken McDonell Cc: pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56BAF9F1.8070104@redhat.com> Date: Wed, 10 Feb 2016 10:50:57 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1781835934.19755039.1455052728610.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f48.google.com[74.125.82.48] X-Barracuda-Start-Time: 1455094260 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26911 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-09 23:18, Nathan Scott wrote: > ----- Original Message ----- >>> [...] >>> pmRegisterDerived does not apply retrospectively to any open contexts, >>> so the normal use would be to make all calls to pmRegisterDerived >>> (possibly via pmLoadDerivedConfig(3)) and then call pmNewContext(3). >> >> A-ha! >> >>> I'd welcome any suggestions as to how this important piece of >>> information could be made more visible. >> >> After reading the above now it's of course obvious.. Perhaps a short >> note in the first section of pmLoadDerivedConfig(3) along the lines >> "Note that pmLoadDerivedConfig needs to be called before creating a new >> context" or something like that would be enough. > > pmReconnectContext(3) can also be used, I believe (that's what the python > wrapper uses anyway). Btw, FWIW, I remembered that I mentioned in the past another (unrelated) case where the man pages could be clarified a bit wrt calling order: http://oss.sgi.com/pipermail/pcp/2015-November/008752.html Thanks, -- Marko Myllynen From myllynen@redhat.com Wed Feb 10 03:56:30 2016 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 DD51C7CA2 for ; Wed, 10 Feb 2016 03:56:30 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id CE71D8F8033 for ; Wed, 10 Feb 2016 01:56:27 -0800 (PST) X-ASG-Debug-ID: 1455098185-04cbb0433152150001-S8gJnT Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by cuda.sgi.com with ESMTP id SkBv0vk6JXvON4md (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 01:56:26 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.48 Received: by mail-wm0-f48.google.com with SMTP id g62so19483612wme.0 for ; Wed, 10 Feb 2016 01:56:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=jnm8ZUduKka6urW7isvz8AC4y512C+0X3VATmY2fh5A=; b=Cy5CJmpUTeRNVFG2bwZKiXQu25qSv16H+eUt3J8vX8DtZpzrju4UzCZIfdjVU59gVD dza1FDmTEE8KA+sZYq19CZuReMiFEScrjFv0EbIPPjZ/w0z8XivOX/OTg2CDN6GkPZFj oI3z9E6tVC271/gAlu3nt63aZxQEEbjz6YkHrfLQ1qGlJKf9R0CdWMKZRIdUcICfXWq5 7g0GO39meTsUES12/ZuzCSpXJ3x3P3FHprBq9E2YCB0RsZEAy024CUGUKsnpaDvO03JT 7eBNS440HB8+vXbArgNOlxWmqx4IPUC83BSuxHOoU2WzTC6Bqwt0h3meVtjbBq6m1KZ9 C/qA== X-Gm-Message-State: AG10YOTt6GP0O7EADGErch2KpO+eqae+r0iDbWeZbb1zzAxzrEeVevHx1JuHuItKboLHqzOV X-Received: by 10.28.145.7 with SMTP id t7mr10193393wmd.98.1455098185112; Wed, 10 Feb 2016 01:56:25 -0800 (PST) Received: from ?IPv6:2001:14bb:140:a6:402:1fcc:a508:2? (dygyybltfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:a6:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id e14sm2591376wmi.21.2016.02.10.01.56.24 for (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Feb 2016 01:56:24 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] PCP Updates: mgoodwin pmrep + qa References: <56BA340C.1020300@redhat.com> X-ASG-Orig-Subj: Re: [pcp] PCP Updates: mgoodwin pmrep + qa To: pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56BB0946.5040407@redhat.com> Date: Wed, 10 Feb 2016 11:56:22 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BA340C.1020300@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f48.google.com[74.125.82.48] X-Barracuda-Start-Time: 1455098185 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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.26912 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On 2016-02-09 20:46, Dave Brolley wrote: > Changes committed to git://git.pcp.io/pcp.git master > > Mark Goodwin (2): > pmrep: cleanup stdio on exit to avoid Exception Ignored errors > qa: add test 880 to check pmrep for broken pipe exceptions and > Exception Ignored errors I'm still seeing issues after this patch, in fact now I have issues also with Python 2: $ python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | zsh: done head -n 1 $ python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | zsh: done head -n 1 $ This is on RHEL 7 (Python 2.7 and Python 3.3 in use). The reason why I'm so inclined to have this fixed shows above, with PRINT_EXIT_VALUE Zsh prints some ugly diagnostics. Does this work for everyone else or can this be a local hickup? I already tried using SIG_IGN instead of SIG_DFL etc to no avail. Thanks, -- Marko Myllynen From kenj@internode.on.net Wed Feb 10 05:42:33 2016 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 0F23E7CA2 for ; Wed, 10 Feb 2016 05:42:33 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E3A5C304053 for ; Wed, 10 Feb 2016 03:42:32 -0800 (PST) X-ASG-Debug-ID: 1455104549-04cbb0433354460001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id CO9lIlfmB5NOHEDh for ; Wed, 10 Feb 2016 03:42:30 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2A2AgDKIbtWPFBJ0XYNUYQMbYZjgXmzFBmHegEBAQEBAQcBAQEBQYUqgQUGAgUhAhECMicGAgEBuCJnjyd7jkyCNIE6BYdTjyWFTJZ5jj+EWlaIUwEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 10 Feb 2016 22:12:19 +1030 To: pcp@oss.sgi.com Subject: pcp updates: man pages and build breakage From: Ken McDonell X-ASG-Orig-Subj: pcp updates: man pages and build breakage Message-ID: <56BB221A.903@internode.on.net> Date: Wed, 10 Feb 2016 22:42:18 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455104549 X-Barracuda-URL: https://192.48.176.25:443/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.26914 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (2): man pages for derived metrics et al linux PMDA: fix GNUmakefile for build breakage after last change man/man3/pmloadderivedconfig.3 | 12 +++++++--- man/man3/pmreconnectcontext.3 | 47 ++++++++++++++++++++++++++++++----------- man/man3/pmregisterderived.3 | 46 +++++++++++++++++++++------------------- src/pmdas/linux/GNUmakefile | 2 - 4 files changed, 70 insertions(+), 37 deletions(-) Details ... commit b85327c508d5a72eada676bdc3ed31badaaee543 Author: Ken McDonell Date: Wed Feb 10 21:21:06 2016 +1100 linux PMDA: fix GNUmakefile for build breakage after last change Missing rule to make linux_kernel_fixups.conf commit a296a8a40e9cce30a37cb91e9e531287a30c7560 Author: Ken McDonell Date: Wed Feb 10 20:32:24 2016 +1100 man pages for derived metrics et al Stress that semantic checking and expression binding only happens after pmNewContext() or pmReconnectContext() is called. Also clarify error return values from pmLoadDerivedConfig(). From myllynen@redhat.com Wed Feb 10 05:48:48 2016 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 3122A7CA3 for ; Wed, 10 Feb 2016 05:48:48 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B7FDEAC004 for ; Wed, 10 Feb 2016 03:48:44 -0800 (PST) X-ASG-Debug-ID: 1455104921-04cbb04332545a0001-S8gJnT Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by cuda.sgi.com with ESMTP id yuJBa5uog7yFLdZ6 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 03:48:42 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.53 Received: by mail-wm0-f53.google.com with SMTP id 128so23251722wmz.1 for ; Wed, 10 Feb 2016 03:48:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=Zh3XIjZ0e9OfDb9TJNXovriUUm7TJaXItSOlCS4bcHk=; b=lszLRUnxXOoMDEgXbwdE5K93lVYe9Zm/Ysu34ozEM3U16MvUfPmZ+V0KjekZRfqsnf XXXrRkKQ4vixJfXFLdRDLoxio3xgCjBWhfg0ZSza6swFLxUM3Rh1E24jhcxCyXcmRLcf mWYnM/wudwaCmpBvG9d1u3lVxDy4aBgzGUCNhgoaSoC7wsmQlJmEwWqSMPa96dsCEdEk a1/vW7DTwQpjdc7CoBWxV75m/FGTMVngMPtxbg6kcqiqisrQxf4BVRjJQJXgRseI8sJu klRK3DFIgQzQ9SXdC6YqRURDCfFoybuiOuOuRevbUWUEGIe1wabvabwFvs9OMBhNs3Kx qZkg== X-Gm-Message-State: AG10YOSwp6GMk6Kw7O1sYh8F7+6F6Oh4UKW+fPyOFABGe50Lyc4V/RrRxBEG5uwRTjsDQ+GR X-Received: by 10.28.213.142 with SMTP id m136mr11142941wmg.24.1455104921770; Wed, 10 Feb 2016 03:48:41 -0800 (PST) Received: from ?IPv6:2001:14bb:140:a6:402:1fcc:a508:2? (dygyybltfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:a6:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id i5sm2595960wja.23.2016.02.10.03.48.41 for (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Feb 2016 03:48:41 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] pcp updates: man pages and build breakage References: <56BB221A.903@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] pcp updates: man pages and build breakage To: pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56BB2397.901@redhat.com> Date: Wed, 10 Feb 2016 13:48:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BB221A.903@internode.on.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f53.google.com[74.125.82.53] X-Barracuda-Start-Time: 1455104922 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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.26914 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On 2016-02-10 13:42, Ken McDonell wrote: > Changes committed to git://git.pcp.io/kenj/pcp master > > Ken McDonell (2): > man pages for derived metrics et al > > man/man3/pmloadderivedconfig.3 | 12 +++++++--- > man/man3/pmreconnectcontext.3 | 47 ++++++++++++++++++++++++++++++----------- > man/man3/pmregisterderived.3 | 46 +++++++++++++++++++++------------------- Looks very good, thanks! Cheers, -- Marko Myllynen From noreply@github.com Wed Feb 10 11:11:28 2016 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,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 2B1817CA2 for ; Wed, 10 Feb 2016 11:11:28 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9CC31AC005 for ; Wed, 10 Feb 2016 09:11:24 -0800 (PST) X-ASG-Debug-ID: 1455124277-04cbb043335ce30001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id KoRVpSWRd0BCIh6P (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 09:11:19 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTYIK-0005I0-Ee for ; Thu, 11 Feb 2016 04:11:17 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Wed, 10 Feb 2016 09:11:04 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455124265; bh=7IyYBcBIOcQUUEK/xX3Id98dk8t6Qs0AOq1UwurkSYw=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=WQ7GLvcFRetyio4thh+Jzye/bJ05PBm1bO5XVp9EnZi0a30gLR6vrOPzCtJwdtCli nAfroHX0foIz2hufvm5oPTom8ItFGUD3DXa+W24z4BA5B3WmMgEHrMf7D3IocjVxSg 0MtF8IHNWhSMXdrUEgqpIpVsL+GPq5plqpoYpgZA= From: jirib Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] first wave of diffs to compile on OpenBSD (#68) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] first wave of diffs to compile on OpenBSD (#68) Content-Type: multipart/alternative; boundary="--==_mimepart_56bb6f28e6b36_4a9f3f83e6d992bc1254593"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: jirib X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1455124278 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, DKIM_SIGNED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26919 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56bb6f28e6b36_4a9f3f83e6d992bc1254593 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit It passed configure, gmake compiles but it still fails later on linking... ``` ... gcc -L/usr/local/lib -L/usr/X11R6/lib -L/usr/local/lib -L/usr/X11R6/lib -Wall -L./src/libpcp/src -L./src/libpcp_pmda/src -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../src/libpcp/src -L../src/libpcp_pmda/src -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../../src/libpcp/src -L../../src/libpcp_pmda/src -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src -Wl,--version-script=exports -o libpcp..3 connect.o context.o desc.o err.o fetch.o fetchgroup.o freeresult.o help.o instance.o p_desc.o p_error.o p_fetch.o p_instance.o p_profile.o p_result.o p_text.o p_pmns.o p_creds.o p_attr.o pdu.o pdubuf.o pmns.o profile.o store.o units.o util.o ipc.o sortinst.o logmeta.o logportmap.o logutil.o tz.o interp.o checksum.o rtime.o tv.o spec.o fetchlocal.o optfetch.o AF.o stuffvalue.o endian.o config.o auxconnect.o auxserver.o discovery.o p_lcontrol.o p_lrequest.o p_lstatus.o logconnect.o logcontrol.o connectlocal.o derive.o derive_fetch.o events.o loc k.o hash .o fault.o access.o getopt.o probe.o avahi.o accounts.o getdate.tab.o -lavahi-common -lavahi-client -lm -lpthread instance.o: In function `inresult_to_lists': /home/jirib/tmp/moje/pcp/src/libpcp/src/instance.c:200: warning: warning: strcpy() is almost always misused, please use strlcpy() /usr/local/lib/libavahi-common.so.0.0: warning: warning: rand() may return deterministic values, is that what you want? pmns.o: In function `attach': /home/jirib/tmp/moje/pcp/src/libpcp/src/pmns.c:651: warning: warning: strcat() is almost always misused, please use strlcat() logportmap.o: In function `__pmLogFindPort': /home/jirib/tmp/moje/pcp/src/libpcp/src/logportmap.c:403: warning: warning: sprintf() is often misused, please use snprintf() /usr/local/lib/libdbus-1.so.11.1: warning: warning: vsprintf() is often misused, please use vsnprintf() /usr/lib/crt0.o: In function `_start': (.text+0x9d): undefined reference to `main' collect2: ld returned 1 exit status ../../../src/include/buildrules:86: recipe for target 'libpcp..3' failed gmake[3]: *** [libpcp..3] Error 1 GNUmakefile:24: recipe for target 'default' failed gmake[2]: *** [default] Error 2 GNUmakefile:117: recipe for target 'default_pcp' failed gmake[1]: *** [default_pcp] Error 2 gmake[1]: Leaving directory '/home/jirib/tmp/moje/pcp/src' GNUmakefile:49: recipe for target 'default_pcp' failed gmake: *** [default_pcp] Error 2 ``` You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/68 -- Commit Summary -- * first wave of diffs to compile on OpenBSD -- File Changes -- M configure (11) M configure.ac (48) M src/include/pcp/config.h.in (11) M src/libpcp/src/auxserver.c (11) M src/libpcp/src/pdubuf.c (8) M src/libpcp/src/util.c (72) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/68.patch https://github.com/performancecopilot/pcp/pull/68.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/68 ----==_mimepart_56bb6f28e6b36_4a9f3f83e6d992bc1254593 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

It passed configure, gmake compiles but it still fails later on linking...

...
gcc -L/usr/local/lib -L/usr/X11R6/lib -L/usr/local/lib -L/usr/X11R6/lib -Wall -L./src/libpcp/src -L./src/libpcp_pmda/src  -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../src/libpcp/src -L../src/libpcp_pmda/src  -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../../src/libpcp/src -L../../src/libpcp_pmda/src  -L/usr/local/lib -L/usr/X11R6/lib -Wall -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src  -Wl,--version-script=exports -o libpcp..3  connect.o context.o desc.o err.o fetch.o fetchgroup.o freeresult.o help.o instance.o p_desc.o p_error.o p_fetch.o p_instance.o p_profile.o p_result.o p_text.o p_pmns.o p_creds.o p_attr.o pdu.o pdubuf.o pmns.o profile.o store.o units.o util.o ipc.o sortinst.o logmeta.o logportmap.o logutil.o tz.o interp.o checksum.o rtime.o tv.o spec.o fetchlocal.o optfetch.o AF.o stuffvalue.o endian.o config.o auxconnect.o auxserver.o discovery.o p_lcontrol.o p_lrequest.o p_lstatus.o logconnect.o logcontrol.o connectlocal.o derive.o derive_fetch.o events.o loc
 k.o hash
 .o fault.o access.o getopt.o probe.o avahi.o accounts.o    getdate.tab.o -lavahi-common -lavahi-client -lm -lpthread      
instance.o: In function `inresult_to_lists':
/home/jirib/tmp/moje/pcp/src/libpcp/src/instance.c:200: warning: warning: strcpy() is almost always misused, please use strlcpy()
/usr/local/lib/libavahi-common.so.0.0: warning: warning: rand() may return deterministic values, is that what you want?
pmns.o: In function `attach':
/home/jirib/tmp/moje/pcp/src/libpcp/src/pmns.c:651: warning: warning: strcat() is almost always misused, please use strlcat()
logportmap.o: In function `__pmLogFindPort':
/home/jirib/tmp/moje/pcp/src/libpcp/src/logportmap.c:403: warning: warning: sprintf() is often misused, please use snprintf()
/usr/local/lib/libdbus-1.so.11.1: warning: warning: vsprintf() is often misused, please use vsnprintf()
/usr/lib/crt0.o: In function `_start':
(.text+0x9d): undefined reference to `main'
collect2: ld returned 1 exit status
../../../src/include/buildrules:86: recipe for target 'libpcp..3' failed
gmake[3]: *** [libpcp..3] Error 1
GNUmakefile:24: recipe for target 'default' failed
gmake[2]: *** [default] Error 2
GNUmakefile:117: recipe for target 'default_pcp' failed
gmake[1]: *** [default_pcp] Error 2
gmake[1]: Leaving directory '/home/jirib/tmp/moje/pcp/src'
GNUmakefile:49: recipe for target 'default_pcp' failed
gmake: *** [default_pcp] Error 2

You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/68

Commit Summary

  • first wave of diffs to compile on OpenBSD

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

----==_mimepart_56bb6f28e6b36_4a9f3f83e6d992bc1254593-- From wwwrun@oss.sgi.com Wed Feb 10 13:35:45 2016 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,NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: pcp@oss.sgi.com Delivered-To: pcp@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 30) id D55817CB0; Wed, 10 Feb 2016 13:35:45 -0600 (CST) From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 1136] New: pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Date: Wed, 10 Feb 2016 19:35:45 +0000 X-Bugzilla-Reason: CC AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: fche@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: pcp@oss.sgi.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter cc classification Message-ID: Content-Type: multipart/alternative; boundary="1455132945.1A7bA7b0.5657"; charset="us-ascii" X-Bugzilla-URL: http://oss.sgi.com/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 --1455132945.1A7bA7b0.5657 Date: Wed, 10 Feb 2016 13:35:45 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" http://oss.sgi.com/bugzilla/show_bug.cgi?id=1136 Bug ID: 1136 Summary: pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Product: pcp Version: unspecified Hardware: All OS: Linux Status: NEW Severity: major Priority: P5 Component: pcp Assignee: pcp@oss.sgi.com Reporter: fche@redhat.com CC: pcp@oss.sgi.com Classification: Unclassified The current brolley/multi-archive work requires metrics to preserve their type across the individual archives (in a directory or list) that span it. There are at least two problems with this. - pmdas can change over time, changing the data types of their metrics - pmlogrewrite rules may change over time. Old archives may have had different types from newer ones (with a fresher pmlogrewrite rules being applied), and rerunning pmlogrewrite on ancient archives is not customarily done - pmlogreduce widens the type of counters from 32->64 bits All of these mean that asserting that data types are identical across multiple archives is problematic. It means that multi-archive operations will miss, perhaps quietly, those other archives. (This comes up immediately with pmmgr/pmlogreduce/pmwebd graphs that cross from the 15->14 day-age boundary.) We should consider relaxing this constraint. One way would be to have an initial metadata scan pass across the multi-archive set, and look for data type changes. In the case of any, arrange to widen, perhaps up to PM_TYPE_DOUBLE if necessary. That would mean having to remap pmResults on the fly, would be complicated ... but wonderful for generality. Another way would be to have a pmlogrewrite rule that widens all counters to 64 bits, to mesh pmlogreduce's policy, and encourage the tooling to run pmlogrewrite right after pmlogger's done. This would be simpler but would exclude currently-being-written pmlogger files from a multi-archive. Another way would be perhaps to change the pmlogreduce policy, and represent potentiall large counter deltas/overflows some other way. This would reduce the wide spread of this problem. -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. --1455132945.1A7bA7b0.5657 Date: Wed, 10 Feb 2016 13:35:45 -0600 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
Bug ID 1136
Summary pmlogreduce type conversion conflicts with naive multi-archive same-type assertion
Product pcp
Version unspecified
Hardware All
OS Linux
Status NEW
Severity major
Priority P5
Component pcp
Assignee pcp@oss.sgi.com
Reporter fche@redhat.com
CC pcp@oss.sgi.com
Classification Unclassified

The current brolley/multi-archive work requires metrics to preserve
their type across the individual archives (in a directory or list)
that span it.  There are at least two problems with this.

- pmdas can change over time, changing the data types of their metrics

- pmlogrewrite rules may change over time.  Old archives may have
  had different types from newer ones (with a fresher pmlogrewrite 
  rules being applied), and rerunning pmlogrewrite on ancient archives
  is not customarily done

- pmlogreduce widens the type of counters from 32->64 bits

All of these mean that asserting that data types are identical
across multiple archives is problematic.  It means that multi-archive
operations will miss, perhaps quietly, those other archives.

(This comes up immediately with pmmgr/pmlogreduce/pmwebd graphs
that cross from the 15->14 day-age boundary.)

We should consider relaxing this constraint.

One way would be to have an initial metadata scan pass across the
multi-archive set, and look for data type changes.  In the case of
any, arrange to widen, perhaps up to PM_TYPE_DOUBLE if necessary.
That would mean having to remap pmResults on the fly, would be
complicated ... but wonderful for generality.

Another way would be to have a pmlogrewrite rule that widens all 
counters to 64 bits, to mesh pmlogreduce's policy, and encourage
the tooling to run pmlogrewrite right after pmlogger's done.  This
would be simpler but would exclude currently-being-written pmlogger
files from a multi-archive.

Another way would be perhaps to change the pmlogreduce policy, and
represent potentiall large counter deltas/overflows some other way.
This would reduce the wide spread of this problem.


You are receiving this mail because:
  • You are on the CC list for the bug.
  • You are the assignee for the bug.
--1455132945.1A7bA7b0.5657-- From kenj@internode.on.net Wed Feb 10 15:45:43 2016 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 B00057CBC for ; Wed, 10 Feb 2016 15:45:43 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3CFFDAC008 for ; Wed, 10 Feb 2016 13:45:39 -0800 (PST) X-ASG-Debug-ID: 1455140733-04cb6c1e5849c90001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id bVnXGPbxw1TAQbeE for ; Wed, 10 Feb 2016 13:45:34 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2ASAgD3rrtWPFBJ0XYNUYtcgXmzF4gTAQEBAQEBBwEBAQFBhSpVNgIFFgsCCwMCAQIBMQ4MDQgBAbkaZ48Ve4lOhzKBOgWWeJxFjj+EWokpAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 11 Feb 2016 08:14:50 +1030 To: PCP From: Ken McDonell Subject: new pmiostat qa failures Message-ID: <56BBAF51.1080001@internode.on.net> X-ASG-Orig-Subj: new pmiostat qa failures Date: Thu, 11 Feb 2016 08:44:49 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455140733 X-Barracuda-URL: https://192.48.176.15:443/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.26926 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I'm seeing this a lot for qa/536 ... ## Testing pmiostat with disk.dev metrics Traceback (most recent call last): File "/usr/bin/pmiostat", line 229, in if not IostatOptions.checkOptions(manager): TypeError: unbound method checkOptions() must be called with IostatOptions instance as first argument (got MetricGroupManager instance instead) ## Testing pmiostat with deice-mapper metrics Traceback (most recent call last): File "/usr/bin/pmiostat", line 229, in if not IostatOptions.checkOptions(manager): TypeError: unbound method checkOptions() must be called with IostatOptions instance as first argument (got MetricGroupManager instance instead) and something similar in qa/842 and qa/1099. From kenj@internode.on.net Wed Feb 10 16:53:46 2016 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 B032529DF5 for ; Wed, 10 Feb 2016 16:53:46 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 92995304043 for ; Wed, 10 Feb 2016 14:53:43 -0800 (PST) X-ASG-Debug-ID: 1455144820-04bdf066eb50330001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id HXnTI1fjW92IWX3N for ; Wed, 10 Feb 2016 14:53:40 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2A4AgAvvrtWPFBJ0XYNUYQMbYZigXmzExmFbgSCCQEBAQEBAQcBAQEBQYUqFUAwBgIFFgsCCwMCAQIBMScGAgEBuR1njxV7jkuCNIE6BZZ3hUyWeI4/hFpWiFMBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 11 Feb 2016 09:23:39 +1030 To: pcp@oss.sgi.com Subject: pcp updates: add sample.negative metrics From: Ken McDonell X-ASG-Orig-Subj: pcp updates: add sample.negative metrics Message-ID: <56BBBF72.1040707@internode.on.net> Date: Thu, 11 Feb 2016 09:53:38 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455144820 X-Barracuda-URL: https://192.48.157.11:443/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.26928 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (5): qa/1070: chmod 755 sample PMDA: add sample.negative metrics sample PMDA: fix one-line help text for sample.negative metrics qa/1069: remade after pmrep timezone reporting change qa/assorted: remade .out files after sample.negative.* metrics added qa/029.out | 168 ++++++++++++++++++++++++++++++++++++++++++ qa/1069.out | 2 qa/139.out | 12 +++ qa/162.out | 12 +++ qa/256.out | 24 ++++++ qa/273.out | 12 +++ qa/509.out | 12 +++ qa/569.out | 60 +++++++++++++++ qa/762.out | 24 ++++++ src/pmdas/sample/help | 125 +++++++++++++++++++++++++++++-- src/pmdas/sample/pmns | 28 +++++++ src/pmdas/sample/src/sample.c | 81 ++++++++++++++++++++ 12 files changed, 551 insertions(+), 9 deletions(-) Details ... commit 1f14d838fb1885e5e2a167db56a86ea6740c8473 Author: Ken McDonell Date: Thu Feb 11 09:52:02 2016 +1100 qa/assorted: remade .out files after sample.negative.* metrics added commit 108cb2a4516091de1b6f0ac49783cdda8232323e Author: Ken McDonell Date: Thu Feb 11 09:51:25 2016 +1100 qa/1069: remade after pmrep timezone reporting change commit 0e7e0f98653c8a0ee84e333d2b0d37bef57ad245 Author: Ken McDonell Date: Thu Feb 11 09:21:35 2016 +1100 sample PMDA: fix one-line help text for sample.negative metrics cut-n-paste error when I created the new entries. commit bdb9898280b194246a2d8cf256b62ad005fb02aa Author: Ken McDonell Date: Thu Feb 11 08:47:55 2016 +1100 sample PMDA: add sample.negative metrics 12 of 'em ... {counter,instant,discrete} x {32,64,float,double}. To be used in testing PCP components with metrics that can assume negative values. commit 53647013048a2a20f4ede10653cb0a33db4b2ab5 Author: Ken McDonell Date: Thu Feb 11 08:43:48 2016 +1100 qa/1070: chmod 755 From kenj@internode.on.net Wed Feb 10 17:12:59 2016 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 6185C7CAE for ; Wed, 10 Feb 2016 17:12:59 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 354EF8F8050 for ; Wed, 10 Feb 2016 15:12:55 -0800 (PST) X-ASG-Debug-ID: 1455145973-04bdf066ec50880001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 8hGXLwE7Jg2tPkFP for ; Wed, 10 Feb 2016 15:12:53 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2A3AgAbw7tWPFBJ0XYNUYQMbYZigXmzExmHewEBAQEBAQcBAQEBQYUqVTAGAgUWCwILAwIBAgExJwYCAQG5H2ePFXuNTX6CNIE6BZZ3hUyWeI4/hFpWhxqBOQEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 11 Feb 2016 09:42:52 +1030 To: pcp@oss.sgi.com Subject: pcp updates: fixups From: Ken McDonell X-ASG-Orig-Subj: pcp updates: fixups Message-ID: <56BBC3F4.5040202@internode.on.net> Date: Thu, 11 Feb 2016 10:12:52 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455145973 X-Barracuda-URL: https://192.48.157.11:443/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.26928 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (2): Revert "qa/1069: remade after pmrep timezone reporting change" qa/273: one more sample.negative remake qa/1069.out | 2 qa/273.out | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 1 deletion(-) Details ... commit bee51d1a7540138f0bbf4784836c7ddc7dab6f7c Author: Ken McDonell Date: Thu Feb 11 10:11:57 2016 +1100 qa/273: one more sample.negative remake commit 101f955670b701d5d92004a8a69d99d0d5cc9980 Author: Ken McDonell Date: Thu Feb 11 10:11:05 2016 +1100 Revert "qa/1069: remade after pmrep timezone reporting change" This reverts commit 108cb2a4516091de1b6f0ac49783cdda8232323e. Oops ... my mistake From goodwinos@gmail.com Wed Feb 10 17:45:04 2016 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,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 A62BA7F54 for ; Wed, 10 Feb 2016 17:45:04 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 27FD1AC005 for ; Wed, 10 Feb 2016 15:45:01 -0800 (PST) X-ASG-Debug-ID: 1455147898-04cb6c1e564c090001-S8gJnT Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by cuda.sgi.com with ESMTP id 8rJ804GHkuTGI1WV (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 10 Feb 2016 15:44:59 -0800 (PST) X-Barracuda-Envelope-From: goodwinos@gmail.com X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.47 Received: by mail-pa0-f47.google.com with SMTP id yy13so19404019pab.3 for ; Wed, 10 Feb 2016 15:44:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=WKJIAxpiQ9Vs/o17vqqiA90epszzwVU2LJ1eLanWoD4=; b=oTfpwrLG535ancuaNCa6xS3HFYZsJ9Vd7kYUiZxOXfCBAROx3FtjiPBBPkHxqKNcgr i69z91/v6MRn4KWG9upRwWmGI7wteEKTf/hzlrXlOnIE5j1TCtbUm42Q9vmXBf9eID0l l3nrWMxCCeXo9vOH4iAs9Kp+nOkzbcYH+VGi/CRuLrmcN7VkUoQzi7PiiPzju7hsomTv F22TUuQCnyC/+eTDHEFG+BRAwgwxXqxZ9N7OX4gASpnj5ge0atYX5xIt/aU5+ewVwkCo 8eax4T8LumAaawd3+251fifn5LbJeSPSk8O4JrbyEIE7EAqo6PQxLDGF07JQICNFNFo3 3tkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=WKJIAxpiQ9Vs/o17vqqiA90epszzwVU2LJ1eLanWoD4=; b=Wlp4jfh0/HFic/GXI/b5MKfydo5FMYNbblw4yNU3zBe3w8Ioc5n27uUyzLLxMz3pbb JzNpz9N1PUNxcfO5BaR4WnBkAWW5c+ZtvHP/iUie9CGEGs5YqRrS2Q4ORvCev3l+I66c t5WEnKhlGeiwZN4feR33nVWFl9o2IjPkk6Oxt1xVIHbRayCbCuTK+89dytYyrq0J+lBF +jtV7y83UIMrlvDzDw/QFym09QRnQWRe9TtC+8YOW2cSD1aUDXAm75dn0neR4POm5j8I gmMZ27KrwAssoX51bKv/j5lF0US6nw3nxB53DW0vcnkzp6QiIbagQ3hFt780OlkV/N/C fBSA== X-Gm-Message-State: AG10YOQyfuFxnP2OOb7lrD8PFEF+FxUnPk+b/LAtLnl00dKStw3LWlR4WVLYT00gLSnNRA== X-Received: by 10.66.65.109 with SMTP id w13mr61858606pas.142.1455147898568; Wed, 10 Feb 2016 15:44:58 -0800 (PST) Received: from [10.64.147.23] (59-100-246-194.mel.static-ipl.aapt.com.au. [59.100.246.194]) by smtp.gmail.com with ESMTPSA id t12sm7607747pfa.54.2016.02.10.15.44.55 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Feb 2016 15:44:57 -0800 (PST) Subject: Re: [pcp] new pmiostat qa failures X-Barracuda-BBL-IP: 10.64.147.23 To: Ken McDonell , PCP X-ASG-Orig-Subj: Re: [pcp] new pmiostat qa failures References: <56BBAF51.1080001@internode.on.net> From: Mark Goodwin Message-ID: <56BBCB75.5060404@gmail.com> Date: Thu, 11 Feb 2016 10:44:53 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BBAF51.1080001@internode.on.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-pa0-f47.google.com[209.85.220.47] X-Barracuda-Start-Time: 1455147899 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26929 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Thanks Ken - Lukas is seeing this too, but strangely neither Nathan or I are, despite testing on both py2 and 3. Anyway, I'm onto it ... another pythonism of some sort I guess. On 02/11/2016 08:44 AM, Ken McDonell wrote: > I'm seeing this a lot for qa/536 > > ... > ## Testing pmiostat with disk.dev metrics > Traceback (most recent call last): > File "/usr/bin/pmiostat", line 229, in > if not IostatOptions.checkOptions(manager): > TypeError: unbound method checkOptions() must be called with IostatOptions instance as first argument (got MetricGroupManager instance instead) > ## Testing pmiostat with deice-mapper metrics > Traceback (most recent call last): > File "/usr/bin/pmiostat", line 229, in > if not IostatOptions.checkOptions(manager): > TypeError: unbound method checkOptions() must be called with IostatOptions instance as first argument (got MetricGroupManager instance instead) > > and something similar in qa/842 and qa/1099. > > _______________________________________________ > pcp mailing list > pcp@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/pcp From lberk@redhat.com Wed Feb 10 17:56:07 2016 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 7C2C47F58 for ; Wed, 10 Feb 2016 17:56:07 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5DD33304059 for ; Wed, 10 Feb 2016 15:56:04 -0800 (PST) X-ASG-Debug-ID: 1455148562-04bdf066ea51470001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6M7IRv5DtzEZDWuE (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 15:56:03 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 438FD552E6 for ; Wed, 10 Feb 2016 23:56:00 +0000 (UTC) Received: from toium (vpn-60-182.rdu2.redhat.com [10.10.60.182]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1ANtxcT026079 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 18:55:59 -0500 From: Lukas Berk To: pcp@oss.sgi.com Subject: pcp updates: pmdalinux Date: Wed, 10 Feb 2016 18:55:59 -0500 X-ASG-Orig-Subj: pcp updates: pmdalinux Message-ID: <87pow4ktm8.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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: 1455148563 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, One quick update. Changes committed to git://git.pcp.io/lberk/pcp master Lukas Berk (1): pmdalinux require priv. user for slabinfo metrics src/pmdas/linux/pmda.c | 38 ++++++++++++++++++++++++++++++++++---- src/pmdas/linux/proc_slabinfo.h | 2 ++ 2 files changed, 36 insertions(+), 4 deletions(-) Details ... commit d7f3e16eef3ae987ea11dd82129103426a15f1e8 Author: Lukas Berk Date: Wed Feb 10 18:51:23 2016 -0500 pmdalinux require priv. user for slabinfo metrics With /proc/slabinfo now read-only, we need to check the permission attribute of the requesting client before refreshing and allowing the fetch. From nscott@redhat.com Wed Feb 10 18:00:32 2016 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 E1FFC7F58 for ; Wed, 10 Feb 2016 18:00:32 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8EC5F304053 for ; Wed, 10 Feb 2016 16:00:32 -0800 (PST) X-ASG-Debug-ID: 1455148829-04bdf066ed51580001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id Aouh4Kb81o0MFEIL (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2016 16:00:29 -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 u1B00Sql011734; Wed, 10 Feb 2016 19:00:28 -0500 Date: Wed, 10 Feb 2016 19:00:28 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> In-Reply-To: <56BAF517.4030300@redhat.com> References: <56BAF517.4030300@redhat.com> Subject: Re: [pcp] zbxpcp: add derived metrics support MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] zbxpcp: add derived metrics support Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.17] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: zbxpcp: add derived metrics support Thread-Index: 6atqutpVZ7gfhmr0rjRhSZd2NnXfvw== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455148829 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26930 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > Hi, > > Turns out adding derived metrics support to zbxpcp is trivial. > > Based on comments from Ken yesterday I think we can ignore errors from > pmLoadDerivedMetrics, if the configuration file is malformed then > messages will be logged into the zabbix-agent log file. > > Update the man page accordingly. The file name is quite a name monster, (seems OK to me - leaves no doubt in the mind of the reader as to what it is for, anyway) > please feel free to adjust if you can come up with something better. > > A small CodingStyle fixlet included as a bonus as well. > Looks good - warrants a tweak to qa/1067 to regression test it? cheers. -- Nathan From wwwrun@oss.sgi.com Wed Feb 10 18:13:46 2016 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,NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: pcp@oss.sgi.com Delivered-To: pcp@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 30) id 11D7C7F5D; Wed, 10 Feb 2016 18:13:46 -0600 (CST) From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Date: Thu, 11 Feb 2016 00:13:45 +0000 X-Bugzilla-Reason: CC AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: kenj@internode.on.net X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: pcp@oss.sgi.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: multipart/alternative; boundary="1455149626.EC8EB2.15203"; charset="us-ascii" X-Bugzilla-URL: http://oss.sgi.com/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 --1455149626.EC8EB2.15203 Date: Wed, 10 Feb 2016 18:13:46 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" http://oss.sgi.com/bugzilla/show_bug.cgi?id=1136 Ken McDonell changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kenj@internode.on.net --- Comment #1 from Ken McDonell --- G'day Frank. Just adding some thoughts so they don't get lost ... - changing metadata between archives in a multi-archive context would involve a significant change ... at the moment there is only one copy of the metadata and it is cross linked for access via context and via pmid ... without the correct metadata libpcp cannot even decode the pmResult, much less do interpolation ... this sounds like per-archive metadata in libpcp or a 2-level cache of metadata (global and per-archive for things that are different) - clients typically fetch the metadata once and then use it over and over to decode pmResults on their side of the PMAPI ... this pretty much means any changes in metadata would have to be entirely encapsulated within libpcp - it is not just PM_TYPE that is potentially in play ... I've long wanted pmlogreduce to do statistical rate reduction on counters to handle wraps and short gaps (around records) ... this would change the metric units&scale from, for example, BYTES to BYTES/SEC and further complicate the on-the-fly interpolation and pmResult construction (I think this makes the pmlogrewrite to "widen" the data type option a non-starter) - dealing with raw and rate converted values for the same metric across different archives is doing my head in ... I don't even have the start of a solution here because which ever semantics you choose to export above the PMAPI, there is no robust algorithm to synthesize values for the periods where the archive contains values according to the "other" semantics - and the solution here has to work for both interpolate mode and non-interpolate mode This is not undoable, just not easy ... 8^) -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. --1455149626.EC8EB2.15203 Date: Wed, 10 Feb 2016 18:13:46 -0600 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" changed bug 1136
What Removed Added
CC   kenj@internode.on.net

Comment # 1 on bug 1136 from
G'day Frank.

Just adding some thoughts so they don't get lost ...

- changing metadata between archives in a multi-archive context would involve a
significant change ... at the moment there is only one copy of the metadata and
it is cross linked for access via context and via pmid ... without the correct
metadata libpcp cannot even decode the pmResult, much less do interpolation ...
this sounds like per-archive metadata in libpcp or a 2-level cache of metadata
(global and per-archive for things that are different)

- clients typically fetch the metadata once and then use it over and over to
decode pmResults on their side of the PMAPI ... this pretty much means any
changes in metadata would have to be entirely encapsulated within libpcp

- it is not just PM_TYPE that is potentially in play ... I've long wanted
pmlogreduce to do statistical rate reduction on counters to handle wraps and
short gaps (around <mark> records) ... this would change the metric units&scale
from, for example, BYTES to BYTES/SEC and further complicate the on-the-fly
interpolation and pmResult construction (I think this makes the pmlogrewrite to
"widen" the data type option a non-starter)

- dealing with raw and rate converted values for the same metric across
different archives is doing my head in ... I don't even have the start of a
solution here because which ever semantics you choose to export above the
PMAPI, there is no robust algorithm to synthesize values for the periods where
the archive contains values according to the "other" semantics

- and the solution here has to work for both interpolate mode and
non-interpolate mode

This is not undoable, just not easy ... 8^)


You are receiving this mail because:
  • You are on the CC list for the bug.
  • You are the assignee for the bug.
--1455149626.EC8EB2.15203-- From mgoodwin@redhat.com Wed Feb 10 18:22:11 2016 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 755357F58 for ; Wed, 10 Feb 2016 18:22:11 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 11D9DAC002 for ; Wed, 10 Feb 2016 16:22:08 -0800 (PST) X-ASG-Debug-ID: 1455150126-04cbb0433465690001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CsKlNOFiuIFEkv0Y (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 16:22:07 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 66D08461D3 for ; Thu, 11 Feb 2016 00:22:06 +0000 (UTC) Received: from [10.64.147.23] ([10.64.147.23]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1B0M414024542; Wed, 10 Feb 2016 19:22:05 -0500 Subject: Re: [pcp] PCP Updates: mgoodwin pmrep + qa To: Marko Myllynen , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] PCP Updates: mgoodwin pmrep + qa References: <56BA340C.1020300@redhat.com> <56BB0946.5040407@redhat.com> From: Mark Goodwin Message-ID: <56BBD42C.2000108@redhat.com> Date: Thu, 11 Feb 2016 11:22:04 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BB0946.5040407@redhat.com> Content-Type: text/plain; charset=windows-1252; 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: 1455150127 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/10/2016 08:56 PM, Marko Myllynen wrote: > Hi, > > On 2016-02-09 20:46, Dave Brolley wrote: >> Changes committed to git://git.pcp.io/pcp.git master >> >> Mark Goodwin (2): >> pmrep: cleanup stdio on exit to avoid Exception Ignored errors >> qa: add test 880 to check pmrep for broken pipe exceptions and >> Exception Ignored errors > > I'm still seeing issues after this patch, in fact now I have issues > also with Python 2: > > $ python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 > # > zsh: broken pipe python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | > zsh: done head -n 1 > $ python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 > # > zsh: broken pipe python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | > zsh: done head -n 1 > $ > > This is on RHEL 7 (Python 2.7 and Python 3.3 in use). The reason why > I'm so inclined to have this fixed shows above, with PRINT_EXIT_VALUE > Zsh prints some ugly diagnostics. Isn't zsh's PRINT_EXIT_VALUE doing just that here - printing that there was a broken pipe for pmrep (for which the signal was ignored via SIG_DFL), and that 'head' exited normally? I'll install zsh and test some more. > > Does this work for everyone else or can this be a local hickup? I > already tried using SIG_IGN instead of SIG_DFL etc to no avail. I'll check on rhel7 - I've only been testing on f23 with py2 and py3. But basically - python installs a sigpipe handler to raise an exception on broken pipe. We trapped this in pmiostat to ignore the socket.error exception, but I think the better solution is to restore the SIGPIPE SIG_DFL handler from glibc, which is what pmrep is now doing - this avoids the python exception and ignores SIGPIPE by default. Not sure why SIG_IGN didn't work though. Anyway - so I'll change pmiostat to SIG_DFL SIGPIPE too unless anyone has a better idea? Regards From wwwrun@oss.sgi.com Wed Feb 10 20:00:17 2016 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,NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: pcp@oss.sgi.com Delivered-To: pcp@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 30) id F2F887F60; Wed, 10 Feb 2016 20:00:16 -0600 (CST) From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Date: Thu, 11 Feb 2016 02:00:16 +0000 X-Bugzilla-Reason: CC AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: fche@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: pcp@oss.sgi.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: multipart/alternative; boundary="1455156016.f538bF21.13062"; charset="us-ascii" X-Bugzilla-URL: http://oss.sgi.com/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 --1455156016.f538bF21.13062 Date: Wed, 10 Feb 2016 20:00:16 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" http://oss.sgi.com/bugzilla/show_bug.cgi?id=1136 --- Comment #2 from Frank Ch. Eigler --- > Just adding some thoughts so they don't get lost ... Thanks! > - changing metadata between archives in a multi-archive context would > involve a significant change [...] entirely encapsulated within libpcp Yes. > - it is not just PM_TYPE that is potentially in play ... I've long wanted > pmlogreduce to do statistical rate reduction on counters to handle wraps and > short gaps (around records) ... this would change the metric > units&scale from, for example, BYTES to BYTES/SEC (And turn the into SEM_INSTANT? Anyway, we could think that through later.) > [...] (I think this makes the > pmlogrewrite to "widen" the data type option a non-starter) (I don't see why - we already ship pure type-widening pmlogrewrite clauses.) Can you think of some reason against option #3 - namely stopping pmlogreduce's current 32->64-bit widening? -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. --1455156016.f538bF21.13062 Date: Wed, 10 Feb 2016 20:00:16 -0600 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"

Comment # 2 on bug 1136 from
> Just adding some thoughts so they don't get lost ...

Thanks!

> - changing metadata between archives in a multi-archive context would
> involve a significant change [...] entirely encapsulated within libpcp

Yes.

> - it is not just PM_TYPE that is potentially in play ... I've long wanted
> pmlogreduce to do statistical rate reduction on counters to handle wraps and
> short gaps (around <mark> records) ... this would change the metric
> units&scale from, for example, BYTES to BYTES/SEC

(And turn the into SEM_INSTANT?  Anyway, we could think that through later.)

> [...] (I think this makes the
> pmlogrewrite to "widen" the data type option a non-starter)

(I don't see why - we already ship pure type-widening pmlogrewrite clauses.)


Can you think of some reason against option #3 - namely stopping
pmlogreduce's current 32->64-bit widening?


You are receiving this mail because:
  • You are on the CC list for the bug.
  • You are the assignee for the bug.
--1455156016.f538bF21.13062-- From nscott@redhat.com Wed Feb 10 20:10:28 2016 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 7FFAA7F60 for ; Wed, 10 Feb 2016 20:10:28 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6D322304051 for ; Wed, 10 Feb 2016 18:10:28 -0800 (PST) X-ASG-Debug-ID: 1455156622-04cb6c1e564f340001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id 7PEZCkV24g3mcxUx (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2016 18:10:23 -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 u1B2AKIp014513; Wed, 10 Feb 2016 21:10:20 -0500 Date: Wed, 10 Feb 2016 21:10:20 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Hemant Kumar Cc: pcp@oss.sgi.com Message-ID: <1779243884.20121961.1455156620367.JavaMail.zimbra@redhat.com> In-Reply-To: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> Subject: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.17] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: perfevent_pmda: Add extension for perf derived events Thread-Index: jAwJOkf9kRnN6Q7HkzcOcDW7nENwHQ== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455156623 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26932 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 Hemant, ----- Original Message ----- > This patch gives the ability to perfevent agent to monitor derived > [...] I've found one small issue with this just now - when we have no newly derived metrics, we can see this... $ pminfo -v perfevent perfevent.derived: pmLookupDesc: Unknown or illegal metric identifier I guess this is because there's nothing handling that (dynamic pmns) node when no derived metrics are configured. One solution might be to add a metric permanently below that point, that is instantiated both with and without derived perfevent counts e.g. perfevent.derived.active (mirror the existing perfevent.active) - a count of #derived metrics - zero valued in the default case. cheers. -- Nathan From nscott@redhat.com Wed Feb 10 20:16:49 2016 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 83D147F60 for ; Wed, 10 Feb 2016 20:16:49 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6C96E304053 for ; Wed, 10 Feb 2016 18:16:49 -0800 (PST) X-ASG-Debug-ID: 1455157005-04cb6c1e574f4b0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id ZJfOgK5px0pU3YlR (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2016 18: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 u1B2Gjt3028169 for ; Wed, 10 Feb 2016 21:16:45 -0500 Date: Wed, 10 Feb 2016 21:16:45 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp developers Message-ID: <1514776798.20122190.1455157005730.JavaMail.zimbra@redhat.com> In-Reply-To: <1159023768.20122183.1455156983717.JavaMail.zimbra@redhat.com> Subject: pcp updates: kenj+lukas+marko merges MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: kenj+lukas+marko merges Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.17] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: kenj+lukas+marko merges Thread-Index: U6mTDyr9OsWPIcIEZBdEnJuQ2pYeQQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455157006 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26932 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 master Ken McDonell (11): Linux PMDA: fix Units for swapdev.priority qa/group: fix 1090 group (pmwebapi, not webapi) man pages for derived metrics et al linux PMDA: fix GNUmakefile for build breakage after last change qa/1070: chmod 755 sample PMDA: add sample.negative metrics sample PMDA: fix one-line help text for sample.negative metrics qa/1069: remade after pmrep timezone reporting change qa/assorted: remade .out files after sample.negative.* metrics added Revert "qa/1069: remade after pmrep timezone reporting change" qa/273: one more sample.negative remake Marko Myllynen (2): qa: fix tabs/spaces issue in mk.rep.sh pmrep: add -u reference to -t description Lukas Berk (1): pmdalinux require priv. user for slabinfo metrics man/man3/pmloadderivedconfig.3 | 12 ++ man/man3/pmreconnectcontext.3 | 47 ++++++++--- man/man3/pmregisterderived.3 | 46 +++++----- qa/029.out | 168 ++++++++++++++++++++++++++++++++++++++++ qa/1069.out | 4 qa/139.out | 12 ++ qa/162.out | 12 ++ qa/256.out | 24 +++++ qa/273.out | 133 +++++++++++++++++++++++++++++++ qa/509.out | 12 ++ qa/569.out | 60 ++++++++++++++ qa/762.out | 24 +++++ qa/archives/mk.rep.sh | 26 +++--- qa/group | 2 src/pmdas/linux/.gitignore | 1 src/pmdas/linux/GNUmakefile | 10 +- src/pmdas/linux/mk.rewrite | 14 +++ src/pmdas/linux/pmda.c | 40 ++++++++- src/pmdas/linux/proc_slabinfo.h | 2 src/pmdas/sample/help | 125 +++++++++++++++++++++++++++-- src/pmdas/sample/pmns | 28 ++++++ src/pmdas/sample/src/sample.c | 81 +++++++++++++++++++ src/pmrep/pmrep.1 | 4 23 files changed, 817 insertions(+), 70 deletions(-) commit 4e9daa5350641253138869c9f01506e1cc69d9ff Author: Marko Myllynen Date: Thu Feb 11 10:55:54 2016 +1100 pmrep: add -u reference to -t description commit e2448c277b8ca62e9c2a31ecadf7daa3963f5ea6 Author: Marko Myllynen Date: Thu Feb 11 10:54:52 2016 +1100 qa: fix tabs/spaces issue in mk.rep.sh commit d7f3e16eef3ae987ea11dd82129103426a15f1e8 Author: Lukas Berk Date: Wed Feb 10 18:51:23 2016 -0500 pmdalinux require priv. user for slabinfo metrics With /proc/slabinfo now read-only, we need to check the permission attribute of the requesting client before refreshing and allowing the fetch. commit bee51d1a7540138f0bbf4784836c7ddc7dab6f7c Author: Ken McDonell Date: Thu Feb 11 10:11:57 2016 +1100 qa/273: one more sample.negative remake commit 101f955670b701d5d92004a8a69d99d0d5cc9980 Author: Ken McDonell Date: Thu Feb 11 10:11:05 2016 +1100 Revert "qa/1069: remade after pmrep timezone reporting change" This reverts commit 108cb2a4516091de1b6f0ac49783cdda8232323e. Oops ... my mistake commit 1f14d838fb1885e5e2a167db56a86ea6740c8473 Author: Ken McDonell Date: Thu Feb 11 09:52:02 2016 +1100 qa/assorted: remade .out files after sample.negative.* metrics added commit 108cb2a4516091de1b6f0ac49783cdda8232323e Author: Ken McDonell Date: Thu Feb 11 09:51:25 2016 +1100 qa/1069: remade after pmrep timezone reporting change commit 0e7e0f98653c8a0ee84e333d2b0d37bef57ad245 Author: Ken McDonell Date: Thu Feb 11 09:21:35 2016 +1100 sample PMDA: fix one-line help text for sample.negative metrics cut-n-paste error when I created the new entries. commit bdb9898280b194246a2d8cf256b62ad005fb02aa Author: Ken McDonell Date: Thu Feb 11 08:47:55 2016 +1100 sample PMDA: add sample.negative metrics 12 of 'em ... {counter,instant,discrete} x {32,64,float,double}. To be used in testing PCP components with metrics that can assume negative values. commit 53647013048a2a20f4ede10653cb0a33db4b2ab5 Author: Ken McDonell Date: Thu Feb 11 08:43:48 2016 +1100 qa/1070: chmod 755 commit b85327c508d5a72eada676bdc3ed31badaaee543 Author: Ken McDonell Date: Wed Feb 10 21:21:06 2016 +1100 linux PMDA: fix GNUmakefile for build breakage after last change Missing rule to make linux_kernel_fixups.conf commit a296a8a40e9cce30a37cb91e9e531287a30c7560 Author: Ken McDonell Date: Wed Feb 10 20:32:24 2016 +1100 man pages for derived metrics et al Stress that semantic checking and expression binding only happens after pmNewContext() or pmReconnectContext() is called. Also clarify error return values from pmLoadDerivedConfig(). commit f8933ca050075ddb2218b144d5a858770546086a Author: Ken McDonell Date: Wed Feb 10 11:06:49 2016 +1100 qa/group: fix 1090 group (pmwebapi, not webapi) commit 2f30619173b37688e0e7c16ffa3f0fe147931fa4 Author: Ken McDonell Date: Wed Feb 10 10:59:59 2016 +1100 Linux PMDA: fix Units for swapdev.priority As Frank noteed, the Units for this one should be none, not count. Note, this change also needed pmlogrewrite support for backwards compatibility with old archives. From wwwrun@oss.sgi.com Wed Feb 10 20:19:35 2016 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,NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: pcp@oss.sgi.com Delivered-To: pcp@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 30) id 1413C7F63; Wed, 10 Feb 2016 20:19:35 -0600 (CST) From: bugzilla-daemon@oss.sgi.com To: pcp@oss.sgi.com Subject: [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Date: Thu, 11 Feb 2016 02:19:34 +0000 X-Bugzilla-Reason: CC AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Unclassified X-Bugzilla-Product: pcp X-Bugzilla-Component: pcp X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: kenj@internode.on.net X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: pcp@oss.sgi.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: multipart/alternative; boundary="1455157175.e5dD1EE2.18359"; charset="us-ascii" X-Bugzilla-URL: http://oss.sgi.com/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 --1455157175.e5dD1EE2.18359 Date: Wed, 10 Feb 2016 20:19:35 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" http://oss.sgi.com/bugzilla/show_bug.cgi?id=1136 --- Comment #3 from Ken McDonell --- (a) yes, the nirvana solution for pmlogreduce would be to convert counter,bytes -> instant,bytes/sec (b) we'd need to widen _every_ 64-bit counter for this to be a viable option, and that just does not feel right (c) widening was added to pmlogreduce because the longer the time interval that the archive spans the higher the probability of a counter wrap, and in the absence of (a) the simplest way to deal with this is to expand 32-bit counters to 64-bit counters I would prefer to fix this properly, not Band-Aid the "32-bit counters being widened to 64-bit counters thanks to pmlogreduce" problem. Needs some more soak-n-think time at my end ... -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. --1455157175.e5dD1EE2.18359 Date: Wed, 10 Feb 2016 20:19:35 -0600 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"

Comment # 3 on bug 1136 from
(a) yes, the nirvana solution for pmlogreduce would be to convert counter,bytes
-> instant,bytes/sec

(b) we'd need to widen _every_ 64-bit counter for this to be a viable option,
and that just does not feel right

(c) widening was added to pmlogreduce because the longer the time interval that
the archive spans the higher the probability of a counter wrap, and in the
absence of (a) the simplest way to deal with this is to expand 32-bit counters
to 64-bit counters

I would prefer to fix this properly, not Band-Aid the "32-bit counters being
widened to 64-bit counters thanks to pmlogreduce" problem.

Needs some more soak-n-think time at my end ...


You are receiving this mail because:
  • You are on the CC list for the bug.
  • You are the assignee for the bug.
--1455157175.e5dD1EE2.18359-- From mgoodwin@redhat.com Wed Feb 10 23:01:54 2016 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 E786B7CAC for ; Wed, 10 Feb 2016 23:01:53 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8117DAC006 for ; Wed, 10 Feb 2016 21:01:50 -0800 (PST) X-ASG-Debug-ID: 1455166905-04cb6c1e59529e0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id W4r0BGgtjkLNsnqJ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 21:01:46 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id AFA65218F for ; Thu, 11 Feb 2016 05:01:45 +0000 (UTC) Received: from [10.64.147.23] ([10.64.147.23]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1B51ir8011589 for ; Thu, 11 Feb 2016 00:01:45 -0500 From: Mark Goodwin Subject: pcp updates - fix pcp-iostat QA issues and use SIGPIPE SIG_DFL To: pcp X-ASG-Orig-Subj: pcp updates - fix pcp-iostat QA issues and use SIGPIPE SIG_DFL Message-ID: <56BC15B7.1030702@redhat.com> Date: Thu, 11 Feb 2016 16:01:43 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed 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: 1455166906 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This fixes the QA issues reported by Ken on older python versions (e.g. RHEL6 / python-2.66). Also: use SIG_DFL SIGPIPE handler to avoid the unwanted socket.error exceptions on SIGPIPE. pmiostat QA now passes on f23 with python2 and python3, and also on RHEL6 with python 2.66 (I could repro the issues Ken reported on RHEL6 but not on f23) Changes committed to git://git.pcp.io/mgoodwin/pcp master commit 2ad730b4a58e30a0ae14d5d8248d918d4688019d Author: Mark Goodwin Date: Thu Feb 11 15:49:02 2016 +1100 pmiostat: use SIG_DFL to ignore SIGPIPE and avoid socket.error exceptions Python installs a sigpipe handler and throws a socket.error exception on broken pipe - override this with a SIGPIPE SIG_DFL handler to avoid the unwanted exceptions. commit 83b7b4fff6580d924073968cb8a5b717d329eb16 Author: Mark Goodwin Date: Thu Feb 11 14:56:03 2016 +1100 pmiostat: correctly use a class instance of IostatOptions to check args Use an instance of IostatOptions to check args. This fixes a coding issue with older python versions (e.g. python 2.6.6 on RHEL6), and QA breakage. From nscott@redhat.com Wed Feb 10 23:12:45 2016 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 BDF517F5A for ; Wed, 10 Feb 2016 23:12:45 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A360C8F8050 for ; Wed, 10 Feb 2016 21:12:42 -0800 (PST) X-ASG-Debug-ID: 1455167559-04cbb043316b7f0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id pwWJBc81turVlvzl (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2016 21:12:40 -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 u1B5CbMs017049; Thu, 11 Feb 2016 00:12:37 -0500 Date: Thu, 11 Feb 2016 00:12:37 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell Cc: pcp@oss.sgi.com Message-ID: <1061454429.20134695.1455167557043.JavaMail.zimbra@redhat.com> In-Reply-To: <56B8F3A3.5050303@internode.on.net> References: <56B8F3A3.5050303@internode.on.net> Subject: Re: [pcp] QA Status Update MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] QA Status Update Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.17] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: QA Status Update Thread-Index: fqVJjR+a2LGptPUV9ISIP2UsjQIjjg== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455167560 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.26936 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 ----- Original Message ----- > Details for the most commonly failing tests are available from > ftp://oss.sgi.com/projects/pcp/download/qa-status/ > (this is great, thanks Ken). > === Synopsis === > > QA Status from Ken McDonell's QA Farm in Melbourne > > Summary: 23344 run, 31 failed (0.13%) > > QA Test Fail Failure Signatures (number of different failure patterns) > 878 10 6 2 2 These appear to be race conditions - I've pushed through a handful of changes to make things more reliable on slower hosts, let's see how that goes. > 802 5 5 This one's odd - appears to be new this week, but there's nothing I can think of since the previous run that would have induced this (dbpmda is seeing a timeout on PMDA start?) ... something in libpcp? Surely not. This is the bad diff... (errors originating from dbpmda/src/pmda.c) > Error: __pmGetPDU() failed: No such PMAPI error code (28684) 6a7,8 > __pmGetPDU(11): Timeout waiting for a response from PMCD static void pmdaversion(void) { int sts; __pmPDU *ack; int pinpdu; pinpdu = sts = __pmGetPDU(infd, ANY_SIZE, _creds_timeout, &ack); if (sts == PDU_CREDS) { if ((sts = agent_creds(ack)) < 0) { fprintf(stderr, "Warning: version exchange failed " "for PMDA %s: %s\n", myPmdaName, pmErrStr(sts)); } } else { if (sts < 0) fprintf(stderr, "__pmGetPDU(%d): %s\n", infd, pmErrStr(sts)); else fprintf(stderr, "pmdaversion: expecting PDU_CREDS, got PDU type %d\n", sts); (gdb) p /x 28684 $1 = 0x700c grep 0x700c src/include/pcp/impl.h #define PDU_CREDS 0x700c M'kay - so thats a/ not negative (how did we get into that first else branch?) and b/ *is* PDU_CREDS! (how did we not go into the sts==PDU_CREDS code path in the first place?) Confused. Am I missing something there? Compiler bug??? cheers. -- Nathan From mgoodwin@redhat.com Wed Feb 10 23:20:33 2016 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 E55777F5A for ; Wed, 10 Feb 2016 23:20:33 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A5D308F804C for ; Wed, 10 Feb 2016 21:20:33 -0800 (PST) X-ASG-Debug-ID: 1455168031-04bdf066ed5a490001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NgQZ6BoSEYtKNajA (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 21:20:31 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 1903BC0ABF34 for ; Thu, 11 Feb 2016 05:20:31 +0000 (UTC) Received: from [10.64.147.23] ([10.64.147.23]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1B5KTrB022487; Thu, 11 Feb 2016 00:20:30 -0500 Subject: Re: [pcp] PCP Updates: mgoodwin pmrep + qa To: Marko Myllynen , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] PCP Updates: mgoodwin pmrep + qa References: <56BA340C.1020300@redhat.com> <56BB0946.5040407@redhat.com> <56BBD42C.2000108@redhat.com> From: Mark Goodwin Message-ID: <56BC1A1C.5030404@redhat.com> Date: Thu, 11 Feb 2016 16:20:28 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BBD42C.2000108@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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: 1455168031 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/11/2016 11:22 AM, Mark Goodwin wrote: > On 02/10/2016 08:56 PM, Marko Myllynen wrote: ... >> I'm still seeing issues after this patch, in fact now I have issues >> also with Python 2: >> >> $ python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 >> # >> zsh: broken pipe python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | >> zsh: done head -n 1 >> $ python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 >> # >> zsh: broken pipe python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | >> zsh: done head -n 1 >> $ >> >> This is on RHEL 7 (Python 2.7 and Python 3.3 in use). The reason why >> I'm so inclined to have this fixed shows above, with PRINT_EXIT_VALUE >> Zsh prints some ugly diagnostics. > > Isn't zsh's PRINT_EXIT_VALUE doing just that here - printing that there was > a broken pipe for pmrep (for which the signal was ignored via SIG_DFL), > and that 'head' exited normally? I'll install zsh and test some more. > I think this is all OK - here's some more testing with zsh : the broken pipe signal is caught and we see no Broken Pipe exceptions or Exception Ignored errors [mgoodwin@kilcunda pcp]$ zsh [mgoodwin@kilcunda]~/src/pcp% setopt PRINT_EXIT_VALUE [mgoodwin@kilcunda]~/src/pcp% yes | head -n 2 y y zsh: broken pipe yes | zsh: done head -n 2 [mgoodwin@kilcunda]~/src/pcp% python2 src/pmrep/pmrep.py --archive qa/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python2 src/pmrep/pmrep.py --archive qa/archives/20130706 -o csv -u -S @10:00 | zsh: done head -n 1 [mgoodwin@kilcunda]~/src/pcp% python3 src/pmrep/pmrep.py --archive qa/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python3 src/pmrep/pmrep.py --archive qa/archives/20130706 -o csv -u -S @10:00 | zsh: done head -n 1 [mgoodwin@kilcunda]~/src/pcp% python2 src/pcp/iostat/pcp-iostat.py -a qa/archives/pmiostat_mark | head -n 5 # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await %util mmcblk0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.0 sda 0.0 10.0 2.0 19.0 9.0 208.0 10.33 0.03 1.5 1.0 1.6 0.8 mmcblk0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.0 sda 0.0 9.0 2.0 19.0 9.0 209.0 10.38 0.03 1.5 1.0 1.5 0.8 zsh: broken pipe python2 src/pcp/iostat/pcp-iostat.py -a qa/archives/pmiostat_mark | zsh: done head -n 5 [mgoodwin@kilcunda]~/src/pcp% python3 src/pcp/iostat/pcp-iostat.py -a qa/archives/pmiostat_mark | head -n 5 # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await %util mmcblk0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.0 sda 0.0 10.0 2.0 19.0 9.0 208.0 10.33 0.03 1.5 1.0 1.6 0.8 mmcblk0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0.0 0.0 0.0 0.0 sda 0.0 9.0 2.0 19.0 9.0 209.0 10.38 0.03 1.5 1.0 1.5 0.8 zsh: broken pipe python3 src/pcp/iostat/pcp-iostat.py -a qa/archives/pmiostat_mark | zsh: done head -n 5 From nscott@redhat.com Wed Feb 10 23:42:05 2016 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 196D87CA2 for ; Wed, 10 Feb 2016 23:42:05 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4D883AC002 for ; Wed, 10 Feb 2016 21:42:04 -0800 (PST) X-ASG-Debug-ID: 1455169320-04cb6c1e5853300001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id zmEVZDfdjBGbkSYt (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2016 21:42:00 -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 u1B5fxS7008977 for ; Thu, 11 Feb 2016 00:41:59 -0500 Date: Thu, 11 Feb 2016 00:41:59 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp developers Message-ID: <996395542.20136489.1455169319705.JavaMail.zimbra@redhat.com> Subject: pcp updates: qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.17] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: qa Thread-Index: qsAOiTISxtd/Gmj6QwL1dUYtkWDEdw== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455169320 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.26936 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 master Mark Goodwin (2): pmiostat: correctly use a class instance of IostatOptions to check args pmiostat: use SIG_DFL to ignore SIGPIPE and avoid socket.error exceptions Nathan Scott (1): qa: add some stabilisation time to qa/878 for slow hosts qa/878 | 13 ++++++++----- qa/878.out | 6 +++--- src/pcp/iostat/pcp-iostat.py | 14 ++++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) From mgoodwin@redhat.com Thu Feb 11 00:16:16 2016 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 3458B7CA2 for ; Thu, 11 Feb 2016 00:16:16 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 21F24304032 for ; Wed, 10 Feb 2016 22:16:12 -0800 (PST) X-ASG-Debug-ID: 1455171371-04cb6c1e5653a10001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XLTyueLbT0moJLic (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 22:16:12 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 72F048050D for ; Thu, 11 Feb 2016 06:16:11 +0000 (UTC) Received: from [10.64.147.23] ([10.64.147.23]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1B6GAN7003618; Thu, 11 Feb 2016 01:16:10 -0500 To: Marko Myllynen Cc: pcp From: Mark Goodwin Subject: pmrep error on RHEL6.4 / python2.66 Message-ID: <56BC2729.2060301@redhat.com> X-ASG-Orig-Subj: pmrep error on RHEL6.4 / python2.66 Date: Thu, 11 Feb 2016 17:16:09 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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: 1455171372 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi Marko, [mgoodwin@rhel64 pcp]$ pmrep --archive qa/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork Traceback (most recent call last): File "/usr/bin/pmrep", line 45, in from collections import OrderedDict ImportError: cannot import name OrderedDict [mgoodwin@rhel64 pcp]$ python -V Python 2.6.6 [mgoodwin@rhel64 pcp]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) This seems to be a common and known issue on such old python versions - is it worth doing something about it? Maybe put in a spec rule that we need python 2.7 (at a guess) or later? Regards -- Mark From kozhno-muskulnyy@ccefabbedef.ru Thu Feb 11 00:53:11 2016 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=2.2 required=5.0 tests=HTML_MESSAGE,MIME_HTML_ONLY, T_DKIM_INVALID,T_REMOTE_IMAGE autolearn=no 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 F1A417CA3 for ; Thu, 11 Feb 2016 00:53:11 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D24CB8F804C for ; Wed, 10 Feb 2016 22:53:08 -0800 (PST) X-ASG-Debug-ID: 1455173580-04cbb04332710d0001-S8gJnT Received: from ccefabbedef.ru (ec2-54-245-224-3.us-west-2.compute.amazonaws.com [54.245.224.3]) by cuda.sgi.com with ESMTP id 5gA3dDqHr9ZQrf25 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Feb 2016 22:53:01 -0800 (PST) X-Barracuda-Envelope-From: kozhno-muskulnyy@ccefabbedef.ru X-Barracuda-Apparent-Source-IP: 54.245.224.3 Received: from localhost (localhost [127.0.0.1]) by ccefabbedef.ru (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id u1B63iNx001627 for ; Thu, 11 Feb 2016 09:52:58 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ccefabbedef.ru; s=mail; t=1455173578; bh=VNSMfQMEIDaxwe2bDJ4wUNaJ8mFQAfswEvDrY5QmLvs=; h=To:From:Reply-To:Subject:From; b=sGz32kuWO6kaVXVoPzFzgLaFCAcLd17Kkf9ovGN+Cfkt27LremUQh6hEWv6WlNnGH UZapsjRI6Zfi6WUzaPKAukbMY6RpjCCvHt3hlDh9YsfHy9OWvzHu5F7aFMgM8a49kT LHUBS+NaTdvMO2mPT9XkBQzODGx+TfYeFLYlPX3g= Date: Thu, 11 Feb 2016 09:52:58 +0300 Message-Id: <201602110652.u1B63iNx001627@ccefabbedef.ru> MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: pcp@oss.sgi.com From: =?UTF-8?Q?=D0=9C=D0=91=D0=A1?= Reply-To: =?UTF-8?Q?=D0=9C=D0=91=D0=A1?= Subject: =?UTF-8?Q?=D0=A1=D0=B0=D0=B9=D1=82_=D1=81_=D0=B8=D0=BD=D0=B4?= =?UTF-8?Q?=D0=B8=D0=B2=D0=B8=D0=B4=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?Q?=D0=BC_=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=D0=BE=D0=BC=2C_?= =?UTF-8?Q?=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3_=D1=82=D0=BE=D0=B2?= =?UTF-8?Q?=D0=B0=D1=80=D0=BE=D0=B2_-_14_900_=D1=80=D1=83=D0=B1=D0=BB?= =?UTF-8?Q?=D0=B5=D0=B9_=D0=B7=D0=B0_=D0=B2=D1=81=D0=B5!?= X-Barracuda-Connect: ec2-54-245-224-3.us-west-2.compute.amazonaws.com[54.245.224.3] X-Barracuda-Start-Time: 1455173581 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-ASG-Orig-Subj: =?UTF-8?Q?=D0=A1=D0=B0=D0=B9=D1=82_=D1=81_=D0=B8=D0=BD=D0=B4?= =?UTF-8?Q?=D0=B8=D0=B2=D0=B8=D0=B4=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?Q?=D0=BC_=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=D0=BE=D0=BC=2C_?= =?UTF-8?Q?=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3_=D1=82=D0=BE=D0=B2?= =?UTF-8?Q?=D0=B0=D1=80=D0=BE=D0=B2_-_14_900_=D1=80=D1=83=D0=B1=D0=BB?= =?UTF-8?Q?=D0=B5=D0=B9_=D0=B7=D0=B0_=D0=B2=D1=81=D0=B5!?= X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.32 X-Barracuda-Spam-Status: No, SCORE=0.32 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, MIME_HTML_ONLY, URI_HEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26938 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.32 URI_HEX URI: URI hostname has long hexadecimal sequence 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message MBS
3D'=D0=9B=D0=BE=D0=
=D0=A0=D0=B0=D0=B7= =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0 =D1=81=D0=B0=D0=B9=D1=82=D0=B0 = =D0=9A=D0=BE=D1=80=D0=BF=D0=BE=D1=80=D0=B0=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D0= =B9+

=D1=81 =D0=BA=D0=B0=D1=82= =D0=B0=D0=BB=D0=BE=D0=B3=D0=BE=D0=BC =D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=BE= =D0=B2!

=D0=9F=D0=BE=D0=BB= =D0=BD=D0=BE=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D1= =8C=D0=BD=D1=8B=D0=B9 =D0=BA=D0=BE=D1=80=D0=BF=D0=BE=D1=80=D0=B0=D1=82=D0= =B8=D0=B2=D0=BD=D1=8B=D0=B9 =D1=81=D0=B0=D0=B9=D1=82 =D1=81 =D0=BD=D0=B5=D0= =BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC =D0= =BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3=D0=BE=D0=BC =D1=82=D0=BE=D0=B2=D0= =B0=D1=80=D0=BE=D0=B2

=D0=B2=D1=81=D0=B5= =D0=B3=D0=BE =D0=B7=D0=B0 =D0=BF=D1=8F=D1=82=D1=8C =D0=B4=D0=BD=D0=B5=D0=B9= !

3D"=D0=97=D0=
<= a href=3D"http://ccefabbedef.ru/?u=3DaHR0cDovL21icy13ZWItdGVjaG5vbG9neS5zdS= 8/dXRtX3NvdXJjZT1lbWFpbCZ1dG1fY2FtcGFpZ249MTEuMDIuMjAxNiZ1dG1fbWVkaXVtPWNjZ= WZhYmJlZGVmLnJ1JnV0bV90ZXJtPVJVX2NvcnAlMkJfMjBfT0smdXRtX2NvbnRlbnQ9cGNwJTQw= b3NzLnNnaS5jb20=3D&o=3D44&p=3D4&domain=3Dccefabbedef.ru&h=3D71f1786a0bd384c= 1e8a2e0ab5b786c40&subject=3D%D0%A1%D0%B0%D0%B9%D1%82+%D1%81+%D0%B8%D0%BD%D0= %B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC+%D0%B= 4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC%2C+%D0%BA%D0%B0%D1%82%D0%B0%D0%= BB%D0%BE%D0%B3+%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2+-+14+900+%D1%80%D= 1%83%D0%B1%D0%BB%D0%B5%D0%B9+%D0%B7%D0%B0+%D0%B2%D1%81%D0%B5%21&sender=3D%D= 0%9C%D0%91%D0%A1&template=3DRU_corp%2B_20_OK&base=3DEP_Rostov-Don_5&email= =3Dpcp%40oss.sgi.com" > 3D"11" <= a href=3D"http://ccefabbedef.ru/?u=3DaHR0cDovL21icy13ZWItdGVjaG5vbG9neS5zdS= 8/dXRtX3NvdXJjZT1lbWFpbCZ1dG1fY2FtcGFpZ249MTEuMDIuMjAxNiZ1dG1fbWVkaXVtPWNjZ= WZhYmJlZGVmLnJ1JnV0bV90ZXJtPVJVX2NvcnAlMkJfMjBfT0smdXRtX2NvbnRlbnQ9cGNwJTQw= b3NzLnNnaS5jb20=3D&o=3D44&p=3D4&domain=3Dccefabbedef.ru&h=3D71f1786a0bd384c= 1e8a2e0ab5b786c40&subject=3D%D0%A1%D0%B0%D0%B9%D1%82+%D1%81+%D0%B8%D0%BD%D0= %B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC+%D0%B= 4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC%2C+%D0%BA%D0%B0%D1%82%D0%B0%D0%= BB%D0%BE%D0%B3+%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2+-+14+900+%D1%80%D= 1%83%D0%B1%D0%BB%D0%B5%D0%B9+%D0%B7%D0%B0+%D0%B2%D1%81%D0%B5%21&sender=3D%D= 0%9C%D0%91%D0%A1&template=3DRU_corp%2B_20_OK&base=3DEP_Rostov-Don_5&email= =3Dpcp%40oss.sgi.com"> <= a href=3D"http://ccefabbedef.ru/?u=3DaHR0cDovL21icy13ZWItdGVjaG5vbG9neS5zdS= 8/dXRtX3NvdXJjZT1lbWFpbCZ1dG1fY2FtcGFpZ249MTEuMDIuMjAxNiZ1dG1fbWVkaXVtPWNjZ= WZhYmJlZGVmLnJ1JnV0bV90ZXJtPVJVX2NvcnAlMkJfMjBfT0smdXRtX2NvbnRlbnQ9cGNwJTQw= b3NzLnNnaS5jb20=3D&o=3D44&p=3D4&domain=3Dccefabbedef.ru&h=3D71f1786a0bd384c= 1e8a2e0ab5b786c40&subject=3D%D0%A1%D0%B0%D0%B9%D1%82+%D1%81+%D0%B8%D0%BD%D0= %B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC+%D0%B= 4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC%2C+%D0%BA%D0%B0%D1%82%D0%B0%D0%= BB%D0%BE%D0%B3+%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2+-+14+900+%D1%80%D= 1%83%D0%B1%D0%BB%D0%B5%D0%B9+%D0%B7%D0%B0+%D0%B2%D1%81%D0%B5%21&sender=3D%D= 0%9C%D0%91%D0%A1&template=3DRU_corp%2B_20_OK&base=3DEP_Rostov-Don_5&email= =3Dpcp%40oss.sgi.com">
<= a href=3D"http://ccefabbedef.ru/?u=3DaHR0cDovL21icy13ZWItdGVjaG5vbG9neS5zdS= 8/dXRtX3NvdXJjZT1lbWFpbCZ1dG1fY2FtcGFpZ249MTEuMDIuMjAxNiZ1dG1fbWVkaXVtPWNjZ= WZhYmJlZGVmLnJ1JnV0bV90ZXJtPVJVX2NvcnAlMkJfMjBfT0smdXRtX2NvbnRlbnQ9cGNwJTQw= b3NzLnNnaS5jb20=3D&o=3D44&p=3D4&domain=3Dccefabbedef.ru&h=3D71f1786a0bd384c= 1e8a2e0ab5b786c40&subject=3D%D0%A1%D0%B0%D0%B9%D1%82+%D1%81+%D0%B8%D0%BD%D0= %B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC+%D0%B= 4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC%2C+%D0%BA%D0%B0%D1%82%D0%B0%D0%= BB%D0%BE%D0%B3+%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2+-+14+900+%D1%80%D= 1%83%D0%B1%D0%BB%D0%B5%D0%B9+%D0%B7%D0%B0+%D0%B2%D1%81%D0%B5%21&sender=3D%D= 0%9C%D0%91%D0%A1&template=3DRU_corp%2B_20_OK&base=3DEP_Rostov-Don_5&email= =3Dpcp%40oss.sgi.com" style=3D'text-decoration:none; color:rgb(156,124,124)= ;'>=D0=9B=D0=95=D0=A2 =D0=9D=D0=90 =D0=A0=D0=AB=D0=9D=D0=9A=D0=95 = =D0=A0=D0=95=D0=90=D0=9B=D0=98=D0=97=D0=9E=D0=92=D0=90=D0=9D=D0=9D=D0=AB= =D0=A5 =D0=9F=D0=A0=D0=9E=D0=95=D0=9A=D0=A2=D0=9E=D0=92 <= a href=3D"http://ccefabbedef.ru/?u=3DaHR0cDovL21icy13ZWItdGVjaG5vbG9neS5zdS= 8/dXRtX3NvdXJjZT1lbWFpbCZ1dG1fY2FtcGFpZ249MTEuMDIuMjAxNiZ1dG1fbWVkaXVtPWNjZ= WZhYmJlZGVmLnJ1JnV0bV90ZXJtPVJVX2NvcnAlMkJfMjBfT0smdXRtX2NvbnRlbnQ9cGNwJTQw= b3NzLnNnaS5jb20=3D&o=3D44&p=3D4&domain=3Dccefabbedef.ru&h=3D71f1786a0bd384c= 1e8a2e0ab5b786c40&subject=3D%D0%A1%D0%B0%D0%B9%D1%82+%D1%81+%D0%B8%D0%BD%D0= %B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC+%D0%B= 4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC%2C+%D0%BA%D0%B0%D1%82%D0%B0%D0%= BB%D0%BE%D0%B3+%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2+-+14+900+%D1%80%D= 1%83%D0%B1%D0%BB%D0%B5%D0%B9+%D0%B7%D0%B0+%D0%B2%D1%81%D0%B5%21&sender=3D%D= 0%9C%D0%91%D0%A1&template=3DRU_corp%2B_20_OK&base=3DEP_Rostov-Don_5&email= =3Dpcp%40oss.sgi.com" style=3D'text-decoration:none; color:rgb(156,124,124)= ;'>=D0=9C=D0=95=D0=A1=D0=AF=D0=A6=D0=95=D0=92 =D0=9F=D0=9E=D0=94=D0=94=D0= =95=D0=A0=D0=96=D0=9A=D0=98
=D0=9E=D0=BA=D0= =B0=D0=B7=D1=8B=D0=B2=D0=B0=D0=B5=D0=BC=D1=8B=D0=B5 =D1=83=D1=81=D0=BB=D1= =83=D0=B3=D0=B8
3D"=D0=98=D0=

=D0=94=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD

=D0=98=D0=BD=D0= =B4=D0=B8=D0=B2=D0=B8=D0=B4=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9

=D0=BC=D0=B0=D0= =BA=D0=B5=D1=82 =D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=D0=B0

 

3D"=D0=98=D0=

=D0=9A=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0= =B3 =D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=BE=D0=B2

=D0=9C=D0=BE=D0= =B4=D1=83=D0=BB=D1=8C =C2=AB=D0=9A=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3 =D0= =9F=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8

=D0=B8=D0=BB=D0= =B8 =D0=A3=D1=81=D0=BB=D1=83=D0=B3=C2=BB (=D0=B1=D0=B5=D0=B7 = ;=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=B5=D0=BD=D0=B8=D1=8F

=D0=BA=D0=BE=D0= =BB=D0=B8=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B0 =D0=BF=D0=BE=D0=B7=D0=B8=D1= =86=D0=B8=D0=B9)

3D"=D0=98=D0=

CMS

=D0=9F=D0=BE=D0= =BB=D0=BD=D0=BE=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB= =D1=8C=D0=BD=D0=B0=D1=8F

=D1=81=D0=B8=D1= =81=D1=82=D0=B5=D0=BC=D0=B0 =D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0= =BD=D0=B8=D1=8F =D1=81=D0=B0=D0=B9=D1=82=D0=BE=D0=BC

 

3D"=D0=98=D0=

=D0=96=D0=B8=D0=B2=D0=B0=D1=8F =D0=A1=D1= =82=D0=B0=D1=82=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B0

=D0=A1=D0=B8=D1= =81=D1=82=D0=B5=D0=BC=D1=8B =D1=81=D1=82=D0=B0=D1=82=D0=B8=D1=81=D1=82=D0= =B8=D0=BA=D0=B8

=D0=AF=D0=BD=D0= =B4=D0=B5=D0=BA=D1=81.=D0=9C=D0=B5=D1=82=D1=80=D0=B8=D0=BA=D0=B0

=D0=B8 Google An= alytics

=D0=98=D0=B7=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD= =D0=B8=D0=B5 =D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0

=D1=81 =D0=B1=D0= =B0=D0=B7=D0=BE=D0=B2=D1=8B=D0=BC =D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0= =BE=D0=BD=D0=B0=D0=BB=D0=BE=D0=BC

=D0=B2=D1=81=D0= =B5=D0=B3=D0=BE 5 =D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B8=D1=85 =D0=B4=D0=BD= =D0=B5=D0=B9!

=D0=9F=D0=9E=D0=94=D0=A0=D0=9E=D0=91=D0=9D=D0=95=D0=95
=D0=9D=D0=B0= =D1=88=D0=B8 =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B
3D'=D0=9B= 3D'=D0=9B= 3D'=D0=9B=
Well-perevod

Design & SEO

3D""

OOO-Mega

Design & SEO

3D""

Mary&Melody

Design & SEO

3D""

3D"=D0=

=D0=97= =D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D1=83 =D0=BF=D0=B5=D1=80=D0=B5= =D0=B4=D0=B0=D1=8E=D1=82=D1=81=D1=8F

=D0=B8= =D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0= =B5 =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=BD=D0=B0

=D1=80= =D0=B0=D0=B7=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9 = =D1=81=D0=B0=D0=B9=D1=82.

3D=

&nbs= p;

12 = =D0=BC=D0=B5=D1=81=D1=8F=D1=86=D0=B5=D0=B2 =D0=B3=D0=B0=D1=80=D0=B0=D0=BD= =D1=82=D0=B8=D0=B8.  

&nbs= p;

3D=

12 = =D0=BC=D0=B5=D1=81=D1=8F=D1=86=D0=B5=D0=B2 =D0=B1=D0=B5=D1=81=D0=BF=D0=BB= =D0=B0=D1=82=D0=BD=D0=BE=D0=B9

=D0= =BA=D0=BE=D0=BD=D1=81=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=B8=D0=B2=D0=BD= =D0=BE=D0=B9 =D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8.

&nbs= p;

From kenj@internode.on.net Thu Feb 11 03:25:16 2016 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 54C537CA2 for ; Thu, 11 Feb 2016 03:25:16 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0400DAC002 for ; Thu, 11 Feb 2016 01:25:12 -0800 (PST) X-ASG-Debug-ID: 1455182706-04bdf066ed5e670001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id fyMOzj8jee870Lb6 for ; Thu, 11 Feb 2016 01:25:06 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BzAgCzUrxWPFBJ0XYNUYR5hmKBebMUhg0CggABAQEBAQEHAQEBAUGFAAEBAQMBIxVAAQwECxQEAgIFFgsCAgkDAgECATEUBg0GAgEBiA+xRWeOYAEBAQEBAQEDAQEBAQEbe4lNglSEXoE6BZZ3jzCNGIVviFCCZRmBXlaIUwEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 11 Feb 2016 19:55:05 +1030 Subject: Re: [pcp] QA Status Update To: Nathan Scott X-ASG-Orig-Subj: Re: [pcp] QA Status Update References: <56B8F3A3.5050303@internode.on.net> <1061454429.20134695.1455167557043.JavaMail.zimbra@redhat.com> Cc: pcp@oss.sgi.com From: Ken McDonell Message-ID: <56BC5370.4000206@internode.on.net> Date: Thu, 11 Feb 2016 20:25:04 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1061454429.20134695.1455167557043.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455182706 X-Barracuda-URL: https://192.48.157.11:443/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.26940 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 11/02/16 16:12, Nathan Scott wrote: > > > ----- Original Message ----- >> Details for the most commonly failing tests are available from >> ftp://oss.sgi.com/projects/pcp/download/qa-status/ >> > > (this is great, thanks Ken). I plan to post weekly all the while it is useful. > ... >> QA Test Fail Failure Signatures (number of different failure patterns) >> 878 10 6 2 2 > > These appear to be race conditions - I've pushed through a handful of > changes to make things more reliable on slower hosts, let's see how > that goes. I'm still seeing failures ... I did some triage of this at the PDU level and the behaviour appears to be non-deterministic, even within a group of passing and a group of failing tests, ... at that point I decided there were other things to look at ... >> 802 5 5 > > This one's odd - appears to be new this week, but there's nothing I can > think of since the previous run that would have induced this (dbpmda is > seeing a timeout on PMDA start?) ... something in libpcp? Surely not. One of the problems with a weekly report is that late breaking fixes are not reflected in the results ... in this case the commit below has knocked 802 out of the hit list ... commit 5f56df40ad46054a572b6aed0b75103a3fae5f3f Author: Ken McDonell Date: Tue Feb 9 13:29:26 2016 +1100 qa/802: fix timing-related failure Need extra delay to overcome tardy valgrind startup on some VMs. From noreply@github.com Thu Feb 11 05:58:12 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 058307CA2 for ; Thu, 11 Feb 2016 05:58:12 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E04258F804B for ; Thu, 11 Feb 2016 03:58:08 -0800 (PST) X-ASG-Debug-ID: 1455191885-04cb6c1e56599b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id bgq6fx4CepBszEOA (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 11 Feb 2016 03:58:07 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext4.iad.github.net ([192.30.252.195] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTpsk-0006EB-Kl for ; Thu, 11 Feb 2016 22:58:04 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.195 X-Barracuda-RBL-IP: 192.30.252.195 X-Barracuda-BBL-IP: 192.30.252.195 Date: Thu, 11 Feb 2016 03:57:50 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455191870; bh=8AaiDVaRc2u1lWyshDvvuwHhASPiHgOWEfi3XMA/L0A=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=HvDxjYUZrEk6Eb8J9qAnH1KZgxcrWLQTwjexTjwNf6xsmAuLVqon14jCK1IjzQjdc A2fm9qw/SMu8cI9TJ1WKL2+NotFxFMFzIH3ybsBJppQpCHPsgmw8iUFmXk+OjKYeNM X4dSLfiQofazAxjsKq47ERrKVL2IbupFwZH+HABA= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Content-Type: multipart/alternative; boundary="--==_mimepart_56bc773eaf732_67153fd6e976d2c041343d4"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1455191886 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26943 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56bc773eaf732_67153fd6e976d2c041343d4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Connected to #66 You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/69 -- Commit Summary -- * pcp2graphite: manual update; -r - pickleprotocol -- File Changes -- M src/pcp2graphite/pcp2graphite.1 (16) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/69.patch https://github.com/performancecopilot/pcp/pull/69.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/69 ----==_mimepart_56bc773eaf732_67153fd6e976d2c041343d4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Connected to #66


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/69

Commit Summary

  • pcp2graphite: manual update; -r - pickleprotocol

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

----==_mimepart_56bc773eaf732_67153fd6e976d2c041343d4-- From noreply@github.com Thu Feb 11 06:59:21 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 4C99B7CA2 for ; Thu, 11 Feb 2016 06:59:21 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id EBD3BAC002 for ; Thu, 11 Feb 2016 04:59:20 -0800 (PST) X-ASG-Debug-ID: 1455195554-04bdf066ea635b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id z7uxJjCpMMtgQBI2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 11 Feb 2016 04:59:15 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTqpx-0006Wj-Fd for ; Thu, 11 Feb 2016 23:59:14 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Thu, 11 Feb 2016 04:59:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455195542; bh=4lXAG/XbgeIVmp1bHow8qSxN7pzaLOT7hpiljZo6ElE=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=q3KrR5ZOLY8Z39Yx7loltjHI3mGzwsqWlCaIiSZ81/1MzG2JHaysrZUL4Qh+iDwxh m6EcjHRj5BaO/PYXG5CPf+vHa2O4eGcJA6l45Fqms2hNAHetAiGMJzZgOFEpZBaJ1p +yqKZU5GjKlAD4sMjddXGxcEz55PfGOwWDyB/sBo= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Content-Type: multipart/alternative; boundary="--==_mimepart_56bc859652413_67f03fd6e976d2c053864ae"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1455195555 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26944 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56bc859652413_67f03fd6e976d2c053864ae Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I haven't add version 3 (Python 3.0) and 4 (Python 3.4). --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/69#issuecomment-182852707 ----==_mimepart_56bc859652413_67f03fd6e976d2c053864ae Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I haven't add version 3 (Python 3.0) and 4 (Python 3.4).


Reply to this email directly or view it on GitHub.

----==_mimepart_56bc859652413_67f03fd6e976d2c053864ae-- From noreply@github.com Thu Feb 11 08:06:19 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 6CBD77CA2 for ; Thu, 11 Feb 2016 08:06:19 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 30BD4304043 for ; Thu, 11 Feb 2016 06:06:16 -0800 (PST) X-ASG-Debug-ID: 1455199572-04bdf066ea65de0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id Ycqdelx3VvKC3NHY (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 11 Feb 2016 06:06:13 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from github-smtp2-ext6.iad.github.net ([192.30.252.197] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTrsm-0006dB-Jb for ; Fri, 12 Feb 2016 01:06:11 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.197 X-Barracuda-RBL-IP: 192.30.252.197 X-Barracuda-BBL-IP: 192.30.252.197 Date: Thu, 11 Feb 2016 06:06:00 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455199560; bh=AvJ3Yqzq8idOn5wQxtGINrcxj+i2NB5OhV61qLpoeU4=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=tf83+w4tSRlLcjwDOE/Wep+7v7cSCqDqAnaFi+MklrDpvYWD0kaVsq2lXA8HkqsLu BTw0k3sPamTc59AckYiiLMv0X6eyAXOdtfMnYvpnHVTahfc6AB6n+1lB6vFe2f+qfS IXJAxQuU+YvPQqImb93N+ILZ1KwFnfdrKLcfuvTs= From: test-account-0 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite: manual update; -r - pickleprotocol (#69) Content-Type: multipart/alternative; boundary="--==_mimepart_56bc9548a704c_29a43f97dacdd2bc68393e1"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: test-account-0 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1455199573 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26945 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56bc9548a704c_29a43f97dacdd2bc68393e1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I probably should add some validation for this option. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/69#issuecomment-182877749 ----==_mimepart_56bc9548a704c_29a43f97dacdd2bc68393e1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I probably should add some validation for this option.


Reply to this email directly or view it on GitHub.

----==_mimepart_56bc9548a704c_29a43f97dacdd2bc68393e1-- From noreply@github.com Thu Feb 11 09:19:10 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 92C477CA2 for ; Thu, 11 Feb 2016 09:19:10 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 75B7A8F8033 for ; Thu, 11 Feb 2016 07:19:07 -0800 (PST) X-ASG-Debug-ID: 1455203943-04cb6c1e575e530001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id Ixha64yrknXeDF9Y (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 11 Feb 2016 07:19:05 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aTt1I-0002Yc-AZ for ; Fri, 12 Feb 2016 02:19:02 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Thu, 11 Feb 2016 07:18:46 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455203926; bh=BUp8k6r80Iv0pkKm4TliSZXrYBnoc0bHjgGmvFylClQ=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Ca9OfKicpVt4I1i0M8RADmSVZaCzOEd7/R7hp53zVxIWaLM5zpKTAGXDeXHypF1qg EX/JW3+tEQEYIXSsavJZ9y1cvVEDzbOSfQlNU7JnpVGGPljQg3d6oiqf2meQVylk0h Dyo/Rr1E1V6s3Sh5UTjTlSzN78H/4Cap6hcPx+yU= From: jirib Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] first wave of diffs to compile on OpenBSD (#68) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] first wave of diffs to compile on OpenBSD (#68) Content-Type: multipart/alternative; boundary="--==_mimepart_56bca656e38ff_54603ff4f61e12b89556cb"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: jirib X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1455203944 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.26946 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56bca656e38ff_54603ff4f61e12b89556cb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Closed #68. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/68#event-547283546 ----==_mimepart_56bca656e38ff_54603ff4f61e12b89556cb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Closed #68.


Reply to this email directly or view it on GitHub.

----==_mimepart_56bca656e38ff_54603ff4f61e12b89556cb-- From lberk@redhat.com Thu Feb 11 17:05:48 2016 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 9EE987CAB for ; Thu, 11 Feb 2016 17:05:48 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 827C78F804B for ; Thu, 11 Feb 2016 15:05:45 -0800 (PST) X-ASG-Debug-ID: 1455231940-04bdf066ec72ea0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id UqA1q7lFZAS4Vvqp (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 11 Feb 2016 15:05:40 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 1A2D0C0A1474 for ; Thu, 11 Feb 2016 23:05:40 +0000 (UTC) Received: from toium (vpn-58-254.rdu2.redhat.com [10.10.58.254]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1BN5doj021986 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 11 Feb 2016 18:05:39 -0500 From: Lukas Berk To: pcp@oss.sgi.com Subject: pcp updates: qa, spec files Date: Thu, 11 Feb 2016 18:05:38 -0500 X-ASG-Orig-Subj: pcp updates: qa, spec files Message-ID: <87wpqaetkt.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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: 1455231940 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Changes committed to git://git.pcp.io/lberk/pcp master Lukas Berk (3): spec files - change pmda_remove to use a subshell qa/1099 - change reporting timezone to archive values qa/1069 adjust archive_filter function build/rpm/fedora.spec | 2 +- build/rpm/pcp.spec.in | 2 +- qa/1069 | 1 + qa/1099 | 20 ++++++++++---------- 4 files changed, 13 insertions(+), 12 deletions(-) Details ... commit cff639d54227cedfe9c7affcfef72860b7916b03 Author: Lukas Berk Date: Thu Feb 11 11:27:33 2016 -0500 qa/1069 adjust archive_filter function Drop the 'reporting, local TMZ' bit from the output, which changes per host commit cca443d51ff2fb1e0f72caa13fd16918a2ba973a Author: Lukas Berk Date: Thu Feb 11 11:26:35 2016 -0500 qa/1099 - change reporting timezone to archive values commit 91e100b4fc3809d4f9af788cd5a218a14756bbb5 Author: Lukas Berk Date: Thu Feb 11 10:33:10 2016 -0500 spec files - change pmda_remove to use a subshell From nscott@redhat.com Thu Feb 11 23:22:15 2016 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 DC73E7CA2 for ; Thu, 11 Feb 2016 23:22:15 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D07C1304051 for ; Thu, 11 Feb 2016 21:22:12 -0800 (PST) X-ASG-Debug-ID: 1455254527-04cbb043338fcb0001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id L8FJQY2rHA2JACdU (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 11 Feb 2016 21:22:07 -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 u1C5M63L005045 for ; Fri, 12 Feb 2016 00:22:06 -0500 Date: Fri, 12 Feb 2016 00:22:06 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp developers Message-ID: <1500817788.20441931.1455254526922.JavaMail.zimbra@redhat.com> In-Reply-To: <1637527848.20441805.1455254445757.JavaMail.zimbra@redhat.com> Subject: pcp updates: lukas+nandhita merges MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: lukas+nandhita merges Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.210] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: lukas+nandhita merges Thread-Index: rnvX5mdxwn1o7gLytlAb9lFiCbEmmA== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1455254527 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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.26967 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 master Lukas Berk (3): spec files - change pmda_remove to use a subshell qa/1099 - change reporting timezone to archive values qa/1069 adjust archive_filter function Nandhita Narendra Babu (1): pmdaoracle: initial updates for a functional Oracle database PMDA Nathan Scott (1): pmdaoracle: build and packaging infrastructure updates build/rpm/fedora.spec | 2 build/rpm/pcp.spec.in | 2 qa/1069 | 1 qa/1099 | 20 src/pmdas/oracle/GNUmakefile | 28 src/pmdas/oracle/Install | 26 src/pmdas/oracle/connect.pl | 48 src/pmdas/oracle/pmdaoracle.pl | 2058 ++++++++++++++++++++++++++--------------- src/pmdas/oracle/sample.conf | 16 src/pmns/stdpmid.pcp | 1 10 files changed, 1417 insertions(+), 785 deletions(-) commit c96a54be6105b606e6872731b7bf8256d7fb59a8 Author: Nathan Scott Date: Fri Feb 12 16:18:43 2016 +1100 pmdaoracle: build and packaging infrastructure updates Fix up issues in the Install script, add a sample config file, add a connection-test program to verify the Oracle setup, and add Oracle PMDA domain number into the standard set. (Not yet enabled in the build - needs some docs, QA and other improvements still) commit c70fbdac70b793914f1746c52927dc482fa5724a Author: Nandhita Narendra Babu Date: Fri Feb 12 16:11:32 2016 +1100 pmdaoracle: initial updates for a functional Oracle database PMDA commit cff639d54227cedfe9c7affcfef72860b7916b03 Author: Lukas Berk Date: Thu Feb 11 11:27:33 2016 -0500 qa/1069 adjust archive_filter function Drop the 'reporting, local TMZ' bit from the output, which changes per host commit cca443d51ff2fb1e0f72caa13fd16918a2ba973a Author: Lukas Berk Date: Thu Feb 11 11:26:35 2016 -0500 qa/1099 - change reporting timezone to archive values commit 91e100b4fc3809d4f9af788cd5a218a14756bbb5 Author: Lukas Berk Date: Thu Feb 11 10:33:10 2016 -0500 spec files - change pmda_remove to use a subshell From tdm@sgi.com Fri Feb 12 17:04:11 2016 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 B72F07CA3 for ; Fri, 12 Feb 2016 17:04:11 -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 34B54AC003; Fri, 12 Feb 2016 15:04:08 -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 D344A70006F1; Fri, 12 Feb 2016 17:04:07 -0600 (CST) Message-ID: <56BE64E7.6030906@sgi.com> Date: Fri, 12 Feb 2016 17:04:07 -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, Nathan Scott Subject: oss.sgi.com - maintenance Wed Feb 17 09:00 CT USA Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit oss.sgi.com will be down for approximately 30 minutes starting at Wed Feb 17 09:00 CT USA for maintenance. From hemant@linux.vnet.ibm.com Fri Feb 12 17:39:52 2016 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 6F8317F5D for ; Fri, 12 Feb 2016 17:39:52 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 43AEB8F8035 for ; Fri, 12 Feb 2016 15:39:52 -0800 (PST) X-ASG-Debug-ID: 1455320387-04cbb04333a89d0001-S8gJnT Received: from e28smtp07.in.ibm.com (e28smtp07.in.ibm.com [125.16.236.7]) by cuda.sgi.com with ESMTP id JLjbk4tA92eqp9Ak (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Fri, 12 Feb 2016 15:39:49 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.7 Received: from localhost by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 13 Feb 2016 05:09:45 +0530 Received: from d28relay04.in.ibm.com (9.184.220.61) by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Sat, 13 Feb 2016 05:09:42 +0530 X-IBM-Helo: d28relay04.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay04.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u1CNdXNK17564156 for ; Sat, 13 Feb 2016 05:09:34 +0530 Received: from d28av02.in.ibm.com (localhost [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u1CNdf0G004137 for ; Sat, 13 Feb 2016 05:09:41 +0530 Received: from orion.in.ibm.com ([9.79.183.253]) by d28av02.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u1CNdefI004092; Sat, 13 Feb 2016 05:09:40 +0530 From: Hemant Kumar To: pcp@oss.sgi.com Cc: nathans@redhat.com, Hemant Kumar Subject: [PATCH] perfevent/derived: Add a new permanent metric for perf derived events Date: Sat, 13 Feb 2016 05:09:36 +0530 X-ASG-Orig-Subj: [PATCH] perfevent/derived: Add a new permanent metric for perf derived events Message-Id: <1455320376-15325-1-git-send-email-hemant@linux.vnet.ibm.com> X-Mailer: git-send-email 1.9.3 X-TM-AS-MML: disable x-cbid: 16021223-0025-0000-0000-000009E81083 X-Barracuda-Connect: e28smtp07.in.ibm.com[125.16.236.7] X-Barracuda-Start-Time: 1455320388 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.26986 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This patch adds a metric perfevent.derived.active which will be permanently present and gives the number of active perf derived events. This also helps in avoiding a warning message which is shown if there are no perf derived events. Signed-off-by: Hemant Kumar --- src/pmdas/perfevent/pmda.c | 53 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/pmdas/perfevent/pmda.c b/src/pmdas/perfevent/pmda.c index a55ae55..d3445d6 100644 --- a/src/pmdas/perfevent/pmda.c +++ b/src/pmdas/perfevent/pmda.c @@ -121,6 +121,16 @@ static pmdaMetric default_metric_settings[] = }, }; +static pmdaMetric static_derived_metrictab[] = +{ + /* perfevent.derived.active */ + { NULL, { PMDA_PMID(1,0), PM_TYPE_32, PM_INDOM_NULL, PM_SEM_DISCRETE, PMDA_PMUNITS(0,0,0,0,0,0) } } +}; + +#define NUM_STATIC_DERIVED_METRICS (sizeof(static_derived_metrictab)/sizeof(static_derived_metrictab)) +#define NUM_STATIC_DERIVED_INDOMS 0 +#define NUM_STATIC_DERIVED_CLUSTERS 1 + static pmdaMetric derived_metric_settings[] = { /* perfevent.derived.{DERIVEDCOUNTER} */ @@ -191,7 +201,19 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV return PM_ERR_PMID; } } - else if(idp->cluster >= (nderivedcounters + nhwcounters + NUM_STATIC_CLUSTERS) ) + if (idp->cluster == 1) + { + if (idp->item == 0) + { + atom->l = nderivedcounters; + return 1; + } + else + { + return PM_ERR_PMID; + } + } + else if(idp->cluster >= (nderivedcounters + nhwcounters + NUM_STATIC_CLUSTERS + NUM_STATIC_DERIVED_CLUSTERS) ) { return PM_ERR_PMID; } @@ -206,7 +228,7 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV const perf_data *pdata = NULL; const perf_derived_data *pddata = NULL; - if (idp->cluster >= NUM_STATIC_CLUSTERS + nhwcounters) { + if (idp->cluster >= NUM_STATIC_DERIVED_CLUSTERS + NUM_STATIC_CLUSTERS + nhwcounters) { pddata = &(pinfo->derived_counter->data[inst]); } else { pdata = &(pinfo->hwcounter->data[inst]); @@ -215,7 +237,7 @@ static int perfevent_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomV switch(pinfo->pmid_index) { case 0: - if (idp->cluster >= nhwcounters + NUM_STATIC_CLUSTERS) + if (idp->cluster >= nhwcounters + NUM_STATIC_CLUSTERS + NUM_STATIC_DERIVED_CLUSTERS) atom->d = pddata->value; else atom->ll = pdata->value; @@ -401,8 +423,8 @@ static int setup_metrics() int index; nummetrics = (nhwcounters * METRICSPERCOUNTER) + NUM_STATIC_METRICS; - nummetrics += (nderivedcounters * METRICSPERDERIVED); - numindoms = nderivedcounters + nhwcounters + NUM_STATIC_INDOMS; + nummetrics += (nderivedcounters * METRICSPERDERIVED) + NUM_STATIC_DERIVED_METRICS; + numindoms = nderivedcounters + nhwcounters + NUM_STATIC_INDOMS + NUM_STATIC_DERIVED_INDOMS; dynamic_metric_infotab = malloc( ((nhwcounters * METRICSPERCOUNTER) + (nderivedcounters * METRICSPERDERIVED)) @@ -421,17 +443,20 @@ static int setup_metrics() } memcpy(metrictab, static_metrictab, sizeof(static_metrictab) ); + pmdaMetric *pmetric = &metrictab[NUM_STATIC_METRICS]; + + memcpy(pmetric, static_derived_metrictab, sizeof(static_derived_metrictab)); + pmetric += NUM_STATIC_DERIVED_METRICS; dynamic_metric_info_t *pinfo = dynamic_metric_infotab; - pmdaMetric *pmetric = &metrictab[NUM_STATIC_METRICS]; for(i = 0; i < nhwcounters; ++i) { - cluster = i + NUM_STATIC_CLUSTERS; + cluster = i + NUM_STATIC_CLUSTERS + NUM_STATIC_DERIVED_CLUSTERS; /* For simplicity, a separate instance domain is setup for each hardware * counter */ - indom = i + NUM_STATIC_INDOMS; + indom = i + NUM_STATIC_INDOMS + NUM_STATIC_DERIVED_INDOMS; config_indom( &indomtab[indom], indom, &hwcounters[i]); @@ -457,8 +482,8 @@ static int setup_metrics() for (i = 0; i < nderivedcounters; i++) { - cluster = i + nhwcounters + NUM_STATIC_CLUSTERS; - indom = i + nhwcounters + NUM_STATIC_INDOMS; + cluster = i + nhwcounters + NUM_STATIC_CLUSTERS + NUM_STATIC_DERIVED_CLUSTERS; + indom = i + nhwcounters + NUM_STATIC_INDOMS + NUM_STATIC_DERIVED_INDOMS; config_indom_derived( &indomtab[indom], indom, &derived_counters[i]); @@ -536,6 +561,14 @@ static int setup_pmns() } pmetric = &metrictab[NUM_STATIC_METRICS]; + + /* Setup for derived static metrics */ + snprintf(name, sizeof(name), PMDANAME ".derived.%s", "active"); + __pmAddPMNSNode(pmns, pmetric[0].m_desc.pmid, name); + + pmetric += NUM_STATIC_DERIVED_METRICS; + + /* Now setup the dynamic metrics */ for (i = 0; i < nhwcounters; ++i) { char *id = normalize_metric_name(hwcounters[i].name); -- 1.9.3 From hemant@linux.vnet.ibm.com Fri Feb 12 17:43:27 2016 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 9B7087CAE for ; Fri, 12 Feb 2016 17:43:27 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 725B18F8033 for ; Fri, 12 Feb 2016 15:43:27 -0800 (PST) X-ASG-Debug-ID: 1455320593-04bdf066eb914f0001-S8gJnT Received: from e28smtp02.in.ibm.com (e28smtp02.in.ibm.com [125.16.236.2]) by cuda.sgi.com with ESMTP id ufG8kC0eriuN6xFr (version=TLSv1 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Fri, 12 Feb 2016 15:43:15 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 125.16.236.2 Received: from localhost by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 13 Feb 2016 05:13:12 +0530 Received: from d28relay02.in.ibm.com (9.184.220.59) by e28smtp02.in.ibm.com (192.168.1.132) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Sat, 13 Feb 2016 05:13:10 +0530 X-IBM-Helo: d28relay02.in.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay02.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u1CNh29b22413690 for ; Sat, 13 Feb 2016 05:13:02 +0530 Received: from d28av01.in.ibm.com (localhost [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u1D5Ciw6022542 for ; Sat, 13 Feb 2016 10:42:45 +0530 Received: from [9.79.183.253] ([9.79.183.253]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u1D5CiXY022522; Sat, 13 Feb 2016 10:42:44 +0530 Message-ID: <56BE6E0D.6050101@linux.vnet.ibm.com> Date: Sat, 13 Feb 2016 05:13:09 +0530 From: Hemant Kumar User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Nathan Scott CC: pcp@oss.sgi.com Subject: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> <1779243884.20121961.1455156620367.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events In-Reply-To: <1779243884.20121961.1455156620367.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable x-cbid: 16021223-0005-0000-0000-00000A7016BD X-Barracuda-Connect: e28smtp02.in.ibm.com[125.16.236.2] X-Barracuda-Start-Time: 1455320594 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.26986 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi Nathan, On 02/11/2016 07:40 AM, Nathan Scott wrote: > Hi Hemant, > > ----- Original Message ----- >> This patch gives the ability to perfevent agent to monitor derived >> [...] > I've found one small issue with this just now - when we have no newly > derived metrics, we can see this... > > $ pminfo -v perfevent > perfevent.derived: pmLookupDesc: Unknown or illegal metric identifier > > I guess this is because there's nothing handling that (dynamic pmns) > node when no derived metrics are configured. > > One solution might be to add a metric permanently below that point, > that is instantiated both with and without derived perfevent counts > e.g. perfevent.derived.active (mirror the existing perfevent.active) > - a count of #derived metrics - zero valued in the default case. Right. Sent a patch to add a metric perfevent.derived.active and that should fix the warning. http://www.pcp.io/pipermail/pcp/2016-February/009610.html Thanks for the suggestion! > cheers. > > -- > Nathan > -- Thanks, Hemant Kumar From kenj@internode.on.net Sat Feb 13 16:47:21 2016 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 021987CA4 for ; Sat, 13 Feb 2016 16:47:20 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 848ABAC002 for ; Sat, 13 Feb 2016 14:47:20 -0800 (PST) X-ASG-Debug-ID: 1455403633-04bdf066eaa8450001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id ckQ59tWVMH2By4Ae for ; Sat, 13 Feb 2016 14:47:14 -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: A2B6AgCjsb9WPFBJ0XYNUYtbtSiGDYF2AQEBAQEBBwEBAQFBgQASAYQXVT0WCwIEBwMCAQIBMRoNCAEBs35njjIBAQgBAQEBFAiOUjyCaoE6BY0niVKDAYFkl2SOPoRZhQeER4E5AQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 14 Feb 2016 09:17:13 +1030 To: PCP From: Ken McDonell Subject: qa/667 failing more often than passing Message-ID: <56BFB270.2010508@internode.on.net> X-ASG-Orig-Subj: qa/667 failing more often than passing Date: Sun, 14 Feb 2016 09:47:12 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080904030700010701080301" X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455403633 X-Barracuda-URL: https://192.48.157.11:443/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.27010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This is a multi-part message in MIME format. --------------080904030700010701080301 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I'm seeing lots of pcp2graphite failures, all the same .out.bad (attached) ... must be some sort of version issue as the same test is definitely passing on a small number of hosts. Any clues? --------------080904030700010701080301 Content-Type: text/plain; charset=UTF-8; name="667.out.bad" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="667.out.bad" UUEgb3V0cHV0IGNyZWF0ZWQgYnkgNjY3Cgo9PT0gMS4gcGNwMmdyYXBoaXRlIG9uZS1zaG90 IHBpY2tsZSAgPT09CkZvdW5kIHBjcC5oaW52Lm5jcHUgaW4gcGlja2xlZCBvdXRwdXQKPT09 IDIuIHBjcDJncmFwaGl0ZSB0ZXh0LCAyLXNlY29uZCBhbGlnbmVkICA9PT0KZm9vYmFyLmhp bnYubmNwdSBOQ1BVUyBUSU1FU1RBTVAyCmZvb2Jhci5oaW52Lm5jcHUgTkNQVVMgVElNRVNU QU1QMgpFeGNsdWRpbmcgbWV0cmljIHNhbXBsZS5kYXRhc2l6ZSAoaW5jb21wYXRpYmxlIGRp bWVuc2lvbnMpCj09PSAyYS4gcGNwMmdyYXBoaXRlIHRleHQsIDItc2Vjb25kIGFsaWduZWQs IGxvY2FsICA9PT0KZm9vYmFyLmhpbnYubmNwdSBOQ1BVUyBUSU1FU1RBTVAyCmZvb2Jhci5o aW52Lm5jcHUgTkNQVVMgVElNRVNUQU1QMgpFeGNsdWRpbmcgbWV0cmljIHNhbXBsZS5kYXRh c2l6ZSAoUE1fRVJSX05PQUdFTlQgTm8gUE1DRCBhZ2VudCBmb3IgZG9tYWluIG9mIHJlcXVl c3QpCj09PSAzLiBwY3AyZ3JhcGhpdGUgYmFkLWluc3RhbmNlIHRvbGVyYW5jZSA9PT0KcGNw LnNhbXBsZS5ib2d1c19iaW4uX2Jpbi0xMDAgMTAwLjAgVElNRVNUQU1QMgpwY3Auc2FtcGxl LmJvZ3VzX2Jpbi5fYmluLTEwMCAxMDAuMCBUSU1FU1RBTVAyCnBjcC5zYW1wbGUuYm9ndXNf YmluLl9iaW4tMzAwIDMwMC4wIFRJTUVTVEFNUDIKcGNwLnNhbXBsZS5ib2d1c19iaW4uX2Jp bi0zMDAgMzAwLjAgVElNRVNUQU1QMgpwY3Auc2FtcGxlLmJvZ3VzX2Jpbi5fYmluLTUwMCA1 MDAuMCBUSU1FU1RBTVAyCnBjcC5zYW1wbGUuYm9ndXNfYmluLl9iaW4tNTAwIDUwMC4wIFRJ TUVTVEFNUDIKcGNwLnNhbXBsZS5ib2d1c19iaW4uX2Jpbi03MDAgNzAwLjAgVElNRVNUQU1Q MgpwY3Auc2FtcGxlLmJvZ3VzX2Jpbi5fYmluLTcwMCA3MDAuMCBUSU1FU1RBTVAyCnBjcC5z YW1wbGUuYm9ndXNfYmluLl9iaW4tOTAwIDkwMC4wIFRJTUVTVEFNUDIKcGNwLnNhbXBsZS5i b2d1c19iaW4uX2Jpbi05MDAgOTAwLjAgVElNRVNUQU1QMgpFeGNsdWRpbmcgbWV0cmljIHNh bXBsZS5hZ2dyZWdhdGUubnVsbCAobmVlZCBudW1lcmljIHR5cGUpCkV4Y2x1ZGluZyBtZXRy aWMgc2FtcGxlLnN0cmluZy5odWxsbyAobmVlZCBudW1lcmljIHR5cGUpCkV4Y2x1ZGluZyBt ZXRyaWMgTm9TdWNoTWV0cmljIChQTV9FUlJfTkFNRSBVbmtub3duIG1ldHJpYyBuYW1lKQpF eGNsdWRpbmcgbWV0cmljIHNhbXBsZS5iYWQudW5rbm93biAoUE1fRVJSX1BNSUQgVW5rbm93 biBvciBpbGxlZ2FsIG1ldHJpYyBpZGVudGlmaWVyKQpFeGNsdWRpbmcgbWV0cmljIHNhbXBs ZS5iYWQubm9zdXBwb3J0IChuZWVkIG51bWVyaWMgdHlwZSkKPT09IDQuIHBjcDJncmFwaGl0 ZSBjb3VudC1saW1pdGVkIGFyY2hpdmUgdHJhbnNjcmlwdGlvbiA9PT0KcGNwLnNhbXBsZS5i eXRlX3JhdGUgNTU0LjAgMTE5MjA1NTQ4MgpwY3Auc2FtcGxlLmJ5dGVfcmF0ZSA0NTMuMCAx MTkyMDU1NDgzCnBjcC5zYW1wbGUuYnl0ZV9yYXRlIDkyNC4wIDExOTIwNTU0ODQKcGNwLnNh bXBsZS5ieXRlX3JhdGUgMTI4LjAgMTE5MjA1NTQ4NQpwY3Auc2FtcGxlLmJ5dGVfcmF0ZSA1 NzUuMCAxMTkyMDU1NDg2CnBjcC5zYW1wbGUuYnl0ZV9yYXRlIDY0OS4wIDExOTIwNTU0ODcK cGNwLnNhbXBsZS5ieXRlX3JhdGUgNDc0LjAgMTE5MjA1NTQ4OApwY3Auc2FtcGxlLmJ5dGVf cmF0ZSA3MzAuMCAxMTkyMDU1NDg5CnBjcC5zYW1wbGUuYnl0ZV9yYXRlIDQzNi4wIDExOTIw NTU0OTAKcGNwLnNhbXBsZS5ieXRlX3JhdGUgMzUzLjAgMTE5MjA1NTQ5MQpwY3Auc2FtcGxl LmJ5dGVfcmF0ZSA5NTUuMCAxMTkyMDU1NDkyCnBjcC5zYW1wbGUuYnl0ZV9yYXRlIDM1MC4w IDExOTIwNTU0OTMKcGNwLnNhbXBsZS5ieXRlX3JhdGUgNTQ0LjAgMTE5MjA1NTQ5NApwY3Au c2FtcGxlLmJ5dGVfcmF0ZSA0NTMuMCAxMTkyMDU1NDk1CnBjcC5zYW1wbGUuYnl0ZV9yYXRl IDkwMy4wIDExOTIwNTU0OTYKcGNwLnNhbXBsZS5ieXRlX3JhdGUgMjg4LjAgMTE5MjA1NTQ5 NwpwY3Auc2FtcGxlLmJ5dGVfcmF0ZSAyMjIuMCAxMTkyMDU1NDk4CnBjcC5zYW1wbGUuYnl0 ZV9yYXRlIDk2NC4wIDExOTIwNTU0OTkKcGNwLnNhbXBsZS5ieXRlX3JhdGUgMzQzLjAgMTE5 MjA1NTUwMApwY3Auc2FtcGxlLmJ5dGVfcmF0ZSAxMDAzLjAgMTE5MjA1NTUwMQpwY3Auc2Ft cGxlLmJ5dGVfcmF0ZSA4MTQuMCAxMTkyMDU1NTAyCnBjcC5zYW1wbGUuYnl0ZV9yYXRlIDY0 NC4wIDExOTIwNTU1MDMKcGNwLnNhbXBsZS5ieXRlX3JhdGUgNzcuMCAxMTkyMDU1NTA0CnBj cC5zYW1wbGUuYnl0ZV9yYXRlIDkuMCAxMTkyMDU1NTA1CnBjcC5zYW1wbGUuYnl0ZV9yYXRl IDQxMi4wIDExOTIwNTU1MDYKcGNwLnNhbXBsZS5ieXRlX3JhdGUgMzY4LjAgMTE5MjA1NTUw NwpwY3Auc2FtcGxlLmJ5dGVfcmF0ZSA5OTYuMCAxMTkyMDU1NTA4CnBjcC5zYW1wbGUuYnl0 ZV9yYXRlIDkxMi4wIDExOTIwNTU1MDkKcGNwLnNhbXBsZS5ieXRlX3JhdGUgNjc1LjAgMTE5 MjA1NTUxMAoKUmVsYXlpbmcgMSBtZXRyaWMocykgd2l0aCBwcmVmaXggcGNwLiBmcm9tIGFy Y2hpdmUgYXJjaGl2ZXMvY2hhcnRxYTEubWV0YSBpbiB0ZXh0IG1vZGUgdG8gbG9jYWxob3N0 OjIwMDMgZXZlcnkgMS4wMDAwMDAgcwpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MjIgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNTU0LjAgMTE5MjA1NTQ4MgpTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MjMgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNDUzLjAgMTE5MjA1 NTQ4MwpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MjQgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgOTI0LjAgMTE5MjA1NTQ4NApTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MjUgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMTI4LjAgMTE5MjA1NTQ4NQpTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MjYgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNTc1LjAgMTE5MjA1 NTQ4NgpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MjcgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgNjQ5LjAgMTE5MjA1NTQ4NwpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MjggMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNDc0LjAgMTE5MjA1NTQ4OApTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MjkgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNzMwLjAgMTE5MjA1 NTQ4OQpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzAgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgNDM2LjAgMTE5MjA1NTQ5MApTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzEgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMzUzLjAgMTE5MjA1NTQ5MQpTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MzIgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgOTU1LjAgMTE5MjA1 NTQ5MgpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzMgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgMzUwLjAgMTE5MjA1NTQ5MwpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzQgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNTQ0LjAgMTE5MjA1NTQ5NApTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MzUgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgNDUzLjAgMTE5MjA1 NTQ5NQpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzYgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgOTAzLjAgMTE5MjA1NTQ5NgpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzcgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMjg4LjAgMTE5MjA1NTQ5NwpTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6MzggMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMjIyLjAgMTE5MjA1 NTQ5OApTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzkgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgOTY0LjAgMTE5MjA1NTQ5OQpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6NDAgMjAw NzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMzQzLjAgMTE5MjA1NTUwMApTZW5kaW5nIFdlZCBP Y3QgMTAgMjI6MzE6NDEgMjAwNzogcGNwLnNhbXBsZS5ieXRlX3JhdGUgMTAwMy4wIDExOTIw NTU1MDEKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjQyIDIwMDc6IHBjcC5zYW1wbGUuYnl0 ZV9yYXRlIDgxNC4wIDExOTIwNTU1MDIKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjQzIDIw MDc6IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDY0NC4wIDExOTIwNTU1MDMKU2VuZGluZyBXZWQg T2N0IDEwIDIyOjMxOjQ0IDIwMDc6IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDc3LjAgMTE5MjA1 NTUwNApTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6NDUgMjAwNzogcGNwLnNhbXBsZS5ieXRl X3JhdGUgOS4wIDExOTIwNTU1MDUKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjQ2IDIwMDc6 IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDQxMi4wIDExOTIwNTU1MDYKU2VuZGluZyBXZWQgT2N0 IDEwIDIyOjMxOjQ3IDIwMDc6IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDM2OC4wIDExOTIwNTU1 MDcKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjQ4IDIwMDc6IHBjcC5zYW1wbGUuYnl0ZV9y YXRlIDk5Ni4wIDExOTIwNTU1MDgKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjQ5IDIwMDc6 IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDkxMi4wIDExOTIwNTU1MDkKU2VuZGluZyBXZWQgT2N0 IDEwIDIyOjMxOjUwIDIwMDc6IHBjcC5zYW1wbGUuYnl0ZV9yYXRlIDY3NS4wIDExOTIwNTU1 MTAKPT09IDUuIHBjcDJncmFwaGl0ZSB0aW1lLWxpbWl0ZWQgYXJjaGl2ZSB0cmFuc2NyaXB0 aW9uID09PQo6KGxwMQoocGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDkwCkY3MzAK dHRwMwo6KGxwMQoocGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDkxCkY0MzYKdHRw Mwo6KGxwMQoocGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDkyCkYzNTMKdHRwMwo6 KGxwMQoocGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDkzCkY5NTUKdHRwMwo6KGxw MQoocGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDk0CkYzNTAKdHRwMwo6KGxwMQoo cGNwLnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDk1CkY1NDQKdHRwMwo6KGxwMQoocGNw LnNhbXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDk2CkY0NTMKdHRwMwo6KGxwMQoocGNwLnNh bXBsZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDk3CkY5MDMKdHRwMwo6KGxwMQoocGNwLnNhbXBs ZS5ieXRlX3JhdGUKKEkxMTkyMDU1NDk4CkYyODgKdHRwMwo6KGxwMQoocGNwLnNhbXBsZS5i eXRlX3JhdGUKKEkxMTkyMDU1NDk5CkYyMjIKdHRwMwo6KGxwMQoocGNwLnNhbXBsZS5ieXRl X3JhdGUKKEkxMTkyMDU1NTAwCkY5NjQKdHRwMwoKUmVsYXlpbmcgMSBtZXRyaWMocykgd2l0 aCBwcmVmaXggcGNwLiBmcm9tIGFyY2hpdmUgYXJjaGl2ZXMvY2hhcnRxYTEubWV0YSBpbiBw aWNrbGVkIG1vZGUgdG8gbG9jYWxob3N0OjIwMDQgZXZlcnkgMS4wMDAwMDAgcwpTZW5kaW5n IFdlZCBPY3QgMTAgMjI6MzE6MzAgMjAwNyAjdHVwbGVzIDEKU2VuZGluZyBXZWQgT2N0IDEw IDIyOjMxOjMxIDIwMDcgI3R1cGxlcyAxClNlbmRpbmcgV2VkIE9jdCAxMCAyMjozMTozMiAy MDA3ICN0dXBsZXMgMQpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzMgMjAwNyAjdHVwbGVz IDEKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjM0IDIwMDcgI3R1cGxlcyAxClNlbmRpbmcg V2VkIE9jdCAxMCAyMjozMTozNSAyMDA3ICN0dXBsZXMgMQpTZW5kaW5nIFdlZCBPY3QgMTAg MjI6MzE6MzYgMjAwNyAjdHVwbGVzIDEKU2VuZGluZyBXZWQgT2N0IDEwIDIyOjMxOjM3IDIw MDcgI3R1cGxlcyAxClNlbmRpbmcgV2VkIE9jdCAxMCAyMjozMTozOCAyMDA3ICN0dXBsZXMg MQpTZW5kaW5nIFdlZCBPY3QgMTAgMjI6MzE6MzkgMjAwNyAjdHVwbGVzIDEKU2VuZGluZyBX ZWQgT2N0IDEwIDIyOjMxOjQwIDIwMDcgI3R1cGxlcyAxCgo9PT0gNi4gcGNwMmdyYXBoaXRl IGFuZCBsYXRlc3QgcGlja2xlIHZlcnNpb24gPT09CkZvdW5kIHBjcC5oaW52Lm5jcHUgaW4g aGlnaGVzdCB2ZXJzaW9uZWQgcGlja2xlZCBvdXRwdXQK --------------080904030700010701080301-- From kenj@internode.on.net Sun Feb 14 15:18:11 2016 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 5D2827CA2 for ; Sun, 14 Feb 2016 15:18:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 32B168F8039 for ; Sun, 14 Feb 2016 13:18:07 -0800 (PST) X-ASG-Debug-ID: 1455484680-04bdf066edc6160001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id SqWYQ7F9INaBrGOA for ; Sun, 14 Feb 2016 13:18:01 -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: A2DMAQBP7sBWPFBJ0XYNUYQMbYZitSkZh2EBAQEBAQEHAQEBAUGFKlUwBgIFFgsCCwMCAQIBMScGAgEBtRFnjkZ7kH2BOgWHU48mhU+Weo4+hFlWhx0kgRUBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 15 Feb 2016 07:47:59 +1030 To: pcp@oss.sgi.com Subject: pcp updates: mostly negative metric values support and related QA From: Ken McDonell X-ASG-Orig-Subj: pcp updates: mostly negative metric values support and related QA Message-ID: <56C0EF07.9080303@internode.on.net> Date: Mon, 15 Feb 2016 08:17:59 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455484680 X-Barracuda-URL: https://192.48.157.11:443/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.27033 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (18): qa/622: a but more sample.negative fallout qa/880: add notrun guard if pmrep not installed qa/201: make sure temporary files are cleaned up qa/440: make sure temporary files are cleaned up src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf() qa/1070: filter out local timezone from pmrep src/libpcp_pmda/src/queues.c: rework diagnostics in pmdaEventNewClient() libpcp: fix __pmStringValue() to allow negative PM_TYPE_FLOAT values src/pmval/pmval.c: correct handling of real negative values src/libpcp_pmda/src/queues.c: cleanup the diagnostic reporting qa/287: extend the test a little qa/086: (new) exercise pcp clients with sample.negative metrics qa/group: add 806, cleanup the pmval group assignments qa/380: remove duplicated exit block qa/498: remade .out after libpcp_pmda diagnostic changes qa/956: change to use _save_config and _restore_config qa/common.check: _cleanup_pmda() should not remove temp files qa/287.out.64: remade after test and pmval changes qa/1070 | 23 ++ qa/1070.out | 4 qa/201 | 4 qa/287 | 4 qa/287.out.64 | 200 ++++++++++++++++++++---- qa/380 | 3 qa/440 | 4 qa/498.out | 344 +++++++++++++++++++++--------------------- qa/662.out.4 | 14 + qa/662.out.46 | 28 +++ qa/806 | 109 +++++++++++++ qa/806.out | 345 +++++++++++++++++++++++++++++++++++++++++++ qa/880 | 2 qa/956 | 8 qa/common.check | 1 qa/group | 54 +++--- src/libpcp/src/stuffvalue.c | 2 src/libpcp/src/util.c | 3 src/libpcp_pmda/src/queues.c | 41 ++--- src/pmval/pmval.c | 54 ++++-- 20 files changed, 956 insertions(+), 291 deletions(-) Details ... commit dc02e36da71a16b525ee30efda9acbff84441943 Author: Ken McDonell Date: Mon Feb 15 08:16:46 2016 +1100 qa/287.out.64: remade after test and pmval changes commit a10d1f2f759c6ab498af4f05f1c784727c8dcbdd Author: Ken McDonell Date: Mon Feb 15 08:14:10 2016 +1100 qa/common.check: _cleanup_pmda() should not remove temp files commit 8667af9324f70e66e297091b5c995e8cbb8dca31 Author: Ken McDonell Date: Mon Feb 15 08:13:22 2016 +1100 qa/956: change to use _save_config and _restore_config commit 2e668d7c9e919dc852e79a737ddd054139a6334f Author: Ken McDonell Date: Mon Feb 15 08:12:47 2016 +1100 qa/498: remade .out after libpcp_pmda diagnostic changes commit 508436cbf1d4b752bff208680c201ccd91b07dc7 Author: Ken McDonell Date: Mon Feb 15 08:12:13 2016 +1100 qa/380: remove duplicated exit block commit 151a4f644fc0719de50ea89a145dcf2f7f903f63 Author: Ken McDonell Date: Mon Feb 15 08:11:28 2016 +1100 qa/group: add 806, cleanup the pmval group assignments commit d1904a7d316ee533186d7778a8edaf005c152b18 Author: Ken McDonell Date: Mon Feb 15 08:10:46 2016 +1100 qa/086: (new) exercise pcp clients with sample.negative metrics commit 18e7f5579a03cca1a6eec14af37f6e54f1541e5c Author: Ken McDonell Date: Mon Feb 15 08:05:52 2016 +1100 qa/287: extend the test a little Arising from pmval negative values changes. commit 7e8863461902f52991c9f1c42b72494ccec8e07c Author: Ken McDonell Date: Mon Feb 15 08:05:09 2016 +1100 src/libpcp_pmda/src/queues.c: cleanup the diagnostic reporting commit 896b1dbbeb6a8830b4e71bf1d595afb4deebf769 Author: Ken McDonell Date: Mon Feb 15 07:21:03 2016 +1100 src/pmval/pmval.c: correct handling of real negative values Required some rework of the "wrap detection" logic, which was causing "!" to be printed instead of negative values for non-counter metrics. commit babf659d3ab7257f53bf55777c3030661c47b8e3 Author: Ken McDonell Date: Mon Feb 15 07:18:59 2016 +1100 libpcp: fix __pmStringValue() to allow negative PM_TYPE_FLOAT values Check for float to double truncation was wrong. commit f117b9da157de0b9086bbe879d135413b7bf5cda Author: Ken McDonell Date: Sun Feb 14 06:58:54 2016 +1100 src/libpcp_pmda/src/queues.c: rework diagnostics in pmdaEventNewClient() 1. always report a new client 2. diags should be emitted vi fprintf to stderr, not commit b1eb5aacf4130a6614f16ae404a54868d478541e Author: Ken McDonell Date: Sat Feb 13 19:40:53 2016 +1100 qa/1070: filter out local timezone from pmrep commit 43caaf25fe8842135b0b224994d477a2ece3745b Author: Ken McDonell Date: Sat Feb 13 19:30:43 2016 +1100 src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf() Close the window between creating and unlinking the temporary file used by pmprintf() and friends. This was causing files with names like pcp-XXXXXX to be sometimes left behind in /var/tmp when QA tests were interrupted. commit 3c07a194b8ad251d9984451e7d6fc4ce0c003500 Author: Ken McDonell Date: Sat Feb 13 19:29:44 2016 +1100 qa/440: make sure temporary files are cleaned up commit 0449cd0fc7e0efe25553b6d5fbb6af4c5652d5d1 Author: Ken McDonell Date: Sat Feb 13 19:29:03 2016 +1100 qa/201: make sure temporary files are cleaned up commit efda53e888303dbd209b09faebe6f77e0f32e919 Author: Ken McDonell Date: Sat Feb 13 13:48:39 2016 +1100 qa/880: add notrun guard if pmrep not installed commit 14ff22479eddb1c349bfb55b93dd289d44f6118b Author: Ken McDonell Date: Sat Feb 13 06:44:38 2016 +1100 qa/622: a but more sample.negative fallout From noreply@github.com Sun Feb 14 15:28:14 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 B1DBD7CA2 for ; Sun, 14 Feb 2016 15:28:14 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A2043304032 for ; Sun, 14 Feb 2016 13:28:14 -0800 (PST) X-ASG-Debug-ID: 1455485290-04cbb04331d96e0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id 508PjV5YMSxdjigA (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 14 Feb 2016 13:28:12 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aV4D7-0001Kw-LK for ; Mon, 15 Feb 2016 08:28:09 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Sun, 14 Feb 2016 13:27:58 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455485278; bh=CO4UJuA/qpzzPnlNyt/CT23VckHwt4vcLD7AaYM14W4=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=rbnyOh5OEkYW6wsiOOZgZPyBBuOrwq/jcDaxxc4D5ZPggEp0nnCYYqiXlUMFg10he SaQX5ubJISkdyJ+oUvymMVoGJwjExk4Vm7IR88PkWDUsMatpTRf1u905UfFt/IlUTp 1Hv0HpNS0rZ477w/VJVVYrzL/SVbmdrL1YpcqpiY= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmval does not print negative values (#67) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmval does not print negative values (#67) Content-Type: multipart/alternative; boundary="--==_mimepart_56c0f15e419c0_7f563fa21f9ff2bc85629e"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1455485292 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27033 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56c0f15e419c0_7f563fa21f9ff2bc85629e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Closed #67. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/67#event-550038656 ----==_mimepart_56c0f15e419c0_7f563fa21f9ff2bc85629e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Closed #67.


Reply to this email directly or view it on GitHub.

----==_mimepart_56c0f15e419c0_7f563fa21f9ff2bc85629e-- From kenj@internode.on.net Sun Feb 14 16:26:28 2016 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 D56E07CA2 for ; Sun, 14 Feb 2016 16:26:28 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 66BADAC001 for ; Sun, 14 Feb 2016 14:26:25 -0800 (PST) X-ASG-Debug-ID: 1455488781-04cbb04331da4e0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id K54jsigwyLldD8hO for ; Sun, 14 Feb 2016 14:26:21 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.129 Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 15 Feb 2016 08:55:53 +1030 To: pcp@oss.sgi.com Subject: pcp updates: rework pmprintf change From: Ken McDonell X-ASG-Orig-Subj: pcp updates: rework pmprintf change Message-ID: <56C0FEEE.9060203@internode.on.net> Date: Mon, 15 Feb 2016 09:25:50 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455488781 X-Barracuda-URL: https://192.48.176.25:443/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.27034 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (2): Revert "src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf()" src/libpcp/src/util.c: rework temp file cleanup from pmprintf src/libpcp/src/check-statics | 1 + src/libpcp/src/util.c | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) Details ... commit 3f74974f292393a11c70c3e4fc894f718efcb7a1 Author: Ken McDonell Date: Mon Feb 15 09:24:03 2016 +1100 src/libpcp/src/util.c: rework temp file cleanup from pmprintf Use atexit handler. Update check-statics as a consequence. commit dd52a7190c3fd28d0365ab13e3c4409f89276e89 Author: Ken McDonell Date: Mon Feb 15 08:49:35 2016 +1100 Revert "src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf()" This reverts commit 43caaf25fe8842135b0b224994d477a2ece3745b. Cannot unlink early ... fname is needed if PCP_XCONFIRM_PROG run from pmflush(). From kenj@internode.on.net Sun Feb 14 17:09:58 2016 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 39ADF7CA2 for ; Sun, 14 Feb 2016 17:09:58 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1BF878F8049 for ; Sun, 14 Feb 2016 15:09:57 -0800 (PST) X-ASG-Debug-ID: 1455491390-04cb6c1e56ce2d0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id FeWqstsG1l1XCdMF for ; Sun, 14 Feb 2016 15:09:51 -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: A2C8AgAPCMFWPFBJ0XYNUYtbtSuHeAEBAQEBAQcBAQEBQYUqgQsCBSECEQIyJwgBAbUOZ45Oe4wfgUaDGIE6BYdQhwaII5xJjj6EWYksAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 15 Feb 2016 09:39:48 +1030 To: pcp@oss.sgi.com Subject: pcp QA Status From: Ken McDonell X-ASG-Orig-Subj: pcp QA Status Message-ID: <56C1093B.70403@internode.on.net> Date: Mon, 15 Feb 2016 10:09:47 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455491390 X-Barracuda-URL: https://192.48.176.15:443/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.27035 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Details for the most commonly failing tests are available from ftp://oss.sgi.com/projects/pcp/download/qa-status/ === Synopsis === QA Status from Ken McDonell's QA Farm in Melbourne Summary: 23456 run, 78 failed (0.33%) QA Test Fail Failure Signatures (number of different failure patterns) 1070 10 9 1 667 20 20 1069 3 3 569 3 3 756 3 3 880 4 3 1 666 5 1 1 1 1 1 662 6 3 1 1 1 878 9 6 1 1 1 ^ ^ | | | +-- A B C ... means one failure signature occurred A times, | another occurred B times, a third occurred C times, ... +-- total number of failures for this test, equals A+B+C+... Each tarball in this directory contains .out, .out.bad and possibly .full files for all failing test cases where a test failed on at least 9% of the QA hosts. The latest tarball is 20160215.tgz. ==== QA Summary ==== Date Run Pass Fail Nrun Host 2016-02-14 803 800 3 86|bo|bozo PCP 3.11.0 x86_64 Ubuntu 15.10 2016-02-12 783 779 4 106|bl|bozo-laptop PCP 3.11.0 i686 LinuxMint 15 2016-02-12 791 789 2 98|bv|bozo-vm PCP 3.11.0 x86_64 Debian 8.2 Daily runs, but no QA |fu|fuji PCP 3.10.9 i386 Darwin 10.8.0 2016-02-12 691 684 7 155|gr|grundy PCP 3.11.0 ia64 SUSE SLES11 SP1 2016-02-12 807 803 4 82|00|vm00 PCP 3.11.0 x86_64 Ubuntu 12.04 2016-02-12 811 807 4 78|01|vm01 PCP 3.11.0 i686 Ubuntu 15.10 2016-02-12 789 787 2 100|02|vm02 PCP 3.11.0 i686 openSUSE 13.2 2016-02-12 832 832 0 57|03|vm03 PCP 3.11.0 x86_64 Fedora 21 2016-02-13 724 723 1 165|04|vm04 PCP 3.11.0 i586 CentOS 5.11 2016-02-13 788 784 4 101|05|vm05 PCP 3.11.0 x86_64 Gentoo 2.2 2016-02-13 60 59 1 4|06|vm06 PCP 3.11.0 amd64 FreeBSD 10.2-RELEASE 2016-02-13 789 784 5 100|07|vm07 PCP 3.11.0 x86_64 Debian 6.0.10 2016-02-12 831 827 4 58|08|vm08 PCP 3.11.0 x86_64 CentOS Linux7.1.1503 2016-02-15 60 58 2 4|09|vm09 PCP 3.11.0 i386 NetBSD 6.1.5 2016-02-13 60 59 1 4|10|vm10 PCP 3.11.0 i386 FreeBSD 9.3-RELEASE-p30 2016-02-13 790 789 1 99|11|vm11 PCP 3.11.0 i686 Debian 6.0.10 2016-02-13 829 827 2 60|12|vm12 PCP 3.11.0 i686 Fedora 22 2016-02-14 826 825 1 63|14|vm14 PCP 3.11.0 x86_64 CentOS6.7 No daily runs |15|vm15 PCP 3.9.1 x86_64 Slackware 13.37.0 2016-02-14 819 817 2 70|18|vm18 PCP 3.11.0 x86_64 LinuxMint 17.3 2016-02-14 800 799 1 89|19|vm19 PCP 3.11.0 x86_64 openSUSE 12.2 2016-02-14 803 801 2 86|20|vm20 PCP 3.11.0 x86_64 Ubuntu 13.04 2016-02-14 804 803 1 85|21|vm21 PCP 3.11.0 i686 Debian 7.9 2016-02-14 829 827 2 60|22|vm22 PCP 3.11.0 x86_64 Fedora 19 2016-02-15 827 826 1 62|23|vm23 PCP 3.11.0 i686 Fedora 20 2016-02-15 823 820 3 66|24|vm24 PCP 3.11.0 i686 openSUSE 13.1 2016-02-12 720 717 3 169|25|vm25 PCP 3.11.0 x86_64 CentOS 5.11 2016-02-13 831 827 4 58|26|vm26 PCP 3.11.0 x86_64 Fedora 21 2016-02-14 818 816 2 71|27|vm27 PCP 3.11.0 x86_64 Ubuntu 15.04 2016-02-15 827 824 3 62|28|vm28 PCP 3.11.0 x86_64 RHEL Server 6.7 2016-02-14 833 832 1 56|29|vm29 PCP 3.11.0 x86_64 RHEL Server 7.1 2016-02-12 829 827 2 60|30|vm30 PCP 3.11.0 x86_64 SUSE SLES12 SP0 2016-02-13 829 826 3 60|31|vm31 PCP 3.11.0 x86_64 Fedora 23 Summary: 23456 run, 78 failed (0.33%) ==== QA Failure (X) Map ==== Host bo bl bv gr 00 01 02 04 05 06 07 08 09 10 11 12 14 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Test %fail Test QA groups 667 63% X X X X X X X X X X X X X X X X X X X X 667 python 1070 31% X X X X X X X X X X 1070 pmrep pmimport python perl 878 28% X X X X X X X X X 878 pmda.pipe pmval 662 19% X X X X X X 662 pmwebapi pmda.sample 666 16% X X X X X 666 pmmgr slow 880 13% X X X X 880 pmrep python 569 9% X X X 569 pmprobe 756 9% X X X 756 pmda.perfevent 1069 9% X X X 1069 pmrep python 823 6% X X 823 pmda.sample pmstore secure 983 6% X X 983 pmie 029 3% X 029 pmns pmdumplog 139 3% X 139 pmlc 206 3% X 206 archive pmval 462 3% X 462 pmcd_wait 498 3% X 498 event pmda 518 3% X 518 pcp flakey pmie 574 3% X 574 libpcp pmns compat Host bo bl bv gr 00 01 02 04 05 06 07 08 09 10 11 12 14 18 19 20 21 22 23 24 25 26 27 28 29 30 31 832 3% X 832 pmda.sample pmstore secure 859 3% X 859 python libpcp fetch 892 3% X 892 pmcd libpcp 1099 3% X 1099 archive pmiostat pmie Host bo bl bv gr 00 01 02 04 05 06 07 08 09 10 11 12 14 18 19 20 21 22 23 24 25 26 27 28 29 30 31 From nscott@redhat.com Sun Feb 14 18:28:58 2016 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 A4D5E7CA2 for ; Sun, 14 Feb 2016 18:28:58 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9523C8F8039 for ; Sun, 14 Feb 2016 16:28:55 -0800 (PST) X-ASG-Debug-ID: 1455496130-04cbb04332dc0e0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id sk7rsl8ZdSGE7Mir (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 14 Feb 2016 16:28: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 u1F0SkKr022845; Sun, 14 Feb 2016 19:28:46 -0500 Date: Sun, 14 Feb 2016 19:28:46 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell , Dave Brolley Cc: PCP Message-ID: <575484623.20805560.1455496126118.JavaMail.zimbra@redhat.com> In-Reply-To: <56BFB270.2010508@internode.on.net> References: <56BFB270.2010508@internode.on.net> Subject: Re: [pcp] qa/667 failing more often than passing MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] qa/667 failing more often than passing Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.244] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: qa/667 failing more often than passing Thread-Index: IkmcNAAi0y+SyUJysBPKz/Cx8s5TJw== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455496130 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27036 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 ----- Original Message ----- > I'm seeing lots of pcp2graphite failures, all the same .out.bad > (attached) ... must be some sort of version issue as the same test is > definitely passing on a small number of hosts. (yeah, passing here on my usual machines & on the buildbots) > Any clues? I guess this will be a result of either commit 139b0b0bb or d4ec9b96c0. cheers. -- Nathan From nscott@redhat.com Sun Feb 14 19:09:25 2016 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 F40BE7CA2 for ; Sun, 14 Feb 2016 19:09:24 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 94246AC002 for ; Sun, 14 Feb 2016 17:09:21 -0800 (PST) X-ASG-Debug-ID: 1455498550-04cb6c1e57cfba0001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id 7uUzdCTmSNdZRSmA (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 14 Feb 2016 17:09:10 -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 u1F197ug013650; Sun, 14 Feb 2016 20:09:07 -0500 Date: Sun, 14 Feb 2016 20:09:07 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Hemant Kumar Cc: pcp@oss.sgi.com Message-ID: <484836703.20809064.1455498547101.JavaMail.zimbra@redhat.com> In-Reply-To: <56BE6E0D.6050101@linux.vnet.ibm.com> References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> <1779243884.20121961.1455156620367.JavaMail.zimbra@redhat.com> <56BE6E0D.6050101@linux.vnet.ibm.com> Subject: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.244] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: perfevent_pmda: Add extension for perf derived events Thread-Index: 1we+3hBpoA8Q7AOOh3ETcDPTCZTwxw== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455498550 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27037 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 Hemant, ----- Original Message ----- > [...] > > One solution might be to add a metric permanently below that point, > > that is instantiated both with and without derived perfevent counts > > e.g. perfevent.derived.active (mirror the existing perfevent.active) > > - a count of #derived metrics - zero valued in the default case. > > Right. Sent a patch to add a metric perfevent.derived.active and > that should fix the warning. > http://www.pcp.io/pipermail/pcp/2016-February/009610.html > > Thanks for the suggestion! No problem, it works nicely here and fixes the issue. I think this new metric may need some help text though? Not sure how best to add that in with the scheme used, so I'll leave that for you too, if thats OK? Taa. cheers. -- Nathan From noreply@github.com Sun Feb 14 19:58:05 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 B29B67CA2 for ; Sun, 14 Feb 2016 19:58:05 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 61A84AC003 for ; Sun, 14 Feb 2016 17:58:05 -0800 (PST) X-ASG-Debug-ID: 1455501477-04bdf066eaca7d0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id UHD57gpZcFw2GhR8 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 14 Feb 2016 17:57:58 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aV8QC-0004wl-Jz for ; Mon, 15 Feb 2016 12:57:56 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Sun, 14 Feb 2016 17:57:44 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455501464; bh=rNbaNdsudFAJCqwGN2DyG6zaAX1Iqqgc9EGCMFv8HoE=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=I9kp9x8yZtXb/tnY2FOywrI1nlM3zpCEx5vmAPYSNRHJAmUErx3o2KLPsK6TsU34v RIaqUN4HTagWJf3/ynpuUdrWdJdYgRNU/42Q1sjVHHAXebsOsOuXqmFiVcj41Mw4V4 9N9VuDZo2DsQ3dsKKQaGnFw5vI9I0cQP5li2gik0= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] OpenBSD support, EPROTO question (#71) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] OpenBSD support, EPROTO question (#71) Content-Type: multipart/alternative; boundary="--==_mimepart_56c130989d96e_65033feb2d88f2b811899c"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1455501478 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27038 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56c130989d96e_65033feb2d88f2b811899c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit > I'm not really a developer so I'm asking before pull request? How to handle in better way EPROTO? > It seems odd to have ifndef in couple of files? @jirib defining it in src/include/pcp/config.h.in is the way to go - for example, see the EHOSTDOWN/ENODATA missing-error-code definitions there for Windows. >From scanning the available error codes here: http://fxr.watson.org/fxr/source/sys/errno.h?v=OPENBSD and looking at the places EPROTO is used, I'd suggest a better match (than EINTR) would be: #define ENOPROTOOPT 42 /* Protocol not available */ | (Otherwise with diffs below I could build pcp on OpenBSD. Just build, I have to learn how to use it :) ) Good stuff! You might find the quick reference guide useful for getting a quick, practical introduction: http://www.pcp.io/docs/guide.html --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/71#issuecomment-184024288 ----==_mimepart_56c130989d96e_65033feb2d88f2b811899c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I'm not really a developer so I'm asking before pull request? How to handle in better way EPROTO? > It seems odd to have ifndef in couple of files?

@jirib defining it in src/include/pcp/config.h.in is the way to go - for example, see the EHOSTDOWN/ENODATA missing-error-code definitions there for Windows.

From scanning the available error codes here:
http://fxr.watson.org/fxr/source/sys/errno.h?v=OPENBSD

and looking at the places EPROTO is used, I'd suggest a better match (than EINTR) would be:
#define ENOPROTOOPT 42 /* Protocol not available */

| (Otherwise with diffs below I could build pcp on OpenBSD. Just build, I have to learn how to use it :) )

Good stuff! You might find the quick reference guide useful for getting a quick, practical introduction:
http://www.pcp.io/docs/guide.html


Reply to this email directly or view it on GitHub.

----==_mimepart_56c130989d96e_65033feb2d88f2b811899c-- From nscott@redhat.com Sun Feb 14 23:00:08 2016 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 D8E0F7CA2 for ; Sun, 14 Feb 2016 23:00:08 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id C8942304059 for ; Sun, 14 Feb 2016 21:00:08 -0800 (PST) X-ASG-Debug-ID: 1455512401-04cbb04331e0930001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id q6O8k1qb8HYO3ITz (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 14 Feb 2016 21:00: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 u1F501aV013584 for ; Mon, 15 Feb 2016 00:00:01 -0500 Date: Mon, 15 Feb 2016 00:00:01 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <126806156.20830603.1455512401037.JavaMail.zimbra@redhat.com> Subject: pcp updates: kenj+hemant merges, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: kenj+hemant merges, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.51.244] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: kenj+hemant merges, qa Thread-Index: 3GINw8Lp6knvDC2OfpTpqagDOvKjMA== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455512402 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27041 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 master Ken McDonell (21): qa/622: a but more sample.negative fallout qa/880: add notrun guard if pmrep not installed qa/201: make sure temporary files are cleaned up qa/440: make sure temporary files are cleaned up src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf() qa/1070: filter out local timezone from pmrep src/libpcp_pmda/src/queues.c: rework diagnostics in pmdaEventNewClient() libpcp: fix __pmStringValue() to allow negative PM_TYPE_FLOAT values src/pmval/pmval.c: correct handling of real negative values src/libpcp_pmda/src/queues.c: cleanup the diagnostic reporting qa/287: extend the test a little qa/086: (new) exercise pcp clients with sample.negative metrics qa/group: add 806, cleanup the pmval group assignments qa/380: remove duplicated exit block qa/498: remade .out after libpcp_pmda diagnostic changes qa/956: change to use _save_config and _restore_config qa/common.check: _cleanup_pmda() should not remove temp files qa/287.out.64: remade after test and pmval changes qa/287.out.32: remade after test and pmval changes Revert "src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf()" src/libpcp/src/util.c: rework temp file cleanup from pmprintf Nathan Scott (4): pmdaperfevent: small cleanups on derived metrics review qa: ensure pcp-vmstat test archive has all needed metrics qa: updates to tests affected by recent pmdaperfevent additions qa: filter hostname from all pmval output in test 806 Hemant Kumar (1): pmdaperfevent: add perfevent.derived.active metric man/man1/perfalloc.1 | 31 ++- man/man1/pmdaperfevent.1 | 52 ++++-- qa/1062.out | 18 +- qa/1070 | 23 ++ qa/1070.out | 4 qa/201 | 4 qa/256 | 11 + qa/287 | 4 qa/287.out.32 | 200 ++++++++++++++++++++---- qa/287.out.64 | 200 ++++++++++++++++++++---- qa/380 | 3 qa/440 | 4 qa/498.out | 344 +++++++++++++++++++++-------------------- qa/662.out.4 | 14 + qa/662.out.46 | 28 +++ qa/757 | 1 qa/757.out | 3 qa/804.out | 10 - qa/806 | 111 +++++++++++++ qa/806.out | 353 ++++++++++++++++++++++++++++++++++++++++++- qa/880 | 2 qa/956 | 8 qa/archives/mk.vmstat.sh | 1 qa/archives/pcp-vmstat.0 |binary qa/archives/pcp-vmstat.index |binary qa/archives/pcp-vmstat.meta |binary qa/common.check | 1 qa/group | 54 +++--- src/libpcp/src/check-statics | 1 src/libpcp/src/stuffvalue.c | 2 src/libpcp/src/util.c | 36 +++- src/libpcp_pmda/src/queues.c | 41 ++-- src/pmdas/perfevent/help | 2 src/pmdas/perfevent/pmda.c | 83 +++++++--- src/pmval/pmval.c | 54 ++++-- 35 files changed, 1301 insertions(+), 402 deletions(-) commit a02b8f7262bc6242fd0e5241b8a0fe70f266c943 Author: Nathan Scott Date: Mon Feb 15 15:57:36 2016 +1100 qa: filter hostname from all pmval output in test 806 commit fdc2ca2dc7c0a6b6d5269d5238108cb82cbad314 Author: Nathan Scott Date: Mon Feb 15 15:56:36 2016 +1100 qa: updates to tests affected by recent pmdaperfevent additions commit fbce873a5b2aef034ae7eca123f8810b32f40fcd Author: Nathan Scott Date: Mon Feb 15 15:55:36 2016 +1100 qa: ensure pcp-vmstat test archive has all needed metrics commit 0744454f39ce9107e35c517666900eddad9ae085 Author: Nathan Scott Date: Mon Feb 15 12:04:52 2016 +1100 pmdaperfevent: small cleanups on derived metrics review Added some notes re sysctl to the man pages, added some more code comments. Small formatting consistency updates. commit a278f78de37e110a658a377e624004804bf651aa Author: Hemant Kumar Date: Mon Feb 15 11:32:24 2016 +1100 pmdaperfevent: add perfevent.derived.active metric This patch adds a metric perfevent.derived.active which will be permanently present and gives the number of active perf derived events. This also helps in avoiding a warning message which is shown if there are no perf derived events. Signed-off-by: Hemant Kumar commit 3f74974f292393a11c70c3e4fc894f718efcb7a1 Author: Ken McDonell Date: Mon Feb 15 09:24:03 2016 +1100 src/libpcp/src/util.c: rework temp file cleanup from pmprintf Use atexit handler. Update check-statics as a consequence. commit dd52a7190c3fd28d0365ab13e3c4409f89276e89 Author: Ken McDonell Date: Mon Feb 15 08:49:35 2016 +1100 Revert "src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf()" This reverts commit 43caaf25fe8842135b0b224994d477a2ece3745b. Cannot unlink early ... fname is needed if PCP_XCONFIRM_PROG run from pmflush(). commit 4a4f94062ade09044bc078ed2a46137e4aa80278 Author: Ken McDonell Date: Mon Feb 15 08:23:38 2016 +1100 qa/287.out.32: remade after test and pmval changes commit dc02e36da71a16b525ee30efda9acbff84441943 Author: Ken McDonell Date: Mon Feb 15 08:16:46 2016 +1100 qa/287.out.64: remade after test and pmval changes commit a10d1f2f759c6ab498af4f05f1c784727c8dcbdd Author: Ken McDonell Date: Mon Feb 15 08:14:10 2016 +1100 qa/common.check: _cleanup_pmda() should not remove temp files commit 8667af9324f70e66e297091b5c995e8cbb8dca31 Author: Ken McDonell Date: Mon Feb 15 08:13:22 2016 +1100 qa/956: change to use _save_config and _restore_config commit 2e668d7c9e919dc852e79a737ddd054139a6334f Author: Ken McDonell Date: Mon Feb 15 08:12:47 2016 +1100 qa/498: remade .out after libpcp_pmda diagnostic changes commit 508436cbf1d4b752bff208680c201ccd91b07dc7 Author: Ken McDonell Date: Mon Feb 15 08:12:13 2016 +1100 qa/380: remove duplicated exit block commit 151a4f644fc0719de50ea89a145dcf2f7f903f63 Author: Ken McDonell Date: Mon Feb 15 08:11:28 2016 +1100 qa/group: add 806, cleanup the pmval group assignments commit d1904a7d316ee533186d7778a8edaf005c152b18 Author: Ken McDonell Date: Mon Feb 15 08:10:46 2016 +1100 qa/086: (new) exercise pcp clients with sample.negative metrics commit 18e7f5579a03cca1a6eec14af37f6e54f1541e5c Author: Ken McDonell Date: Mon Feb 15 08:05:52 2016 +1100 qa/287: extend the test a little Arising from pmval negative values changes. commit 7e8863461902f52991c9f1c42b72494ccec8e07c Author: Ken McDonell Date: Mon Feb 15 08:05:09 2016 +1100 src/libpcp_pmda/src/queues.c: cleanup the diagnostic reporting commit 896b1dbbeb6a8830b4e71bf1d595afb4deebf769 Author: Ken McDonell Date: Mon Feb 15 07:21:03 2016 +1100 src/pmval/pmval.c: correct handling of real negative values Required some rework of the "wrap detection" logic, which was causing "!" to be printed instead of negative values for non-counter metrics. commit babf659d3ab7257f53bf55777c3030661c47b8e3 Author: Ken McDonell Date: Mon Feb 15 07:18:59 2016 +1100 libpcp: fix __pmStringValue() to allow negative PM_TYPE_FLOAT values Check for float to double truncation was wrong. commit f117b9da157de0b9086bbe879d135413b7bf5cda Author: Ken McDonell Date: Sun Feb 14 06:58:54 2016 +1100 src/libpcp_pmda/src/queues.c: rework diagnostics in pmdaEventNewClient() 1. always report a new client 2. diags should be emitted vi fprintf to stderr, not commit b1eb5aacf4130a6614f16ae404a54868d478541e Author: Ken McDonell Date: Sat Feb 13 19:40:53 2016 +1100 qa/1070: filter out local timezone from pmrep commit 43caaf25fe8842135b0b224994d477a2ece3745b Author: Ken McDonell Date: Sat Feb 13 19:30:43 2016 +1100 src/libpcp/src/util.c: reduce chance of temp file debris from pmprintf() Close the window between creating and unlinking the temporary file used by pmprintf() and friends. This was causing files with names like pcp-XXXXXX to be sometimes left behind in /var/tmp when QA tests were interrupted. commit 3c07a194b8ad251d9984451e7d6fc4ce0c003500 Author: Ken McDonell Date: Sat Feb 13 19:29:44 2016 +1100 qa/440: make sure temporary files are cleaned up commit 0449cd0fc7e0efe25553b6d5fbb6af4c5652d5d1 Author: Ken McDonell Date: Sat Feb 13 19:29:03 2016 +1100 qa/201: make sure temporary files are cleaned up commit efda53e888303dbd209b09faebe6f77e0f32e919 Author: Ken McDonell Date: Sat Feb 13 13:48:39 2016 +1100 qa/880: add notrun guard if pmrep not installed commit 14ff22479eddb1c349bfb55b93dd289d44f6118b Author: Ken McDonell Date: Sat Feb 13 06:44:38 2016 +1100 qa/622: a but more sample.negative fallout From mitchellmarsh0000@gmail.com Mon Feb 15 08:29:49 2016 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.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID,T_FILL_THIS_FORM_SHORT autolearn=no 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 0DCCB7CA2 for ; Mon, 15 Feb 2016 08:29:49 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D39E630405F for ; Mon, 15 Feb 2016 06:29:45 -0800 (PST) X-ASG-Debug-ID: 1455546582-04bdf066eddad90001-S8gJnT Received: from mail-yw0-f177.google.com (mail-yw0-f177.google.com [209.85.161.177]) by cuda.sgi.com with ESMTP id RMVDg4NgxDT5ZfWE (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 15 Feb 2016 06:29:43 -0800 (PST) X-Barracuda-Envelope-From: mitchellmarsh0000@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.161.177 Received: by mail-yw0-f177.google.com with SMTP id e63so20668855ywc.3 for ; Mon, 15 Feb 2016 06:29:43 -0800 (PST) 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=oWIS4kJEnLqvPwTUVTToxSKPvGFjsSu0y0QJY6oJdiE=; b=Iyv0qAOJqGr1970bOstOvc6rseV/GVOd1t5XUgu9Wi/r6I8ZxNrF3sx6kNgOA2X00/ dkziIN/Oznpcd74IILaenCSBqJNsGR05gpyGkeKq04228iHKZhT6g4v9xJRaBsZueRRV V0jFic4c/0I9xaRLMFQ8cAoorGJDUdPSTTszlgDSLLqkwEO6odysoxCvCdvLmGDE/zLN DgQmsJmFq0r+Zd8I4gXJaRJOpOPreJ2E9SvaGLCNC5+/bmssdp4Cy4t1zyBac0NS2UNE ZhNH/gBbIweizi0HEit+BdhPmso4XGWX7niEgrr+QpIEGZZ5b+06Snic0FWse7m4tIQM IWxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=oWIS4kJEnLqvPwTUVTToxSKPvGFjsSu0y0QJY6oJdiE=; b=RWT1JFan1zQRin8R7bskrVjBFm+/oPEd+K6YAZJF9cHdAJPM2HNDK1iBnvWPN83Dq+ ELmJNdyD+TL3fQZ9eXiKqkeSi98yf+Mu6pt9hBYlue1o3ag05TdEg6CiBIG5aNbVK2mC Wuc1SyOV3AmZJgqNCWFdbYVEKfHS+rQ8kLrIhDQdNEdULRzgKJwcEmHj/Vlic70UQJj2 p851O79s8y4JrXm3jH4UcX6YVvEnf7Co9eA3WNs4t45f8QQKt++bGxRm4MAK1yQZLali gWKutBpxs+fmosG/k5miryhA/d/NMv5/E4SuwxYfC5EW6jis/u0L4LnzmRRNwwgm+Ntm yXQQ== X-Gm-Message-State: AG10YORkpfpczns98x1crrehXAtYa/Qp18tCNeOfzKgc0dwDeWRWHVaSA6iCTOzMCvtb314KJbYFx029iPUb8A== MIME-Version: 1.0 X-Received: by 10.129.138.135 with SMTP id a129mr10128176ywg.185.1455546582556; Mon, 15 Feb 2016 06:29:42 -0800 (PST) Received: by 10.37.115.150 with HTTP; Mon, 15 Feb 2016 06:29:42 -0800 (PST) Date: Mon, 15 Feb 2016 06:29:42 -0800 Message-ID: Subject: SAP Users From: Mitchell Marsh X-ASG-Orig-Subj: SAP Users To: pcp@oss.sgi.com Content-Type: multipart/alternative; boundary=94eb2c07e59801e634052bcfd932 X-Barracuda-Connect: mail-yw0-f177.google.com[209.85.161.177] X-Barracuda-Start-Time: 1455546583 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27050 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 --94eb2c07e59801e634052bcfd932 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable --=20 Hello, I hope you are the right person to discuss regarding *SAP Users* for your Marketing Initiatives like Email Marketing, Tele Marketing and Direct mailings? *SAP Users*: Customer Relationship Management, Enterprise Asset Management, Enterprise Resource Planning, Financial Management, Product Lifecycle Management, Supplier Relationship Management, SAP Business Suite, SAP Business One, SAP Business by Design and many more. *Technologies List:- *Amazon Users, Teradata Users, Oracle Users, SAP Users, Microsoft Dynamics Users, VMware Users, OpenStack Users, Rackspace Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google Users, Joyent Users, EMC Users, Comptel, DNP3, EMC2, Entrust, Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kbox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and Open Next. *Data Fields :-* Company Name, Decision Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, FAX Number, Industry Type, SIC Code, Application Type, Web Address, Employees size and Revenue size. Do share your target audience like *Technology / Geography / Job title*, So that we can give you more information about our services, we can also provide you counts, price with a sample list to check the fields available. Await your response! *Regards* *Mitchell Marsh* *Marketing Executive* =E2=80=9CIf you do not wish to receive further emails kindly reply with "Le= ave Out" or =E2=80=9CUnsubscribe=E2=80=9D --94eb2c07e59801e634052bcfd932 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


--
<= div dir=3D"ltr">

Hello,

I hope you are the right person to discuss regarding SAP Use= rs for your=C2=A0<= /span>Marketing Initia= tives like Email Marketing, Tele Marketing and Direct mailings?

SAP Users: Customer Relationship Management, Enterprise Asset Management, Enterprise Resource Planning, Financial Management, Product Lifecycle Management, Supplier Relationship Management, SAP Business Suite, SAP Business One, SAP Business= by Design and many more.

= Technologies List:-=C2=A0Amazon Users, Teradata Users,=C2=A0Oracle Users, SAP Users, Microsoft Dynamics Users, VMware Users, OpenStack Users, Rackspace Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google Users, Joyent Users, EMC Users, Comptel, DNP3, EMC= 2, Entrust, Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kb= ox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and Open Next.

= Data Fields :-=C2=A0Company Name, Decision Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, = FAX Number, Industry Type, SIC Code, Application Type, Web Address, Employees s= ize and Revenue size.

Do share your target audience like Technology / Geography / Job title, So that we can give you more information about our services, we can also provide you counts, price with a sample list to check= the fields available.

Await your response!

Regards

= Mitchell Marsh

Marke= ting Executive

=E2=80=9CIf you do not wish to receive further emails kindly reply with "Leave Out" or =E2=80=9CUnsubscribe=E2=80=9D

--94eb2c07e59801e634052bcfd932-- From chandana@desilva.id.au Mon Feb 15 15:32:17 2016 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 785047CA2 for ; Mon, 15 Feb 2016 15:32:17 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 699E0304032 for ; Mon, 15 Feb 2016 13:32:14 -0800 (PST) X-ASG-Debug-ID: 1455571930-04cbb04334ff860001-S8gJnT Received: from erouter8.ore.mailhop.org (erouter8.ore.mailhop.org [54.187.218.212]) by cuda.sgi.com with ESMTP id qOykfeQG2aAxKJec (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 15 Feb 2016 13:32:10 -0800 (PST) X-Barracuda-Envelope-From: chandana@desilva.id.au X-Barracuda-Apparent-Source-IP: 54.187.218.212 X-MHO-User: 2ea8174c-d42b-11e5-a023-11ad6df26ed1 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 54.252.74.219 X-Mail-Handler: DuoCircle Outbound SMTP Received: from mail.desilva.id.au (unknown [54.252.74.219]) by outbound3.ore.mailhop.org (Halon Mail Gateway) with ESMTPA for ; Mon, 15 Feb 2016 21:29:23 +0000 (UTC) Received: from tardis.messagemedia.local (59-100-246-38.mel.static-ipl.aapt.com.au [59.100.246.38]) by mail.desilva.id.au (Postfix) with ESMTPSA id EC626279E3 for ; Mon, 15 Feb 2016 21:32:07 +0000 (UTC) Message-ID: <1455571927.18512.62.camel@desilva.id.au> Subject: PCP Process PMDA question From: Chandana De Silva X-ASG-Orig-Subj: PCP Process PMDA question Reply-To: chandana@desilva.id.au To: pcp@oss.sgi.com Date: Tue, 16 Feb 2016 08:32:07 +1100 Content-Type: multipart/alternative; boundary="=-0CtKD2mUFDMqvPA3tkzv" X-Mailer: Evolution 3.16.5 (3.16.5-3.fc22) Mime-Version: 1.0 X-Barracuda-Connect: erouter8.ore.mailhop.org[54.187.218.212] X-Barracuda-Start-Time: 1455571930 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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_SA085c, DOMAIN_4U2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27057 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DOMAIN_4U2 URI: Domain name containing a "4u" variant 0.00 HTML_MESSAGE BODY: HTML included in message 0.20 BSF_SC0_SA085c Custom Rule SA085c --=-0CtKD2mUFDMqvPA3tkzv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit All, I am running PCP 3.10 on two CentOS 5.8 hosts. The PMCD config shows the process PMDA as ; process 71 pipe binary /var/lib/pc p/pmdas/process/pmdaprocess -d 71 However, the file /var/lib/pcp/pmdas/process/pmdaprocess does not exist. But both machines show that the the PMDA is running $ pcp Performance Co-Pilot configuration on gwdb02.prod.mel.au.m4u.com.au: platform: Linux gwdb02.prod.mel.au.m4u.com.au 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 hardware: 12 cpus, 3 disks, 2 nodes, 64416MB RAM timezone: EST-11 services: pmcd pmproxy pmcd: Version 3.10.6-1, 4 agents, 6 clients pmda: pmcd linux mysql mmv process[4] Hoever, only one machines shows the processes when queried: $ pminfo -f process.running process.running inst [0 or "sshd"] value 3 inst [1 or "crond"] value 2 inst [2 or "mysqld"] value 2 The other machine gives an error, and there is no process.log file $ pcp Performance Co-Pilot configuration on gwdb02.prod.mel.au.m4u.com.au: platform: Linux gwdb02.prod.mel.au.m4u.com.au 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 hardware: 12 cpus, 3 disks, 2 nodes, 64416MB RAM timezone: EST-11 services: pmcd pmproxy pmcd: Version 3.10.6-1, 4 agents, 3 clients pmda: pmcd linux mysql mmv process[4] pmlogger: primary logger: /var/log/pcp/pmlogger/gwdb02.prod.mel.au.m4u.com.au/20160216.08.26 pmie: gwdb02.prod.mel.au.m4u.com.au: /var/log/pcp/pmie/gwdb02.prod.mel.au.m4u.com.au/pmie-mysql-host.log [m4u-chandana@gwdb02.prod.mel pmcd]$ pminfo -f process.running process.running: pmLookupDesc: No PMCD agent for domain of request The pmcd.conf on this machine shows an error: pmcd: error starting /var/lib/pcp/pmdas/process/pmdaprocess: No such file or directory pmcd: unexpected end-of-file at initial exchange with process PMDA Help, please Thanks Chandana --=-0CtKD2mUFDMqvPA3tkzv Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
All,
I am running PCP 3.10 on two C= entOS 5.8 hosts.

The PMCD config shows the process= PMDA as ;
process	71	pipe	binary 		/var/lib/pcp/pmdas/process/pmdaprocess -d 71  
However, the file /var/lib/pcp/pmdas/process/pmdaprocess = does not exist.

But both machines show that the th= e PMDA is running

$ pcp
Performance Co-P=
ilot configuration on gwdb02.prod.mel.au.m4u.com.au:

 platform: Linux gwdb02.prod.mel.au.m4u.com.au 2.6.18-308.24.1.el5 = #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64
 hardware: 12 cpus=
, 3 disks, 2 nodes, 64416MB RAM
 timezone: EST-11
=
 services: pmcd pmproxy
     pmcd: =
Version 3.10.6-1, 4 agents, 6 clients
    &nb=
sp;pmda: pmcd linux mysql mmv process[4]

Hoever, o= nly one machines shows the processes when queried:
$ pminfo -f pr= ocess.running

process.running
 &nbs= p;  inst [0 or "sshd"] value 3
    = inst [1 or "crond"] value 2
    inst [2 or "m= ysqld"] value 2

The other machine gives an error, = and there is no process.log file 

$ pcp
=
Performance Co-Pilot configuration on gwdb02.prod.mel.au.m4u.com.au:

 platform: Linux gwdb02.prod.mel.au.m4u.com.au=
 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64
&n=
bsp;hardware: 12 cpus, 3 disks, 2 nodes, 64416MB RAM
 timezo=
ne: EST-11
 services: pmcd pmproxy
  &nb=
sp;  pmcd: Version 3.10.6-1, 4 agents, 3 clients
 =
    pmda: pmcd linux mysql mmv process[4]
&nb=
sp;pmlogger: primary logger: /var/log/pcp/pmlogger/gwdb02.prod.mel.au.m4u.c=
om.au/20160216.08.26
     pmie: gwdb02.p=
rod.mel.au.m4u.com.au: /var/log/pcp/pmie/gwdb02.prod.mel.au.m4u.com.au/pmie=
-mysql-host.log
[=
m4u-chandana@gwdb02.prod.mel pmcd]$ pminfo -f process.running
process.running: pmLookupDesc: No PMCD agent for domain of request

The pmcd.conf on this machine shows an error:
p=
mcd: error starting /var/lib/pcp/pmdas/process/pmdaprocess: No such file or=
 directory
pmcd: unexpected end-of-file at initial exchange with =
process PMDA

Help, please
Thanks
Chandana --=-0CtKD2mUFDMqvPA3tkzv-- From nscott@redhat.com Mon Feb 15 16:40:15 2016 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 E5B5829DF5 for ; Mon, 15 Feb 2016 16:40:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 77377AC002 for ; Mon, 15 Feb 2016 14:40:14 -0800 (PST) X-ASG-Debug-ID: 1455576011-04bdf02d5d06aa0001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id Z87CWsXBUACiW24e (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 15 Feb 2016 14:40:11 -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 u1FMe9l4012344; Mon, 15 Feb 2016 17:40:09 -0500 Date: Mon, 15 Feb 2016 17:40:09 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: chandana@desilva.id.au Cc: pcp@oss.sgi.com Message-ID: <1424549604.21074453.1455576009502.JavaMail.zimbra@redhat.com> In-Reply-To: <1455571927.18512.62.camel@desilva.id.au> References: <1455571927.18512.62.camel@desilva.id.au> Subject: Re: [pcp] PCP Process PMDA question MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] PCP Process PMDA question Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.58] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: PCP Process PMDA question Thread-Index: 9A3s+5U+k2V2hUf/RuQBzR0c3DjlZw== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1455576011 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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=BSF_SC0_MISMATCH_TO, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27058 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, This PMDA was disabled in the build several years ago with a comment ... # This PMDA is only valid on platforms with a procfs # It is also superceded by the cgroup functionality on Linux # thus has not been built for some time, for reference only. ... so the code is still in the tree if you need it, but I would recommend switching to using something like cgroups or hotproc. cheers. -- Nathan From kenj@internode.on.net Mon Feb 15 19:28:37 2016 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 117A17CA2 for ; Mon, 15 Feb 2016 19:28:37 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id F36A68F8033 for ; Mon, 15 Feb 2016 17:28:33 -0800 (PST) X-ASG-Debug-ID: 1455586109-04cbb04332104570001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id lJrqtOopoS8WfVb9 for ; Mon, 15 Feb 2016 17:28:29 -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: A2CXAQCiesJW/1BJ0XYNUYFhgittqXyOEYQIHYVwAoIFAQEBAQEBhUwBAQEDAThABgsLGAkWDwkDAgECAUUTCAEBiA4Wp3CPWwEBCAIBHYpGg3eBB4NuAQSWeYVQiiyMTY4/hFlWAQEBiEwBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail07.adl2.internode.on.net with ESMTP; 16 Feb 2016 11:58:26 +1030 Subject: Re: [pcp] PCP Process PMDA question To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] PCP Process PMDA question References: <1455571927.18512.62.camel@desilva.id.au> From: Ken McDonell Message-ID: <56C27B2D.7070806@internode.on.net> Date: Tue, 16 Feb 2016 12:28:13 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1455571927.18512.62.camel@desilva.id.au> 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: 1455586109 X-Barracuda-URL: https://192.48.176.25:443/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=DOMAIN_4U2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27061 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DOMAIN_4U2 URI: Domain name containing a "4u" variant Just adding to Nathan's note ... On 16/02/16 08:32, Chandana De Silva wrote: > ... > But both machines show that the the PMDA is running > > $ pcp > Performance Co-Pilot configuration on gwdb02.prod.mel.au.m4u.com.au: > > platform: Linux gwdb02.prod.mel.au.m4u.com.au 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 > hardware: 12 cpus, 3 disks, 2 nodes, 64416MB RAM > timezone: EST-11 > services: pmcd pmproxy > pmcd: Version 3.10.6-1, 4 agents, 6 clients > pmda: pmcd linux mysql mmv process[4] It is _configured_ here (probably an old or puppet-drive pmcd.conf) but it is not running here ... the [4] means the process that tried to start the PMDA has exited with an exit status of 4 ... which probably matches this in pmcd.log ... > pmcd: error starting /var/lib/pcp/pmdas/process/pmdaprocess: No such file or directory > pmcd: unexpected end-of-file at initial exchange with process PMDA From hemant@linux.vnet.ibm.com Tue Feb 16 09:14:44 2016 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 2AD877CA2 for ; Tue, 16 Feb 2016 09:14:44 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E254C8F8033 for ; Tue, 16 Feb 2016 07:14:40 -0800 (PST) X-ASG-Debug-ID: 1455635670-04bdf02d5c2a3a0001-S8gJnT Received: from e23smtp05.au.ibm.com (e23smtp05.au.ibm.com [202.81.31.147]) by cuda.sgi.com with ESMTP id zdL4m7CM8cfkgKax (version=TLSv1.2 cipher=CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 16 Feb 2016 07:14:32 -0800 (PST) X-Barracuda-Envelope-From: hemant@linux.vnet.ibm.com X-Barracuda-Apparent-Source-IP: 202.81.31.147 Received: from localhost by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 17 Feb 2016 01:14:27 +1000 Received: from d23dlp01.au.ibm.com (202.81.31.203) by e23smtp05.au.ibm.com (202.81.31.211) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 17 Feb 2016 01:14:25 +1000 X-IBM-Helo: d23dlp01.au.ibm.com X-IBM-MailFrom: hemant@linux.vnet.ibm.com X-IBM-RcptTo: pcp@oss.sgi.com Received: from d23relay07.au.ibm.com (d23relay07.au.ibm.com [9.190.26.37]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id D62882CE8046 for ; Wed, 17 Feb 2016 02:14:24 +1100 (EST) Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay07.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u1GFEGjG10093018 for ; Wed, 17 Feb 2016 02:14:24 +1100 Received: from d23av04.au.ibm.com (localhost [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u1GFDqAl004984 for ; Wed, 17 Feb 2016 02:13:52 +1100 Received: from [9.79.213.115] ([9.79.213.115]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u1GFDoti004437; Wed, 17 Feb 2016 02:13:51 +1100 Message-ID: <56C33C99.6020603@linux.vnet.ibm.com> Date: Tue, 16 Feb 2016 20:43:29 +0530 From: Hemant Kumar User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Nathan Scott CC: pcp@oss.sgi.com Subject: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events References: <1455060499-14670-1-git-send-email-hemant@linux.vnet.ibm.com> <1779243884.20121961.1455156620367.JavaMail.zimbra@redhat.com> <56BE6E0D.6050101@linux.vnet.ibm.com> <484836703.20809064.1455498547101.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [PATCH v3 1/3] perfevent_pmda: Add extension for perf derived events In-Reply-To: <484836703.20809064.1455498547101.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16021615-0017-0000-0000-000002D09A2C X-Barracuda-Connect: e23smtp05.au.ibm.com[202.81.31.147] X-Barracuda-Start-Time: 1455635671 X-Barracuda-Encrypted: CAMELLIA256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.27075 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 02/15/2016 06:39 AM, Nathan Scott wrote: > Hi Hemant, > > ----- Original Message ----- >> [...] >>> One solution might be to add a metric permanently below that point, >>> that is instantiated both with and without derived perfevent counts >>> e.g. perfevent.derived.active (mirror the existing perfevent.active) >>> - a count of #derived metrics - zero valued in the default case. >> Right. Sent a patch to add a metric perfevent.derived.active and >> that should fix the warning. >> http://www.pcp.io/pipermail/pcp/2016-February/009610.html >> >> Thanks for the suggestion! > No problem, it works nicely here and fixes the issue. I think this new > metric may need some help text though? Not sure how best to add that in > with the scheme used, so I'll leave that for you too, if thats OK? Taa. Sure, I will add a help text for this new metric too. -- Thanks, Hemant Kumar From lberk@redhat.com Tue Feb 16 09:16:42 2016 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 F35617CA2 for ; Tue, 16 Feb 2016 09:16:41 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E36848F8033 for ; Tue, 16 Feb 2016 07:16:41 -0800 (PST) X-ASG-Debug-ID: 1455635800-04cbb04333123400001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6lyQMY6NhZGzWeHj (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 07:16:40 -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 (Postfix) with ESMTPS id 2BD535A71; Tue, 16 Feb 2016 15:16:40 +0000 (UTC) Received: from toium (unused-10-15-17-233.yyz.redhat.com [10.15.17.233]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GFGdkh007452 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 16 Feb 2016 10:16:39 -0500 From: Lukas Berk To: Ken McDonell Cc: Marko Myllynen , pcp developers Subject: Re: [pcp] Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] Derived metric issues Date: Tue, 16 Feb 2016 10:16:38 -0500 In-Reply-To: <56BA4445.2030404@internode.on.net> (Ken McDonell's message of "Wed, 10 Feb 2016 06:55:49 +1100") Message-ID: <8737ssptwp.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: 1455635800 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Ken McDonell writes: [...] > So the concept of an "error" here is a bit tricky ... > - missing file or directory in the PATH-style list ... probably not an > error, should be silently ignored > - file that cannot be accessed during recursive descent ... probably > not an error > - bad metric spec in a file ... again, not sure as there may be other > valid definitions in the same file (consider a commonly used derived > metric file that is expected to work mostly work even if some of the > definitions involve metrics or PMDAs that might not be available in > the current context, especially an archive) > > This is why pmLoadDerivedConfig() returns the "will be the number of > derived metrics loaded" (from the man page) .. in your case this would > be 0. Is there any case where, after calling pmLoadDerivedConfig() a client/user would *expect* there to be zero derived metrics loaded? In each of the cases mentioned above, we avoid giving an error status where there are errors with individual or individual sets of derived metrics when being loaded within a greater set. I think that makes sense. However, if not a single derived metric is loaded, would it not make sense to try and give a more descriptive return value? Perhaps it is simply up to the client author to interpret a return value of 0 accordingly? Cheers, Lukas From amy.saunders@1bestdata.com Tue Feb 16 09:56:06 2016 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,T_DKIM_INVALID, T_FILL_THIS_FORM_SHORT 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 2C3A57CA3 for ; Tue, 16 Feb 2016 09:56:06 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1B978304039 for ; Tue, 16 Feb 2016 07:56:03 -0800 (PST) X-ASG-Debug-ID: 1455638158-04cbb04334125a90001-S8gJnT Received: from mail.1bestdata.com (mail.1bestdata.com [191.101.235.228]) by cuda.sgi.com with ESMTP id LXsKbv0IcNMbIToR for ; Tue, 16 Feb 2016 07:55:58 -0800 (PST) X-Barracuda-Envelope-From: amy.saunders@1bestdata.com X-Barracuda-Apparent-Source-IP: 191.101.235.228 Received: from AdminPC (unknown [103.227.97.220]) by mail.1bestdata.com (Postfix) with ESMTPSA id 5528E10209F for ; Tue, 16 Feb 2016 10:55:56 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.1bestdata.com 5528E10209F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=1bestdata.com; s=default; t=1455638157; bh=40G9vh5da9YjYwRB2MNX+qPf6LUV2GzpkIT9UWvdbTs=; h=From:To:Subject:Date:From; b=N0492Q715Qys7j6gFao5Ns4npx7xbcr69C7L/xmo7qxQgdfvu7W900P5dabVCQS4B Nnd25/+i+t++lXL/s9mprTQV+IDYgj58Vu6pS7x3mtj7tmNLYKp9YdrFTXrrpWt51T tt81vTKnYNeIWAWb7jMIZXK1zWDCpEdENGXZFDco= Return-Receipt-To: "Amy Saunders" From: "Amy Saunders" To: Subject: SAP Success Factor Users Date: Tue, 16 Feb 2016 07:55:52 -0800 X-ASG-Orig-Subj: SAP Success Factor Users Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_1286_01D1688F.75E5C6E0" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdFo0nuDXl+9pSklQIGtv5PYIhM4/g== Content-Language: en-us x-cr-hashedpuzzle: R4Q= zW0= AK/K AX7i Ae6y D7WM E9/7 Fn6Z G6cT HLRU Hvh4 HvwY Jc3E KOe+ KTWf Kva1;1;cABjAHAAQABvAHMAcwAuAHMAZwBpAC4AYwBvAG0A;Sosha1_v1;7;{375DC360-A159-44C9-80D2-376C68A8167B};YQBtAHkALgBzAGEAdQBuAGQAZQByAHMAQAAxAGIAZQBzAHQAZABhAHQAYQAuAGMAbwBtAA==;Tue, 16 Feb 2016 15:55:39 GMT;UwBBAFAAIABTAHUAYwBjAGUAcwBzACAARgBhAGMAdABvAHIAIABVAHMAZQByAHMA x-cr-puzzleid: {375DC360-A159-44C9-80D2-376C68A8167B} Disposition-Notification-To: "Amy Saunders" X-Barracuda-Connect: mail.1bestdata.com[191.101.235.228] X-Barracuda-Start-Time: 1455638158 X-Barracuda-URL: https://192.48.176.25:443/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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27076 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== -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 This is a multipart message in MIME format. ------=_NextPart_000_1286_01D1688F.75E5C6E0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello, I hope you are the right person to discuss regarding our SAP Sucess Factor Users Contacts details for your Marketing Initiatives like Email Marketing, Tele Marketing and Direct mailings? SAP Users: SAP Business Intelligence, SAP Enterprise Learning, SAP Portal, SAP ABAP, SAP Net weaver Application Server, SAP SCPM, SAP SUPM, SAP Knowledge Warehouse, SAP EBP and many more. Our List Includes: Company Name, Web Address, Contact Name, Verified Email, Job Title, Application Type, Complete Mailing Address, Phone Number, FAX Number, Total Employees, SIC Code, and Industry details. Other Technology Users: Oracle User, Sales Force Users, Cisco Users, Citrix Users, Avaya Users, JD Edward Users, IBM Users, Microsoft Dynamic User, CRM User, ERP Users, Sage User, Sugar CRM User and many more. Kindly provide the following details so we could get back with the counts and the pricing details. Target Technology: Title: Geography: Thanks and looking forward to hear from you! Best Regards, Amy Saunders Marketing Executive _____ If you do not wish to receive further emails kindly reply with "Leave Out" or "Unsubscribe" ------=_NextPart_000_1286_01D1688F.75E5C6E0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

 

Hello,

 <= /o:p>

I hope you are the right person to discuss regarding = our SAP Sucess Factor Users = Contacts details for your Marketing Initiatives like Email Marketing, Tele = Marketing and Direct mailings? <= /span>

 

SAP= Users: = SAP Business Intelligence, SAP = Enterprise Learning, SAP Portal, SAP ABAP, SAP Net weaver Application Server, SAP = SCPM, SAP SUPM, SAP Knowledge Warehouse, SAP EBP and many = more.

 

Our= List Includes: Company Name, Web Address, Contact Name, Verified = Email, Job Title, Application Type, Complete Mailing Address, Phone Number, FAX Number, Total Employees, SIC Code, and Industry details.

 

Oth= er Technology Users: Oracle User, Sales Force Users, Cisco = Users, Citrix Users, Avaya Users, JD Edward Users, IBM Users, Microsoft Dynamic = User, CRM User, ERP Users, Sage User, Sugar CRM User and many = more.

 

Kindly provide the following details so we could get = back with the counts and the pricing details.=

 

Tar= get Technology:

Tit= le:<= /span>

Geo= graphy:<= /span>

 

Thanks and looking forward to hear from = you!

 

Bes= t Regards,

Amy Saunders        = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            = <= /span>

Mar= keting Executive <= /span>


If you do not wish to receive further emails kindly reply with = "Leave Out" or “Unsubscribe”

 

 

------=_NextPart_000_1286_01D1688F.75E5C6E0-- From fche@redhat.com Tue Feb 16 10:47:53 2016 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 D278B7CA3 for ; Tue, 16 Feb 2016 10:47:53 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 64E99AC006 for ; Tue, 16 Feb 2016 08:47:50 -0800 (PST) X-ASG-Debug-ID: 1455641265-04cb6c1e5610aca0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id WTDgaxNH9sAelUri (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 08:47: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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id C830DC0BBE55; Tue, 16 Feb 2016 16:47:45 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GGljrB007406; Tue, 16 Feb 2016 11:47:45 -0500 Received: by fche.csb (Postfix, from userid 2569) id 3D5265863B; Tue, 16 Feb 2016 11:47:46 -0500 (EST) To: Lukas Berk Cc: Ken McDonell , pcp@oss.sgi.com Subject: Re: Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <8737ssptwp.fsf@redhat.com> X-ASG-Orig-Subj: Re: Derived metric issues From: fche@redhat.com (Frank Ch. Eigler) Date: Tue, 16 Feb 2016 11:47:46 -0500 In-Reply-To: <8737ssptwp.fsf@redhat.com> (Lukas Berk's message of "Tue, 16 Feb 2016 10:16:38 -0500") 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.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1455641266 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Lukas Berk writes: > [...] >> So the concept of an "error" here is a bit tricky ... > [...] > Perhaps it is simply up to the client author to interpret a return value > of 0 accordingly? The man page is not really helpful with that "accordingly" though: The result from pmLoadDerivedConfig will be the number of derived metrics loaded from files on the given path, else a value less than zero in the case of an error. ... because that "else" is not an "else" in the exclusive sense. We can have both errors -and- some derived metrics loaded. So first thing would be to clarify the language, so that an app author can know what she can count on. Perhaps we can say it's a best-effort load attempt, and only result codes 0...N are to be expected. (Ditch the negative error codes.) That gives the author no help as to which derived metrics were in fact loaded, but that's OK. She'll find that out soon enough when trying a pmLookup* etc. - FChE From myllynen@redhat.com Tue Feb 16 11:44:21 2016 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 D1FE07CA3 for ; Tue, 16 Feb 2016 11:44:21 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B7393304053 for ; Tue, 16 Feb 2016 09:44:18 -0800 (PST) X-ASG-Debug-ID: 1455644653-04cbb04332129840001-S8gJnT Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by cuda.sgi.com with ESMTP id y3cOYdKMBsUtbrTd (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 09:44:13 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.53 Received: by mail-wm0-f53.google.com with SMTP id a4so111559983wme.1 for ; Tue, 16 Feb 2016 09:44:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=diLudbguPEnYqG7TBFzdYQpvb918M+XVvxGolJvVqDs=; b=F3bhqfKrx17Itti9+WbR5oHm5vpWKMQRAVti2N8B2l+lO1xHv0CxcodV2FQxL2LG76 xvDJ55WID0Uc3eX9H6ZX4ffRRwUhzSAsM+yZzVuz/uUybIb4txMhi6x1Fr5VDAI59Nae 0S+zBvcjm5CSc0v1OoiXJf//1KPRVbouwR8Q5ikHhlB13mW22Vytmn+BjQG4wf5Yvj+q glvFLA4j0HyN11Mn/kiihWQGv6MS0aWpks02xtaC5Slthcx64iJ+L42kI9UvszYp1QKh wSX6Dp51sOmBpa5wbnGONzoWgwCwlelw5awHjJRfhCzWkmNqDvI7lBBsp7HHXVOwuFQM VmDA== X-Gm-Message-State: AG10YOQ+yWZbO7PToPP4GqxmzVfYvHRXQdm5aVxzJ6JUKV2OBEeFBGeWVM+U/IaksLJZI0go X-Received: by 10.194.174.197 with SMTP id bu5mr26462214wjc.23.1455644652944; Tue, 16 Feb 2016 09:44:12 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3cab:402:1fcc:a508:2? (dygyd5m4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:3cab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id ka7sm31070805wjb.8.2016.02.16.09.44.11 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 09:44:12 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] zbxpcp: add derived metrics support References: <56BAF517.4030300@redhat.com> <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] zbxpcp: add derived metrics support To: Nathan Scott Cc: pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56C35FEA.7080703@redhat.com> Date: Tue, 16 Feb 2016 19:44:10 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f53.google.com[74.125.82.53] X-Barracuda-Start-Time: 1455644653 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27077 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-11 02:00, Nathan Scott wrote: > ----- Original Message ----- >> >> Turns out adding derived metrics support to zbxpcp is trivial. >> >> Based on comments from Ken yesterday I think we can ignore errors from >> pmLoadDerivedMetrics, if the configuration file is malformed then >> messages will be logged into the zabbix-agent log file. >> >> Update the man page accordingly. The file name is quite a name monster, > > (seems OK to me - leaves no doubt in the mind of the reader as to what it > is for, anyway) > >> please feel free to adjust if you can come up with something better. >> >> A small CodingStyle fixlet included as a bonus as well. > > Looks good - warrants a tweak to qa/1067 to regression test it? Metrics with instances wouldn't work if the style fix would break things so I think we're ok in that sense but qa/1067 may need a bit of other kind of tweaking, I'm seeing: 1067 - output mismatch (see 1067.out.bad) 123,125c123,125 < pcp.sample.dynamic.counter[one] VALUE < pcp.sample.dynamic.discrete[one] VALUE < pcp.sample.dynamic.instant[one] VALUE --- > pcp.sample.dynamic.counter[1] VALUE > pcp.sample.dynamic.discrete[1] VALUE > pcp.sample.dynamic.instant[1] VALUE So the results depend on the contents of the /var/lib/pcp/pmdas/sample/dynamic.indom file (and that it actually exists, the failure is different it doesn't). Do you think it's worthwhile to keep these metrics as part of 1067? If so, how to make the test tolerant to missing / different dynamic.indom files? Thanks, -- Marko Myllynen From brolley@redhat.com Tue Feb 16 11:47:01 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id F2A537CA3 for ; Tue, 16 Feb 2016 11:47:00 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B624D8F804B for ; Tue, 16 Feb 2016 09:47:00 -0800 (PST) X-ASG-Debug-ID: 1455644819-04bdf02d5e312f0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id M8Gqj2taH1POQuTo (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 09:47:00 -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-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id BF9D67AE80 for ; Tue, 16 Feb 2016 17:46:59 +0000 (UTC) Received: from [10.10.59.19] (vpn-59-19.rdu2.redhat.com [10.10.59.19]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GHkwI3016516 for ; Tue, 16 Feb 2016 12:46:59 -0500 Message-ID: <56C3608E.9090404@redhat.com> Date: Tue, 16 Feb 2016 12:46:54 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: Multi-archive Contexts: Some PCP Tools Lost in Time Content-Type: multipart/alternative; boundary="------------030406070005030003000804" X-ASG-Orig-Subj: Multi-archive Contexts: Some PCP Tools Lost in Time 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: 1455644820 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com This is a multi-part message in MIME format. --------------030406070005030003000804 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi all, I'm in the midst of implementing the infrastructure which will allow consistency checking among the archives in a multi-archive context. As part of this, some things, like the PMNS tree and the pmid and indom hash tables (in __pmLogCtl) are better off being global to all the archives in the context. So far, so good with those changes. I'm now looking at the time indices (l_numti and l_ti within __pmLogCtl). From an internal point of view, these could easily remain local to each archive within the context, since the index records for each archive refer only to records within that same archive. In fact, I already have an implementation of __pmLogSetTime() which switches to the correct archive before attempting to use any time indices. On the other hand, using time indices which are global to the entire context might simplify things and improve performance. Some trickery would still be needed in order to associate each time index with the correct archive. Things get more complicated with the realization that a few tools directly access the time index data structures. These tools are pmlogrewrite(1), pmdumplog(1) and pmlogcheck(1). I was surprised by this, but regardless of which way we go with the time indices, the tools can be updated so as to continue working correctly. In fact, this would be a good opportunity to change these tools to at least use internal APIs rather than accessing the data structures directly. The problem lies with older versions of these tools attempting to work with a multi-archive enabled libpcp. All of these tools access the time index data structures in a way that makes both time index solutions problematic. The fact that each of these tools iterates over an array of __pmLogTI makes adding fields to that structure impossible. That can be worked around. However, each tool also has its own problems: * pmlogdump(1): This tool has an option to dump all of the time indices in the context. It expects to see all of the time indices in the context and to be able to relate each to the proper .meta and metric data file. o If we choose global time indices, older versions of this tool will incorrectly associate all time indices with the name of the current archive. o If we choose local time indices, older versions of this tool will completely miss any time indices which are not part of the current archive * pmlogcheck(1): Part of the checking is iterate overall the time indices in the current context looking for inconsistencies. o If we choose local time indices, older versions of this tool will completely miss any time indices which are not part of the current archive o If we choose global time indices + older versions of this tool will flag the non-monotonically increasing volume numbers as the volume reverts to zero for each new archive. + The tools also uses stat to examine the .meta file and the metric data files and would incorrectly only see the files associated with the current context. * pmlogrewrite(1): This tool iterates through all of the time indices in the current __pmLogCtl structure looking for a match with the current metric record. If a match is found, it writes a time index record to the output archive. This is the only one of the three for which older versions of this tool would still work properly regardless of which time index strategy we choose. So using local time indices leaves older versions of two of the tools broken by omission of results and using global time indices leaves them broken via reporting of inaccurate and misleading results. Under those conditions, I'm inclined to stick with the currently implemented local time indices. Thoughts? ideas? Dave --------------030406070005030003000804 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hi all,

I'm in the midst of implementing the infrastructure which will allow consistency checking among the archives in a multi-archive context. As part of this, some things, like the PMNS tree and the pmid and indom hash tables (in __pmLogCtl) are better off being global to all the archives in the context. So far, so good with those changes.

I'm now looking at the time indices (l_numti and l_ti within __pmLogCtl). From an internal point of view, these could easily remain local to each archive within the context, since the index records for each archive refer only to records within that same archive. In fact, I already have an implementation of __pmLogSetTime() which switches to the correct archive before attempting to use any time indices.

On the other hand, using time indices which are global to the entire context might simplify things and improve performance. Some trickery would still be needed in order to associate each time index with the correct archive.

Things get more complicated with the realization that a few tools directly access the time index data structures. These tools are pmlogrewrite(1), pmdumplog(1) and pmlogcheck(1). I was surprised by this, but regardless of which way we go with the time indices, the tools can be updated so as to continue working correctly. In fact, this would be a good opportunity to change these tools to at least use internal APIs rather than accessing the data structures directly.

The problem lies with older versions of these tools attempting to work with a multi-archive enabled libpcp. All of these tools access the time index data structures  in a way that makes both time index solutions problematic. The fact that each of these tools iterates over an array of __pmLogTI makes adding fields to that structure impossible. That can be worked around. However, each tool also has its own problems:

  • pmlogdump(1):
    This tool has an option to dump all of the time indices in the context. It expects to see all of the time indices in the context and to be able to relate each to the proper .meta and metric data file.

    • If we choose global time indices, older versions of this tool will incorrectly associate all time indices with the name of the current archive.

    • If we choose local time indices, older versions of this tool will completely miss any time indices which are not part of the current archive

  • pmlogcheck(1):
    Part of the checking is iterate overall the time indices in the current context looking for inconsistencies.

    • If we choose local time indices, older versions of this tool will completely miss any time indices which are not part of the current archive

    • If we choose global time indices
      • older versions of this tool will flag the non-monotonically increasing volume numbers as the volume reverts to zero for each new archive.

      • The tools also uses stat to examine the .meta file and the metric data files and would incorrectly only see the files associated with the current context.

  • pmlogrewrite(1):
    This tool iterates through all of the time indices in the current __pmLogCtl structure looking for a match with the current metric record. If a match is found, it writes a time index record to the output archive. This is the only one of the three for which older versions of this tool would still work properly regardless of which time index strategy we choose.

So using local time indices leaves older versions of two of the tools broken by omission of results and using global time indices leaves them broken via reporting of inaccurate and misleading results. Under those conditions, I'm inclined to stick with the currently implemented local time indices.

Thoughts? ideas?
Dave
--------------030406070005030003000804-- From fche@redhat.com Tue Feb 16 13:05:47 2016 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 5729D7CA3 for ; Tue, 16 Feb 2016 13:05:47 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4A5CA8F8049 for ; Tue, 16 Feb 2016 11:05:44 -0800 (PST) X-ASG-Debug-ID: 1455649539-04cb6c1e571108d0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id vekT4HlQZr3t55G5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 11:05: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-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id BC3E58E6EF for ; Tue, 16 Feb 2016 19:05:39 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GJ5dgn006574; Tue, 16 Feb 2016 14:05:39 -0500 Received: by fche.csb (Postfix, from userid 2569) id 408CC5863B; Tue, 16 Feb 2016 14:05:40 -0500 (EST) To: Dave Brolley Cc: PCP Mailing List Subject: Re: Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> X-ASG-Orig-Subj: Re: Multi-archive Contexts: Some PCP Tools Lost in Time From: fche@redhat.com (Frank Ch. Eigler) Date: Tue, 16 Feb 2016 14:05:40 -0500 In-Reply-To: <56C3608E.9090404@redhat.com> (Dave Brolley's message of "Tue, 16 Feb 2016 12:46:54 -0500") 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.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1455649540 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 brolley wrote: > [...] The problem lies with older versions of these tools > attempting to work with a multi-archive enabled libpcp. [...] It may not be worth overthinking this particular configuration. We can use symbol versioning tricks. For exmaple, we can disable the problematic time-index-accessing functions entirely. Or retain a pmNewContext implementation shim that rejects multi-archives / directory names but otherwise passes things through. - FChE From brolley@redhat.com Tue Feb 16 13:27:45 2016 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 ABA3D7CA3 for ; Tue, 16 Feb 2016 13:27:45 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4258DAC006 for ; Tue, 16 Feb 2016 11:27:42 -0800 (PST) X-ASG-Debug-ID: 1455650861-04bdf02d5e36330001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id jfGH0coLspg7Barm (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 11:27:41 -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 (Postfix) with ESMTPS id 2B771804E7 for ; Tue, 16 Feb 2016 19:27:41 +0000 (UTC) Received: from [10.10.59.19] (vpn-59-19.rdu2.redhat.com [10.10.59.19]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GJRe2v021131; Tue, 16 Feb 2016 14:27:40 -0500 Message-ID: <56C37828.10007@redhat.com> Date: Tue, 16 Feb 2016 14:27:36 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: "Frank Ch. Eigler" CC: PCP Mailing List Subject: Re: Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> X-ASG-Orig-Subj: Re: Multi-archive Contexts: Some PCP Tools Lost in Time In-Reply-To: Content-Type: text/plain; charset=windows-1252; 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: 1455650861 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/16/2016 02:05 PM, Frank Ch. Eigler wrote: > brolley wrote: > >> [...] The problem lies with older versions of these tools >> attempting to work with a multi-archive enabled libpcp. [...] > It may not be worth overthinking this particular configuration. We > can use symbol versioning tricks. > > For exmaple, we can disable the problematic time-index-accessing > functions entirely. Or retain a pmNewContext implementation shim that > rejects multi-archives / directory names but otherwise passes things > through. > The problem is that these tools are not using such functions. They are pawing around in the data structures directly. Dave From fche@redhat.com Tue Feb 16 13:43:50 2016 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 0966F7CA3 for ; Tue, 16 Feb 2016 13:43:50 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 902D1AC005 for ; Tue, 16 Feb 2016 11:43:49 -0800 (PST) X-ASG-Debug-ID: 1455651828-04bdf02d5c370d0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id L7QxutoBIHc5Qlnc (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 11:43: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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 6702EC0AD402 for ; Tue, 16 Feb 2016 19:43:48 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GJhm9R001206; Tue, 16 Feb 2016 14:43:48 -0500 Received: by fche.csb (Postfix, from userid 2569) id DF03E5863B; Tue, 16 Feb 2016 14:43:48 -0500 (EST) Date: Tue, 16 Feb 2016 14:43:48 -0500 From: "Frank Ch. Eigler" To: Dave Brolley Cc: PCP Mailing List Subject: Re: Multi-archive Contexts: Some PCP Tools Lost in Time Message-ID: <20160216194348.GC2398@redhat.com> X-ASG-Orig-Subj: Re: Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> <56C37828.10007@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56C37828.10007@redhat.com> User-Agent: Mutt/1.4.2.2i 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: 1455651828 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi - On Tue, Feb 16, 2016 at 02:27:36PM -0500, Dave Brolley wrote: > [...] > The problem is that these tools are not using such functions. They are > pawing around in the data structures directly. Sure, but they must have called -some- functions in order to get access to those data structures. So the idea is to investigate whether those functions might be interposed to prevent erroneous access. For example, we could disable __pmHandleToPtr() when coming in from older binaries. - FChE From myllynen@redhat.com Tue Feb 16 13:58:35 2016 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 233F47CA2 for ; Tue, 16 Feb 2016 13:58:35 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C99258F8035 for ; Tue, 16 Feb 2016 11:58:34 -0800 (PST) X-ASG-Debug-ID: 1455652710-04bdf02d5d37b70001-S8gJnT Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by cuda.sgi.com with ESMTP id xRWZz83PcFpx3pzB (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 11:58:31 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.46 Received: by mail-wm0-f46.google.com with SMTP id g62so125952683wme.1 for ; Tue, 16 Feb 2016 11:58:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=BGPcOrLzD01M7m86cuEQ+hC9U3xjexfhethZYkSFlBU=; b=APhrvMQrHZuUyMB4/yPLOivrOc571FCXeM4SZ0M2gm/ZOLfsenn1XNbDxlJnnzodrA S1AtXvZncPTlpt/VeF7zF5FFlSuFTnRzwmhg4yqCKTSVw4oO8eMTxBiW9sIXGGo7Gu5l GFF2FQBnuZLvHBWVt9rN5/rdkxOOHE8aYZV+HVTSBBKgOA4kyaewPQW//umVPvvmFLt+ lkXjNf3VNnrWDPjey67Ft6OPgtdi667gj8Yp1gAlfg04EqpCS3xNKi5l3JW7djq25wCO wdVnl8e/EQExzDAfGGAsDgyw0Sj69iuuqiuvHSuZYZ5npTNRN44TmHWFsa3BWiQEZqD3 3GNg== X-Gm-Message-State: AG10YOQCHHueG/9LYptI/BgsyIUPdJDI6lhhP1uQvXC5xFXWwQrZllgLvyEFYF67IfS2V2dG X-Received: by 10.28.179.130 with SMTP id c124mr21671043wmf.76.1455652709953; Tue, 16 Feb 2016 11:58:29 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3cab:402:1fcc:a508:2? (dygyd5m4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:3cab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id b5sm21955154wmh.15.2016.02.16.11.58.28 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 11:58:29 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] PCP Updates: mgoodwin pmrep + qa References: <56BA340C.1020300@redhat.com> <56BB0946.5040407@redhat.com> <56BBD42C.2000108@redhat.com> X-ASG-Orig-Subj: Re: [pcp] PCP Updates: mgoodwin pmrep + qa To: Mark Goodwin , pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56C37F63.5000906@redhat.com> Date: Tue, 16 Feb 2016 21:58:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BBD42C.2000108@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f46.google.com[74.125.82.46] X-Barracuda-Start-Time: 1455652710 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27082 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-11 02:22, Mark Goodwin wrote: > On 02/10/2016 08:56 PM, Marko Myllynen wrote:>> >> On 2016-02-09 20:46, Dave Brolley wrote: >>> Changes committed to git://git.pcp.io/pcp.git master >>> >>> Mark Goodwin (2): >>> pmrep: cleanup stdio on exit to avoid Exception Ignored errors >>> qa: add test 880 to check pmrep for broken pipe exceptions and >>> Exception Ignored errors >> >> I'm still seeing issues after this patch, in fact now I have issues >> also with Python 2: >> >> $ python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv >> -u -S @10:00 -x kernel.all.sysfork | head -n 1 >> # >> zsh: broken pipe python3 /tmp/pcp/bin/pmrep --archive >> $here/archives/20130706 -o csv -u -S -x | >> zsh: done head -n 1 >> $ python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv >> -u -S @10:00 -x kernel.all.sysfork | head -n 1 >> # >> zsh: broken pipe python2 /tmp/pcp/bin/pmrep --archive >> $here/archives/20130706 -o csv -u -S -x | >> zsh: done head -n 1 >> $ >> >> This is on RHEL 7 (Python 2.7 and Python 3.3 in use). The reason why >> I'm so inclined to have this fixed shows above, with PRINT_EXIT_VALUE >> Zsh prints some ugly diagnostics. > > Isn't zsh's PRINT_EXIT_VALUE doing just that here - printing that there was > a broken pipe for pmrep (for which the signal was ignored via SIG_DFL), > and that 'head' exited normally? Zsh is doing the right thing of course but I see this as a QoI issue: $ echo foo > foo.txt $ ls -1 / | head -n 1 bin $ ps -ef | head -n 1 UID PID PPID C STIME TTY TIME CMD $ cat foo.txt | head -n 1 foo $ grep foo foo.txt | head -n 1 foo $ pmval -s 1 kernel.all.sysfork | head -n 1 $ pmprobe -v kernel.all.sysfork | head -n 0 $ pminfo -dfmtT kernel.all.sysfork | head -n 1 $ pmdumptext -s 1 kernel.all.sysfork | head -n 1 Tue Feb 16 12:34:56 ? $ pmrep -s 1 kernel.all.sysfork | head -n 1 k.a.sysfork $ python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python3 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | zsh: done head -n 1 $ python3 /tmp/pcp/bin/pmiostat -s 3 | head -n 1 # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await %util $ python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S @10:00 -x kernel.all.sysfork | head -n 1 # zsh: broken pipe python2 /tmp/pcp/bin/pmrep --archive $here/archives/20130706 -o csv -u -S -x | zsh: done head -n 1 $ python2 /tmp/pcp/bin/pmiostat -s 3 | head -n 1 # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await %util $ (pmiostat also fails with -n 0 so I think -n 1 is more reasonable test.) >> Does this work for everyone else or can this be a local hickup? I >> already tried using SIG_IGN instead of SIG_DFL etc to no avail. > > I'll check on rhel7 - I've only been testing on f23 with py2 and py3. > But basically - python installs a sigpipe handler to raise an exception > on broken pipe. We trapped this in pmiostat to ignore the socket.error > exception, but I think the better solution is to restore the SIGPIPE > SIG_DFL > handler from glibc, which is what pmrep is now doing - this avoids the > python exception and ignores SIGPIPE by default. Not sure why SIG_IGN > didn't work though. Anyway - so I'll change pmiostat to SIG_DFL SIGPIPE > too unless anyone has a better idea? The below patch cures all the cases for me, makes the code a bit easier to read (IMHO), and still passes QA/880. The key difference is that we don't touch stderr in finalize() at all, in a standalone test program it works ok but errors out in pmrep although we don't do anything with stderr in pmrep (so perhaps we're hitting some corner case of the Python wrapper or libpcp itself). But since we now always flush stderr when we write something into it I don't see a need to flush it again in finalize(). Also flushes the output file a bit harder (as per os.html). --- src/pmrep/pmrep.py | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index 25d4812..9e2c233 100755 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -53,8 +53,8 @@ try: except: import simplejson as json import socket -import signal import struct +import errno import time import copy import sys @@ -66,8 +66,6 @@ from cpmapi import PM_CONTEXT_ARCHIVE, PM_CONTEXT_HOST, PM_CONTEXT_LOCAL, PM_MOD from cpmapi import PM_TYPE_32, PM_TYPE_U32, PM_TYPE_64, PM_TYPE_U64, PM_TYPE_FLOAT, PM_TYPE_DOUBLE, PM_TYPE_STRING from cpmi import PMI_ERR_DUPINSTNAME -signal.signal(signal.SIGPIPE, signal.SIG_DFL) - if sys.version_info[0] >= 3: long = int @@ -151,10 +149,12 @@ def send_to_zabbix(metrics, zabbix_host, zabbix_port, timeout=15): # debug: write('Got response from Zabbix: %s' % resp) if resp.get('response') != 'success': sys.stderr.write('Error response from Zabbix: %s', resp) + sys.stderr.flush() return False return True except socket.timeout as err: sys.stderr.write("Zabbix connection timed out: " + str(err)) + sys.stderr.flush() return False finally: zabbix.close() @@ -1345,26 +1345,18 @@ class PMReporter(object): def finalize(self): """ Finalize and clean up """ - try: - if self.writer: + if self.writer: + try: self.writer.flush() - if self.writer != sys.stdout: - self.writer.close() - self.writer = None - if self.pmi: - self.pmi.pmiEnd() - self.pmi = None - finally: - try: - sys.stdout.flush() - finally: - try: - sys.stdout.close() - finally: - try: - sys.stderr.flush() - finally: - sys.stderr.close() + except BrokenPipeError: + pass + if self.writer != sys.stdout: + os.fsync(self.writer.fileno()) + self.writer.close() + self.writer = None + if self.pmi: + self.pmi.pmiEnd() + self.pmi = None if __name__ == '__main__': try: @@ -1382,7 +1374,8 @@ if __name__ == '__main__': except pmapi.pmUsageErr as usage: usage.message() except IOError as error: - sys.stderr.write("%s\n" % str(error)) + if error.errno != errno.EPIPE: + sys.stderr.write("%s\n" % str(error)) except KeyboardInterrupt: sys.stdout.write("\n") P.finalize() Thanks, -- Marko Myllynen From myllynen@redhat.com Tue Feb 16 14:08:48 2016 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 875E67CA2 for ; Tue, 16 Feb 2016 14:08:48 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id F2F12AC005 for ; Tue, 16 Feb 2016 12:08:44 -0800 (PST) X-ASG-Debug-ID: 1455653318-04cbb04332130db0001-S8gJnT Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by cuda.sgi.com with ESMTP id 5EwcS6MaIpZDByfS (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 12:08:39 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.44 Received: by mail-wm0-f44.google.com with SMTP id b205so126287194wmb.1 for ; Tue, 16 Feb 2016 12:08:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=KTKG9QjRg4+5UvAS3p1UdluyHv/xUoMGPvdzi9uwc94=; b=hdoW4Ocr91iwmrUPv+zxI3JLD6DGd9+FeGs+CtS7LJmb/ImZSYqogWRmcb7ssbasLd GPSLjIBcJqvZn7hzf9gfcLAGWTGURf8/kiT96/dF/kVaCWDg6wFstWZGNJQw5pZDHmRW F0U/R7c99O9b+QVqwTY9v0UOU8BF8+kKUqij6r3DT3u/Ram/m007dNXCNz9Lm43kwwbr c5z1gRWD1+utLnCgsyJ5YQ4sNhtWk8npoKLtzhvBN/ZvdErkXt1fDS2qUtKjUGtQ1kRY 8mHjBj1zzY7OnBcV/Vh7HfgBta1Ou0dmD+tlETZ9lUCLyNcBdBqLSbt6v0bEXUnIJXIs yoSg== X-Gm-Message-State: AG10YORajt0T1YHr6U/iL23aoDVaHV4RhiSjuo4OpZ4/o4xFcC6t4sNlyEIw6AGuGWQhn0me X-Received: by 10.28.224.87 with SMTP id x84mr22259874wmg.32.1455653318172; Tue, 16 Feb 2016 12:08:38 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3cab:402:1fcc:a508:2? (dygyd5m4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:3cab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id t8sm30389887wjy.41.2016.02.16.12.08.37 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 12:08:37 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: pmrep error on RHEL6.4 / python2.66 References: <56BC2729.2060301@redhat.com> X-ASG-Orig-Subj: Re: pmrep error on RHEL6.4 / python2.66 To: Mark Goodwin Cc: pcp From: Marko Myllynen Organization: Red Hat Message-ID: <56C381C3.9050604@redhat.com> Date: Tue, 16 Feb 2016 22:08:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BC2729.2060301@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f44.google.com[74.125.82.44] X-Barracuda-Start-Time: 1455653319 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27082 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi Mark, On 2016-02-11 08:16, Mark Goodwin wrote: > > [mgoodwin@rhel64 pcp]$ pmrep --archive qa/archives/20130706 -o csv -u -S > @10:00 -x kernel.all.sysfork > Traceback (most recent call last): > File "/usr/bin/pmrep", line 45, in > from collections import OrderedDict > ImportError: cannot import name OrderedDict > [mgoodwin@rhel64 pcp]$ python -V > Python 2.6.6 > [mgoodwin@rhel64 pcp]$ cat /etc/redhat-release > Red Hat Enterprise Linux Server release 6.4 (Santiago) > > This seems to be a common and known issue on such old python versions - > is it worth doing something about it? It depends - RHEL 6's Python 2.6 gained OrderedDict in RHEL 6.5: https://bugzilla.redhat.com/show_bug.cgi?id=929258 (RH internal BZ) RHEL 6.4 is not supported for anyone else than RHEL AUS customers: https://access.redhat.com/support/policy/updates/errata/ https://access.redhat.com/solutions/759663 On latest RHEL (6.7) and RHEL EUS (6.6) OrderedDict is available. So if we're adjusting things for RHEL 6 I think perhaps we could check whether OrderedDict is available but disabling pmrep altogether sounds a step too far IMHO. Thanks, -- Marko Myllynen From myllynen@redhat.com Tue Feb 16 14:27:57 2016 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 825EC7CA2 for ; Tue, 16 Feb 2016 14:27:57 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 74CB38F8035 for ; Tue, 16 Feb 2016 12:27:54 -0800 (PST) X-ASG-Debug-ID: 1455654471-04cb6c1e56114fe0001-S8gJnT Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by cuda.sgi.com with ESMTP id G0EUYBbVy2prRWYF (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 12:27:52 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.43 Received: by mail-wm0-f43.google.com with SMTP id g62so127115290wme.1 for ; Tue, 16 Feb 2016 12:27:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=O9Nzzwg/JtOOMr4U5TkxbEEKI72aleJu4yRnBCqLuKY=; b=AkIezxCIyvCY7e1zgRUgDMhb03DieG/xIjlCMQ7p+KvNRI76f1bDqTk/OzS4ZiqN7O BXiivY4Gp2ZbDPyfERlzcdzExKnHPd9kicWXnxMa0qkrAl9ApGkFq64RZw96ywlWflFw ydjaC9ff5M1OIItEIB4ZaLyiohcv4T9GEwSGkzRmbm9yQzXOy6XWh0yhvkTtIS0AOXDx UjfXVHGI9kq+A+DId9lrjjf8eQld11b8eGfMci8i0dXCT0XFlQIevD7oIaJ1xCzbGUh9 oFtEtt4TrzC6hH6Jn3lTwjmnyzF/zab8zIXZhmDcw7P4kTVdnSBQn+1aFDxKFgJMAsr+ Hdfw== X-Gm-Message-State: AG10YOR755De91O+DPtAf1b/Dncy9Ydid/Mo3Z7dLU7DsEGGJ1iYosFpKiZYrP9kp7AjIh2r X-Received: by 10.28.227.213 with SMTP id a204mr22191758wmh.2.1455654471380; Tue, 16 Feb 2016 12:27:51 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3cab:402:1fcc:a508:2? (dygyd5m4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:3cab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id x66sm22107103wmb.20.2016.02.16.12.27.50 for (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 12:27:50 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmrep: adjust exit codes Organization: Red Hat X-ASG-Orig-Subj: pmrep: adjust exit codes Message-ID: <56C38645.2030907@redhat.com> Date: Tue, 16 Feb 2016 22:27:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f43.google.com[74.125.82.43] X-Barracuda-Start-Time: 1455654472 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.27082 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, Some pmrep error exit codes didn't match native PCP tools nor standard GNU utilities, adjust the few cases accordingly. --- src/pmrep/pmrep.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index 169ba7c..fd3d0ee 100755 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -1371,11 +1371,14 @@ if __name__ == '__main__': except pmapi.pmErr as error: sys.stderr.write('%s: %s\n' % (error.progname(), error.message())) + sys.exit(1) except pmapi.pmUsageErr as usage: usage.message() + sys.exit(1) except IOError as error: if error.errno != errno.EPIPE: sys.stderr.write("%s\n" % str(error)) + sys.exit(1) except KeyboardInterrupt: sys.stdout.write("\n") P.finalize() Thanks, -- Marko Myllynen From kenj@internode.on.net Tue Feb 16 15:34:27 2016 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 05A747CA2 for ; Tue, 16 Feb 2016 15:34:27 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 81CEAAC005 for ; Tue, 16 Feb 2016 13:34:23 -0800 (PST) X-ASG-Debug-ID: 1455658456-04cb6c1e58117e60001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id TbKjapWiRNj6nRX5 for ; Tue, 16 Feb 2016 13:34:17 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CKAgCUlMNWPFBJ0XYNUYtbrDKJFYYNAoILAQEBAQEBBwEBAQFBhQEBAQQ4QBELIRYPCQMCAQIBMRQTCAEBFbMvkAEBAQgCAR2KRoR+g24BBJZ/nEyOQIRZiTIBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 17 Feb 2016 08:03:36 +1030 Subject: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> <56C37828.10007@redhat.com> <20160216194348.GC2398@redhat.com> From: Ken McDonell Message-ID: <56C395AF.1030306@internode.on.net> Date: Wed, 17 Feb 2016 08:33:35 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160216194348.GC2398@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455658456 X-Barracuda-URL: https://192.48.176.15:443/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.27083 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Whoa ... hold on ... I think all of - pmlogdump - pmlogcheck - pmlogrewrite should / could be constrained to operate on a single archive at a time. They are all "special" tools for munging with _an_ archive, and as such could be embargoed from the "operate on a directory of archives" rules of engagement. By design (and of need) they probe around and below the PMAPI. Would that make life easier? From nscott@redhat.com Tue Feb 16 16:42:47 2016 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 E28517CA2 for ; Tue, 16 Feb 2016 16:42:47 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C23028F8035 for ; Tue, 16 Feb 2016 14:42:44 -0800 (PST) X-ASG-Debug-ID: 1455662558-04bdf02d5e425d0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id igZJV0PfBglfsG7r (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 14:42:38 -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 u1GMgcaB037929; Tue, 16 Feb 2016 17:42:38 -0500 Date: Tue, 16 Feb 2016 17:42:37 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen , Mark Goodwin Cc: pcp Message-ID: <2070905202.21415902.1455662557880.JavaMail.zimbra@redhat.com> In-Reply-To: <56C381C3.9050604@redhat.com> References: <56BC2729.2060301@redhat.com> <56C381C3.9050604@redhat.com> Subject: Re: [pcp] pmrep error on RHEL6.4 / python2.66 MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmrep error on RHEL6.4 / python2.66 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.73] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmrep error on RHEL6.4 / python2.66 Thread-Index: G6bDtKZHTsJpsMpezJfFhakWcnX1fA== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455662558 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27084 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > [...] > > > > This seems to be a common and known issue on such old python versions - > > is it worth doing something about it? (yes, definitely) > It depends - RHEL 6's Python 2.6 gained OrderedDict in RHEL 6.5: > PCP runs on many other platforms though, and it would be best to have pmrep available on all supported platforms (incl. EPEL5, but also many other non- Red Hat Linux distros, not to mention Mac OS X, *BSD and so on). > So if we're adjusting things for RHEL 6 I think perhaps we could > check whether OrderedDict is available but disabling pmrep altogether > sounds a step too far IMHO. Can we rearrange the code to not use an OrderedDict? (e.g switch to a regular dict, and arrange to have metrics sorted before displaying? - there is lots of other (needed?) use of OrderedDict's though so I'm not sure its that simple. cheers. -- Nathan From nscott@redhat.com Tue Feb 16 16:51:03 2016 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 404B97CA2 for ; Tue, 16 Feb 2016 16:51:03 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0E44F8F8035 for ; Tue, 16 Feb 2016 14:51:02 -0800 (PST) X-ASG-Debug-ID: 1455663060-04cbb043331372b0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id qIKRXPYKjQeyUwAW (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 14:51:01 -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 u1GMp0Mc038388; Tue, 16 Feb 2016 17:51:00 -0500 Date: Tue, 16 Feb 2016 17:51:00 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <1756331291.21417357.1455663060401.JavaMail.zimbra@redhat.com> In-Reply-To: <56C35FEA.7080703@redhat.com> References: <56BAF517.4030300@redhat.com> <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> <56C35FEA.7080703@redhat.com> Subject: Re: [pcp] zbxpcp: add derived metrics support MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] zbxpcp: add derived metrics support Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.73] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: zbxpcp: add derived metrics support Thread-Index: XeQjntP0syxfr33ROto+Yckw73VWEg== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455663061 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27085 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > [...] > > Looks good - warrants a tweak to qa/1067 to regression test it? > > Metrics with instances wouldn't work if the style fix would break things > so I think we're ok in that sense Oh, I meant for the derived metric config support, not the style fix up. Such a simple change, maybe its borderline - but it might be good to have a regression check that if the file name (monster) is in place, and has a valid (or invalid) content, then good stuff (or appropriate error) happens. Up to you, its simple stuff - lemme know if you think its worth it; if not I think we can just push in that pmLoadDerivedConfig patch as-is. > but qa/1067 may need a bit of other > kind of tweaking, I'm seeing: > [...] > So the results depend on the contents of the > /var/lib/pcp/pmdas/sample/dynamic.indom file (and that it actually Aha, this is a failure in the test - it should be controlling that config file like test qa/535 does (although there are newer test helper APIs now). > exists, the failure is different it doesn't). Do you think it's > worthwhile to keep these metrics as part of 1067? If so, how to make the > test tolerant to missing / different dynamic.indom files? I've pushed in a fix to use _save_config() and _restore_config() routines, could you double-check that for me & make a call re above test case? Thanks Marko. -- Nathan From nscott@redhat.com Tue Feb 16 16:56:22 2016 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 84D717CA2 for ; Tue, 16 Feb 2016 16:56:22 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id CE30AAC005 for ; Tue, 16 Feb 2016 14:56:21 -0800 (PST) X-ASG-Debug-ID: 1455663376-04cbb043311373f0001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id v290OmGAuq3kmQdL (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 16 Feb 2016 14:56: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 u1GMuGT1018621 for ; Tue, 16 Feb 2016 17:56:16 -0500 Date: Tue, 16 Feb 2016 17:56:16 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp@oss.sgi.com Message-ID: <516564274.21417783.1455663376580.JavaMail.zimbra@redhat.com> In-Reply-To: <156174111.21417685.1455663330640.JavaMail.zimbra@redhat.com> Subject: pcp updates: pmdaoracle, pmsocks, pmrep, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: pmdaoracle, pmsocks, pmrep, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.73] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: pmdaoracle, pmsocks, pmrep, qa Thread-Index: LxmAPSp0sdTVLvSRcoT5uuGtn5MWcA== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455663377 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27085 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 master Nathan Scott (5): pmsocks: use the wrapper script from the tsocks package qa: fix check for requests module for active python version pmdaoracle: improve error handling on disconnect/reconnect pmdaoracle: use direct splice over indirect array copy/remap qa: make qa/1067 control sample.dynamic instance domain, deterministic output Marko Myllynen (3): pmrep: fix whitespace oddity found by pylint pmrep: further work on pmrep signal handling warnings pmrep: adjust exit codes qa/1067 | 14 + qa/common.webapi | 2 src/pmdas/oracle/pmdaoracle.pl | 460 +++++++++++++++++++---------------------- src/pmrep/pmrep.py | 52 ++-- src/pmsocks/GNUmakefile | 3 src/pmsocks/pmsocks.sh | 34 +++ src/pmsocks/tsocks.sh | 56 ---- 7 files changed, 290 insertions(+), 331 deletions(-) commit 3baeeeaaffa32c924d0585be790478dbb711c1be Author: Marko Myllynen Date: Wed Feb 17 09:48:47 2016 +1100 pmrep: adjust exit codes Some pmrep error exit codes didn't match native PCP tools nor standard GNU utilities, adjust the few cases accordingly. commit 2528c4ae6d8a541fb2df4f2fea5df9876b2d3a13 Author: Marko Myllynen Date: Wed Feb 17 09:47:43 2016 +1100 pmrep: further work on pmrep signal handling warnings This update cures all the cases for me, makes the code a bit easier to read (IMHO), and still passes QA/880. The key difference is that we don't touch stderr in finalize() at all, in a standalone test program it works ok but errors out in pmrep although we don't do anything with stderr in pmrep (so perhaps we're hitting some corner case of the Python wrapper or libpcp itself). But since we now always flush stderr when we write something into it I don't see a need to flush it again in finalize(). Also flushes the output file a bit harder (as per os.html). commit fa92b6d8f3c77a6df90ade1c6f9bcb9c6d0d314c Author: Nathan Scott Date: Wed Feb 17 09:24:51 2016 +1100 qa: make qa/1067 control sample.dynamic instance domain, deterministic output commit e9856d4c310c669cb1f7faad1a7e18fbeb86fbc1 Author: Marko Myllynen Date: Wed Feb 17 09:02:02 2016 +1100 pmrep: fix whitespace oddity found by pylint commit c9067a7a667f4bf4d6ef41e7f6919d33b1f8a1c9 Author: Nathan Scott Date: Tue Feb 16 15:38:46 2016 +1100 pmdaoracle: use direct splice over indirect array copy/remap Reduces the memory footprint and simplifies the code. commit 24bfdeb13376ef1f1810b0c4c7f3c7aaf9b3a93f Author: Nathan Scott Date: Tue Feb 16 14:12:11 2016 +1100 pmdaoracle: improve error handling on disconnect/reconnect commit 1df16791e9f14b2777b34f377a96958b48889feb Author: Nathan Scott Date: Tue Feb 16 11:51:37 2016 +1100 qa: fix check for requests module for active python version commit 033c19eb146d2141f91426a5296df0168848fff7 Author: Nathan Scott Date: Tue Feb 16 11:44:45 2016 +1100 pmsocks: use the wrapper script from the tsocks package From fche@redhat.com Tue Feb 16 16:59:47 2016 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 EC4AE7CA2 for ; Tue, 16 Feb 2016 16:59:46 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id AF1E08F8049 for ; Tue, 16 Feb 2016 14:59:46 -0800 (PST) X-ASG-Debug-ID: 1455663585-04cbb04333137670001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id VprUHpzq6M1KuPJW (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 16 Feb 2016 14:59:45 -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 (Postfix) with ESMTPS id 162114AD67; Tue, 16 Feb 2016 22:59:45 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1GMxis0030626; Tue, 16 Feb 2016 17:59:44 -0500 Received: by fche.csb (Postfix, from userid 2569) id 84A315863B; Tue, 16 Feb 2016 17:59:45 -0500 (EST) To: Ken McDonell Cc: pcp@oss.sgi.com Subject: Re: Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> <56C37828.10007@redhat.com> <20160216194348.GC2398@redhat.com> <56C395AF.1030306@internode.on.net> X-ASG-Orig-Subj: Re: Multi-archive Contexts: Some PCP Tools Lost in Time From: fche@redhat.com (Frank Ch. Eigler) Date: Tue, 16 Feb 2016 17:59:45 -0500 In-Reply-To: <56C395AF.1030306@internode.on.net> (Ken McDonell's message of "Wed, 17 Feb 2016 08:33:35 +1100") 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.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1455663585 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 kenj wrote: > [...] > I think all of > - pmlogdump > - pmlogcheck > - pmlogrewrite > should / could be constrained to operate on a single archive at a time. > [...] (Yeah, maybe.) > Would that make life easier? Not sure; I'll defer to brolley for the more definitive word. But from first principles, one problem here is that the libpcp ABI includes -some- data structure definitions, like _pmContext and its connected bits. Old binaries that traverse those data structures were compiled against a previous , and could crash or whatever if run against libpcp.so that has the changes -- whether or not they happen to be operating on a multi-archive. It sounds likely that the apps that rely on impl.h internals (why is that file installed anyway?) may be the same ones that that we can detect & disable with a symbol-versioning hack such as a dummy __pmHandleToPtr() { return 0; } function. - FChE From tdm@sgi.com Tue Feb 16 17:03:53 2016 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 5ABBB7CA2 for ; Tue, 16 Feb 2016 17:03:53 -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 32EE38F8035; Tue, 16 Feb 2016 15:03:50 -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 024CA7000103; Tue, 16 Feb 2016 17:03:49 -0600 (CST) Message-ID: <56C3AAD5.3080507@sgi.com> Date: Tue, 16 Feb 2016 17:03:49 -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, Nathan Scott Subject: Re: oss.sgi.com - maintenance Wed Feb 17 09:00 CT USA References: <56BE64E7.6030906@sgi.com> In-Reply-To: <56BE64E7.6030906@sgi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 02/12/2016 05:04 PM, Troy McCorkell wrote: > oss.sgi.com will be down for approximately 30 minutes starting at > Wed Feb 17 09:00 CT USA for maintenance. Sending an additional reminder. From myllynen@redhat.com Wed Feb 17 00:48:57 2016 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 A31F07CA2 for ; Wed, 17 Feb 2016 00:48:57 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 92AB98F8033 for ; Tue, 16 Feb 2016 22:48:54 -0800 (PST) X-ASG-Debug-ID: 1455691727-04cb6c1e5712b390001-S8gJnT Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by cuda.sgi.com with ESMTP id Y2jTRd7hcDH4qGSQ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 22:48:48 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.45 Received: by mail-wm0-f45.google.com with SMTP id g62so13406885wme.0 for ; Tue, 16 Feb 2016 22:48:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=Wj9Q5asCVplPOg5EU9ty4PV5KYvK8d/SaBr9yZC6n9U=; b=gw6O4IAQYzFWnykAmod996r+w+r0ZCjrb9mdvxMPKzaQTnIQyn0MsYdZOrZSJMZeq2 +aI/F8zXNz/VGunJ+XLQ8lJtO4P9WI6e4UCd/y62VkEXmBjLqV23q5eKSiQAnAmzN5nI G7tz2QfBgInIFI3aHiklg04gpkUpQc9peOJ+WFxC+gkrgR44nw5R6L5DU7l7MnbCXEMJ XvBioxTiXZsKFzFSP87/fBMeq50pjjnnWToUbnSonV4EfKkYfIOHY5XwtLH7AeQXlKOM 8Qocpcioj9pF1vfL5ipPKK28/UtIHAOOx+rt0Cjr+T4s/TsK7+x1p8arxadsgMMqjiAb hyGA== X-Gm-Message-State: AG10YORTt0OLaE3zcxru3I/lKtRTgi+/E9ybh/7P/UVgFJNJHvtAYlr98aF4gnbhwdeG+dp6 X-Received: by 10.28.226.212 with SMTP id z203mr23720123wmg.78.1455691727622; Tue, 16 Feb 2016 22:48:47 -0800 (PST) Received: from ?IPv6:2001:14bb:140:32ab:402:1fcc:a508:2? (dygydgm4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:32ab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id gb9sm33524836wjb.26.2016.02.16.22.48.46 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 22:48:46 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] pmrep error on RHEL6.4 / python2.66 References: <56BC2729.2060301@redhat.com> <56C381C3.9050604@redhat.com> <2070905202.21415902.1455662557880.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] pmrep error on RHEL6.4 / python2.66 To: Nathan Scott , Mark Goodwin Cc: pcp From: Marko Myllynen Organization: Red Hat Message-ID: <56C417CC.60107@redhat.com> Date: Wed, 17 Feb 2016 08:48:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <2070905202.21415902.1455662557880.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f45.google.com[74.125.82.45] X-Barracuda-Start-Time: 1455691728 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-17 00:42, Nathan Scott wrote: > ----- Original Message ----- >> [...] >>> >>> This seems to be a common and known issue on such old python versions - >>> is it worth doing something about it? > > (yes, definitely) > >> It depends - RHEL 6's Python 2.6 gained OrderedDict in RHEL 6.5: > > PCP runs on many other platforms though, and it would be best to have pmrep > available on all supported platforms (incl. EPEL5, but also many other non- > Red Hat Linux distros, not to mention Mac OS X, *BSD and so on). Supporting different distributions is entirely different thing than supporting unsupported OS releases. >> So if we're adjusting things for RHEL 6 I think perhaps we could >> check whether OrderedDict is available but disabling pmrep altogether >> sounds a step too far IMHO. > > Can we rearrange the code to not use an OrderedDict? (e.g switch to a > regular dict, and arrange to have metrics sorted before displaying? - > there is lots of other (needed?) use of OrderedDict's though so I'm not > sure its that simple. I'd rather put the effort into taking pmfg into use, that should also increase overall readability and performance. I'll probably look into that once the QA tests are a bit more complete. Thanks, -- Marko Myllynen From myllynen@redhat.com Wed Feb 17 00:49:18 2016 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 21F347CA2 for ; Wed, 17 Feb 2016 00:49:18 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 10D7A8F8035 for ; Tue, 16 Feb 2016 22:49:18 -0800 (PST) X-ASG-Debug-ID: 1455691755-04cb6c1e5812b3c0001-S8gJnT Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by cuda.sgi.com with ESMTP id 6jeYxipE5wLqLTHj (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 22:49:16 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.47 Received: by mail-wm0-f47.google.com with SMTP id c200so197021842wme.0 for ; Tue, 16 Feb 2016 22:49:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=l0Qud7QlBoZDbHzwia4KitmjJqiBILJ0FmYKqlgXScY=; b=VeWRnT497cdleEQnp9H5ot78x/kSw5ExfzPUN/uNV2FtEf7HjDdzWMibGaG37Y24Ow xz6YktCoQY1tA8oy7JRv5xgJ47VYc2EpL+SwZXLhQhusZyOUp1gQIYA+dmJeU+K9Uqij vIKVJi4Hy6dhXEvB44JPYl0/aVI1yN0kQbsERTs9H9aXAhGVsFUyiqNo51S1kNUYWxyT fsow5tWu/har6B6LRODXhcRHUoQLwDzjr3qDM1da9H71lgr5ZJ4ODqTIOKWFio4Gqh/c hthvUFoRMiYkBPw0Lo9ZxOumnoRB9fcnvcfVIdR5O3iQkM1+wZcaj7leS+ls477lrjJU t4CA== X-Gm-Message-State: AG10YOQ0v/FtsqI/zjx/Zok2pyVPmJ/2e4c6ElXwZjpX5WJPRJnQKm/OxNu/XbSpZ4CCyg2k X-Received: by 10.28.222.68 with SMTP id v65mr1639545wmg.66.1455691755399; Tue, 16 Feb 2016 22:49:15 -0800 (PST) Received: from ?IPv6:2001:14bb:140:32ab:402:1fcc:a508:2? (dygydgm4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:32ab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id e19sm23916723wmd.1.2016.02.16.22.49.14 for (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 22:49:14 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time References: <56C3608E.9090404@redhat.com> <56C37828.10007@redhat.com> <20160216194348.GC2398@redhat.com> <56C395AF.1030306@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time To: pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56C417E9.4000107@redhat.com> Date: Wed, 17 Feb 2016 08:49:13 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f47.google.com[74.125.82.47] X-Barracuda-Start-Time: 1455691756 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.27096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On 2016-02-17 00:59, Frank Ch. Eigler wrote: > kenj wrote: >> [...] >> I think all of >> - pmlogdump >> - pmlogcheck >> - pmlogrewrite >> should / could be constrained to operate on a single archive at a time. >> [...] > > (Yeah, maybe.) > >> Would that make life easier? > > Not sure; I'll defer to brolley for the more definitive word. But > from first principles, one problem here is that the libpcp ABI > includes -some- data structure definitions, like _pmContext and its > connected bits. Old binaries that traverse those data structures were > compiled against a previous , and could crash or whatever if > run against libpcp.so that has the changes -- whether or not they > happen to be operating on a multi-archive. > > It sounds likely that the apps that rely on impl.h internals (why is > that file installed anyway?) may be the same ones that that we can > detect & disable with a symbol-versioning hack such as a dummy > __pmHandleToPtr() { return 0; } function. Is symbol versioning available on all supported platforms? Thanks, -- Marko Myllynen From bugzilla@redhat.com Wed Feb 17 00:52:57 2016 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 C67957CA2 for ; Wed, 17 Feb 2016 00:52:57 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4F506AC006 for ; Tue, 16 Feb 2016 22:52:57 -0800 (PST) X-ASG-Debug-ID: 1455691968-04cbb0433414a770001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id 5vNQOlkfXzTFOl6X (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 22:52:50 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aVvyc-0005FO-MU for ; Wed, 17 Feb 2016 17:52:47 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1H6qXK8026333 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Feb 2016 01:52:33 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1H6qXEK022009 for ; Wed, 17 Feb 2016 01:52:33 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1H6qX11022008; Wed, 17 Feb 2016 01:52:33 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1309190] New: PCP -S can't be used in live mode Date: Wed, 17 Feb 2016 06:52:31 +0000 X-ASG-Orig-Subj: [Bug 1309190] New: PCP -S can't be used in live mode Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: myllynen@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: bug_id short_desc product version component assigned_to reporter qa_contact cc X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1455691969 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1309190 Bug ID: 1309190 Summary: PCP -S can't be used in live mode Product: Fedora Version: 23 Component: pcp Assignee: nathans@redhat.com Reporter: myllynen@redhat.com QA Contact: extras-qa@fedoraproject.org CC: brolley@redhat.com, fche@redhat.com, lberk@redhat.com, mgoodwin@redhat.com, nathans@redhat.com, pcp@kenj.com.au, scox@redhat.com Description of problem: >From PCPIntro(1): -S starttime By default the time window commences immediately in real-t= ime mode, or coincides with time at the start of the PCP archive = log in archive mode. The -S option may be used to specify a la= ter time for the start of the time window. interval To specify an offset from the current time (in real-t= ime mode) or the beginning of a PCP archive (in archive mo= de) simply specify the interval of time as the argument. = For example -S 30min will set the start of the time window= to be exactly 30 minutes from now in real-time mode,= or exactly 30 minutes from the start of a PCP archive. But: $ pmval -S 1m kernel.all.sysfork pmval: time window options are supported for archives only Usage: pmval [options] metricname ... So the man page and the libpcp code are not in sync. --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DHvvtOJs= kjY&a=3Dcc_unsubscribe= From myllynen@redhat.com Wed Feb 17 00:56:43 2016 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 CBFD47CA2 for ; Wed, 17 Feb 2016 00:56:43 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 511F5AC001 for ; Tue, 16 Feb 2016 22:56:43 -0800 (PST) X-ASG-Debug-ID: 1455692200-04cbb0433414aba0001-S8gJnT Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by cuda.sgi.com with ESMTP id gOoGRYN6QXGfEVey (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 16 Feb 2016 22:56:41 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.45 Received: by mail-wm0-f45.google.com with SMTP id b205so141757744wmb.1 for ; Tue, 16 Feb 2016 22:56:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=+8TPQVljdIJrUuL6gA9EigHeL3JJEc/EhYNaka16H+I=; b=AlbdW3Tx9y+RbAHySVEzDqJT5cN5dmtn8GuXNTL6Q477afxnQEDUUX89+191l13zIz l9xT85B3ka7HjqqN0rMyFpx6uGJ1lanKG/JQDb0Fjynalzw81u7Krfn8oLtLpk8bNYH9 vfyYmOAVo2IUWyZS3wZlmylOt/mjjc8h0PaqxLjQNtudoY8hZBDQk5ZN9vPZQCQWOKHA wbWQjL37DWrfAhUhHYgKYp2gsiDQ1+vVKG2YhbL4MqivrKYCIj0cNnMe3JwRH7jaO0H/ 5zmZvXbzPVqOf4bkiH3bFMtyNcOWpyn1xCayR/HmerdllDAon1jDOp80Ij012X7jlwN2 mFZw== X-Gm-Message-State: AG10YOTrIElL3BAfQMRPrjz5xkw+dMwEFJHU3u385HAdORRNecYgfjWwxDZHc2JhEA2unuke X-Received: by 10.28.211.130 with SMTP id k124mr24109363wmg.7.1455692200171; Tue, 16 Feb 2016 22:56:40 -0800 (PST) Received: from ?IPv6:2001:14bb:140:32ab:402:1fcc:a508:2? (dygydgm4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:32ab:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id z65sm26994020wmg.1.2016.02.16.22.56.39 for (version=TLSv1/SSLv3 cipher=OTHER); Tue, 16 Feb 2016 22:56:39 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmrep: don't do fsync Organization: Red Hat X-ASG-Orig-Subj: pmrep: don't do fsync Message-ID: <56C419A5.3040206@redhat.com> Date: Wed, 17 Feb 2016 08:56:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f45.google.com[74.125.82.45] X-Barracuda-Start-Time: 1455692200 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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.27096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- We agreed with Frank on IRC that this is overkill, we'll just let the OS/kernel do its job. --- src/pmrep/pmrep.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index fd3d0ee..73c4a61 100755 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -1350,8 +1350,6 @@ class PMReporter(object): self.writer.flush() except BrokenPipeError: pass - if self.writer != sys.stdout: - os.fsync(self.writer.fileno()) self.writer.close() self.writer = None if self.pmi: Thanks, -- Marko Myllynen From myllynen@redhat.com Wed Feb 17 06:32:11 2016 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 A8AB97CA2 for ; Wed, 17 Feb 2016 06:32:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 55BBBAC001 for ; Wed, 17 Feb 2016 04:32:08 -0800 (PST) X-ASG-Debug-ID: 1455712324-04bdf02d5b79bb0001-S8gJnT Received: from mail-wm0-f51.google.com (mail-wm0-f51.google.com [74.125.82.51]) by cuda.sgi.com with ESMTP id A6vlGF7nICLreBfB (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 17 Feb 2016 04:32:05 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.51 Received: by mail-wm0-f51.google.com with SMTP id g62so157518424wme.1 for ; Wed, 17 Feb 2016 04:32:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=f+mwyKnyk4XkXvA/xuAg+DZzlLeyfyJnuSmXquORB+Y=; b=Zluoc/RJwB98gCssT5pyWUKJ5X0Cs68XGEvAaWsg1vlVrQcSG6+x/9a/Uyk77Rczb0 ttpHE3nQV1iLAAekcbr4ZsDyZbNpiP7bfKGJTIIgDHGHNCXLD6+drETcVzTq0/y8sOtA QjpcKx7MNbDPbf8uP84rIjCTkDfNaaszbLCJxmGP92Qa3GVvG7+Y5h/SjP7uiBhM3u0r R20r01gFthFD41Q+R9fXrX2yTWGY5w694IcOySky37zYFFBBnno9R0da99fnkMDWheMx zcdXfB51kubRvpANAFgV5VA4RsdcBYJC8KLXQch8aIrG5K8OyE20sIBwRcMdKRIyYgeJ 5dew== X-Gm-Message-State: AG10YOSMXttmihV1lk4S67fe1V63IPr//wucoQW4hGkeLSLIO4eLJezW/IR7FASttutM0yRs X-Received: by 10.194.112.98 with SMTP id ip2mr1719214wjb.24.1455712324035; Wed, 17 Feb 2016 04:32:04 -0800 (PST) Received: from ?IPv6:2001:14bb:140:46b0:402:1fcc:a508:2? (dygyfqpyfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:46b0:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id k124sm2892463wmb.11.2016.02.17.04.32.02 for (version=TLSv1/SSLv3 cipher=OTHER); Wed, 17 Feb 2016 04:32:03 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmrep: finalize zabbix transfers in all cases Organization: Red Hat X-ASG-Orig-Subj: pmrep: finalize zabbix transfers in all cases Message-ID: <56C46841.6090705@redhat.com> Date: Wed, 17 Feb 2016 14:32:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f51.google.com[74.125.82.51] X-Barracuda-Start-Time: 1455712325 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.27101 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This is needed / useful if the user hits Ctrl+C, completely harmless / no-op otherwise (and if the Zabbix transfer interval is more than sampling interval, without this they'd be notable loss of collected data after Ctrl+C). --- src/pmrep/pmrep.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pmrep/pmrep.py b/src/pmrep/pmrep.py index 73c4a61..ea41296 100755 --- a/src/pmrep/pmrep.py +++ b/src/pmrep/pmrep.py @@ -1355,6 +1355,9 @@ class PMReporter(object): if self.pmi: self.pmi.pmiEnd() self.pmi = None + if self.zabbix_metrics: + send_to_zabbix(self.zabbix_metrics, self.zabbix_server, self.zabbix_port) + self.zabbix_metrics = [] if __name__ == '__main__': try: Thanks, -- Marko Myllynen From tdm@sgi.com Wed Feb 17 09:09:27 2016 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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 427AD7CA6 for ; Wed, 17 Feb 2016 09:09:27 -0600 (CST) Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2BE54304032; Wed, 17 Feb 2016 07:09:24 -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 015877000709; Wed, 17 Feb 2016 09:09:23 -0600 (CST) Message-ID: <56C48D23.5060207@sgi.com> Date: Wed, 17 Feb 2016 09:09:23 -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, Nathan Scott Subject: Re: oss.sgi.com - maintenance rescheduled to Friday Feb 19 09:00 CT USA References: <56BE64E7.6030906@sgi.com> <56C3AAD5.3080507@sgi.com> In-Reply-To: <56C3AAD5.3080507@sgi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 02/16/2016 05:03 PM, Troy McCorkell wrote: > On 02/12/2016 05:04 PM, Troy McCorkell wrote: >> oss.sgi.com will be down for approximately 30 minutes starting at >> Wed Feb 17 09:00 CT USA for maintenance. > > Sending an additional reminder. The maintenance window has been rescheduled to Fri Feb 19 09:00 CT USA to include additional security updates. From bugzilla@redhat.com Wed Feb 17 15:27:58 2016 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 A71AA7CA8 for ; Wed, 17 Feb 2016 15:27:58 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 79D568F8049 for ; Wed, 17 Feb 2016 13:27:55 -0800 (PST) X-ASG-Debug-ID: 1455744470-04bdf02d5b9c110001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id 9h5c4h4xzv1tz787 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 17 Feb 2016 13:27:51 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aW9dR-0008Ah-H6 for ; Thu, 18 Feb 2016 08:27:49 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1HLRZcs039932 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Feb 2016 16:27:35 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1HLRZ2R016898 for ; Wed, 17 Feb 2016 16:27:35 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1HLRZGv016897; Wed, 17 Feb 2016 16:27:35 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1309190] PCP -S can't be used in live mode Date: Wed, 17 Feb 2016 21:27:34 +0000 X-ASG-Orig-Subj: [Bug 1309190] PCP -S can't be used in live mode Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: nathans@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1455744471 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27113 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1309190 --- Comment #1 from Nathan Scott --- This is a bit of a shortcoming (incorrect assumption) in the pmGetOptions(3) routine - should not be very hard to fix if someone wants to take a crack at it. --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D0RvWdOj= uuD&a=3Dcc_unsubscribe= From nscott@redhat.com Wed Feb 17 15:52:25 2016 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 E43727CAF for ; Wed, 17 Feb 2016 15:52:25 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id C4C9B304039 for ; Wed, 17 Feb 2016 13:52:22 -0800 (PST) X-ASG-Debug-ID: 1455745941-04bdf02d5e9d2b0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id 1d4gEitOikZ3LkFg (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 17 Feb 2016 13:52:21 -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 u1HLqK2T021227; Wed, 17 Feb 2016 16:52:21 -0500 Date: Wed, 17 Feb 2016 16:52:20 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp@oss.sgi.com Message-ID: <209137076.21756592.1455745940823.JavaMail.zimbra@redhat.com> In-Reply-To: <56C417E9.4000107@redhat.com> References: <56C3608E.9090404@redhat.com> <56C37828.10007@redhat.com> <20160216194348.GC2398@redhat.com> <56C395AF.1030306@internode.on.net> <56C417E9.4000107@redhat.com> Subject: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.98] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Multi-archive Contexts: Some PCP Tools Lost in Time Thread-Index: rQQKzCvFq/0wODYPFL+hEWpm87FSyQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455745941 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27114 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > [...] > Is symbol versioning available on all supported platforms? No, we only use it on Linux. cheers. -- Nathan From nscott@redhat.com Wed Feb 17 18:49:13 2016 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 4F0A67F37 for ; Wed, 17 Feb 2016 18:49:13 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3F7BC8F8039 for ; Wed, 17 Feb 2016 16:49:13 -0800 (PST) X-ASG-Debug-ID: 1455756547-04cb6c770805530001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id 5Cg9kmfEGQc130YF (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 17 Feb 2016 16:49:08 -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 u1I0n7al024523; Wed, 17 Feb 2016 19:49:07 -0500 Date: Wed, 17 Feb 2016 19:49:07 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Dave Brolley Cc: PCP Mailing List Message-ID: <437091622.21778021.1455756547273.JavaMail.zimbra@redhat.com> In-Reply-To: <56C3608E.9090404@redhat.com> References: <56C3608E.9090404@redhat.com> Subject: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.98] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Multi-archive Contexts: Some PCP Tools Lost in Time Thread-Index: OqyKtpC1igim0Kjbu7uCX93+vbftCw== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455756547 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27119 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi Dave, ----- Original Message ----- > [...] > On the other hand, using time indices which are global to the entire context > might simplify things and improve performance. Some trickery would still be > needed in order to associate each time index with the correct archive. I would stick with local as you have it for initial version, and optimize as needed later once actual issues are observed. Use of "might" above suggests this may be a premature optimisation. > Things get more complicated with the realization that a few tools directly > access the time index data structures. These tools are pmlogrewrite(1), > pmdumplog(1) and pmlogcheck(1). Some QA tests too BTW. I like your approach of switching to internal-access APIs instead of direct structure access too - that would be an improvement. > The problem lies with older versions of these tools attempting to work with a > multi-archive enabled libpcp. All of these tools access the time index data > [...] > So using local time indices leaves older versions of two of the tools broken > by omission of results and using global time indices leaves them broken via > reporting of inaccurate and misleading results. I'm wondering if this is a non-issue, either way. Older versions of these tools (or any PMAPI tool) should not rightfully expect to work with either a directory or comma-separated lists of archives being passed into pmNewContext, right? IOW, they cannot be functioning under the libpcp that they are currently using, or any prior version. And they'd see an error under those older libpcp versions if they attempted to pass a directory/comma-separated-list in. So it may be a leap-too-far for the tools to expect to make use of this new functionality - things that work today should continue to work, and that is all they can really rely on (anything else is a nice-to-have bonus but not really mandatory IMO). As long as the single-archive case continues to work as-before, I think we're fine - and that depends on how well existing structures are being preserved. >From my reading of the way ABI is being maintained in your impl.h changes and elsewhere in libpcp, that all looks fine to me so far. > inclined to stick with the currently implemented local time indices. Sounds good to me. cheers. -- Nathan From kenj@internode.on.net Wed Feb 17 22:30:58 2016 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 68AEC7F3F for ; Wed, 17 Feb 2016 22:30:58 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5A9FE304032 for ; Wed, 17 Feb 2016 20:30:55 -0800 (PST) X-ASG-Debug-ID: 1455769849-04cbb047a00deb0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 70l9w5YiBmCcc9Xk for ; Wed, 17 Feb 2016 20:30:49 -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: A2BDCgBXSMVWPFBJ0XYNUYQMbYZjrAWJFxmIHgEBAQEBAQcBAQEBQYEBAQEDCQSEGFU2AgUWCwILAwIBAgExDgwNCAEBtCRnjyR7kQeBOgWXBIVTiiyMTY5HhFlWgUWCD4RsAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Feb 2016 15:00:48 +1030 To: PCP From: Ken McDonell Subject: question on rpm builds Message-ID: <56C548F7.5020900@internode.on.net> X-ASG-Orig-Subj: question on rpm builds Date: Thu, 18 Feb 2016 15:30:47 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455769849 X-Barracuda-URL: https://192.48.176.25:443/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.27123 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- In the process of debugging something else, I noticed this coming out of the rpm builds ... Explicit %attr() mode not applicaple to symlink: /home/kenj/src/pcp/pcp-3.11.1/BUILDROOT/pcp-3.11.1-8.x86_64/usr/lib64/libpcp.so and similar lines that appear to be for every symlink in the PCP packages. Is this expected? Is it something to worry about / fix? From nscott@redhat.com Wed Feb 17 22:46:15 2016 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 F2FFA7F3F for ; Wed, 17 Feb 2016 22:46:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 86766AC002 for ; Wed, 17 Feb 2016 20:46:14 -0800 (PST) X-ASG-Debug-ID: 1455770767-04bdf003c50f180001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id WKdrypOpz1rm0TAq (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Feb 2016 20:46:08 -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 u1I4k4ZX005079; Wed, 17 Feb 2016 23:46:04 -0500 Date: Wed, 17 Feb 2016 23:46:04 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell Cc: PCP Message-ID: <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> In-Reply-To: <56C548F7.5020900@internode.on.net> References: <56C548F7.5020900@internode.on.net> Subject: Re: [pcp] question on rpm builds MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] question on rpm builds Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.98] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: question on rpm builds Thread-Index: REPV8iwNLEvZj9/1qFVmprbtLNxqOA== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455770768 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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.27123 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 ----- Original Message ----- > In the process of debugging something else, I noticed this coming out of the > rpm builds ... > > Explicit %attr() mode not applicaple to symlink: > /home/kenj/src/pcp/pcp-3.11.1/BUILDROOT/pcp-3.11.1-8.x86_64/usr/lib64/libpcp.so > > and similar lines that appear to be for every symlink in the PCP packages. > > Is this expected? Yeah, its been generating that warning for years. Its most likely from: $1 == "l" { print "%attr(0777,root,root)", $3 >> f }' ... in pcp.spec.in? It may have once been accepted by an old version of rpm/rpmbuild. > Is it something to worry about / fix? Nope, but we could fix if its bothering. Theres also the make -j1 warning, and a handful of rpm "warning: File listed twice" warnings we could also go fix - they just never seem to percolate up the to-do list here. cheers. -- Nathan From mgoodwin@redhat.com Wed Feb 17 22:55:09 2016 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 5FB3B7F3F for ; Wed, 17 Feb 2016 22:55:09 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 30F39304032 for ; Wed, 17 Feb 2016 20:55:09 -0800 (PST) X-ASG-Debug-ID: 1455771307-04bdf003c40f8d0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 8v7I4zMMLwrCdNLB (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Feb 2016 20:55:08 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 9A4447EBA0; Thu, 18 Feb 2016 04:55:07 +0000 (UTC) Received: from [10.64.48.52] (vpn1-48-52.bne.redhat.com [10.64.48.52]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1I4t5BH030937; Wed, 17 Feb 2016 23:55:06 -0500 Subject: Re: [pcp] question on rpm builds To: Nathan Scott , Ken McDonell X-ASG-Orig-Subj: Re: [pcp] question on rpm builds References: <56C548F7.5020900@internode.on.net> <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> Cc: PCP From: Mark Goodwin Message-ID: <56C54EA9.7080807@redhat.com> Date: Thu, 18 Feb 2016 15:55:05 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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: 1455771308 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/18/2016 03:46 PM, Nathan Scott wrote: > > > ----- Original Message ----- >> In the process of debugging something else, I noticed this coming out of the >> rpm builds ... >> >> Explicit %attr() mode not applicaple to symlink: >> /home/kenj/src/pcp/pcp-3.11.1/BUILDROOT/pcp-3.11.1-8.x86_64/usr/lib64/libpcp.so >> >> and similar lines that appear to be for every symlink in the PCP packages. >> >> Is this expected? > > Yeah, its been generating that warning for years. Its most likely from: > $1 == "l" { print "%attr(0777,root,root)", $3 >> f }' > ... in pcp.spec.in? It may have once been accepted by an old version of > rpm/rpmbuild. > >> Is it something to worry about / fix? > > Nope, but we could fix if its bothering. Theres also the make -j1 warning, > and a handful of rpm "warning: File listed twice" warnings we could also go > fix - they just never seem to percolate up the to-do list here. yep it's benign .. ever since we did the original rpm packaging. The particular issue you've reported is because symlinks don't have modes, so specifying one with the %attr generates a warning. Cheers From nscott@redhat.com Wed Feb 17 23:47:35 2016 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 AE3107F54 for ; Wed, 17 Feb 2016 23:47:35 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 34400AC002 for ; Wed, 17 Feb 2016 21:47:32 -0800 (PST) X-ASG-Debug-ID: 1455774447-04cbb0479e110b0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id js2zZQ2129xAKzEa (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Feb 2016 21:47:27 -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 u1I5lQ5w011663 for ; Thu, 18 Feb 2016 00:47:26 -0500 Date: Thu, 18 Feb 2016 00:47:26 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: pcp@oss.sgi.com Message-ID: <671759124.21806159.1455774446940.JavaMail.zimbra@redhat.com> In-Reply-To: <255187674.21806123.1455774410722.JavaMail.zimbra@redhat.com> Subject: pcp updates: pmrep, pmieconf, pmdaoracle MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: pmrep, pmieconf, pmdaoracle Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.98] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: pmrep, pmieconf, pmdaoracle Thread-Index: axsFhAPsRd54tj35CH0movJY0tTMDA== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455774447 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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.27124 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 master Nathan Scott (7): qa: deterministic whitespace output from qa/1062, live mode qa: remake 804 output after updating vmstat archive pmdaoracle: build and initial QA work for the Oracle database agent pmieconf: add a rule to automate restarting of unresponsive PMDAs docs: add a man page for pmdaoracle mainly describing configuration build: install pmlogconf somewhere it can be found, like pmieconf build: fix rpmbuild warnings about symlink attrs Marko Myllynen (2): pmrep: do not issue fsync, makes no sense here pmrep: finalize zabbix transfers in all cases build/rpm/GNUmakefile | 3 build/rpm/fedora.spec | 26 ++++ build/rpm/pcp.spec.in | 44 ++++++- configure | 17 ++ configure.ac | 13 ++ man/man1/pmlogconf.1 | 2 qa/1035 | 254 +++++++++++++++++++++++++++++++++++++++++ qa/1035.out | 26 ++++ qa/1051.out.darwin | 2 qa/1051.out.linux | 2 qa/1051.out.solaris | 2 qa/1062 | 2 qa/1062.out | 6 qa/804.out | 10 - qa/group | 3 src/include/builddefs.in | 1 src/pmdas/GNUmakefile | 2 src/pmdas/oracle/.gitignore | 4 src/pmdas/oracle/GNUmakefile | 1 src/pmdas/oracle/Install | 24 ++- src/pmdas/oracle/connect.pl | 23 +++ src/pmdas/oracle/pmdaoracle.1 | 97 +++++++++++++++ src/pmdas/oracle/pmdaoracle.pl | 71 ++++++----- src/pmieconf/.gitignore | 1 src/pmieconf/GNUmakefile | 4 src/pmieconf/pcp/localdefs | 2 src/pmieconf/pcp/pmda_status | 43 ++++++ src/pmlogconf/GNUmakefile | 5 src/pmrep/pmrep.py | 5 29 files changed, 626 insertions(+), 69 deletions(-) commit 81573ccc8109bdfff971171620381a79eddebc88 Author: Nathan Scott Date: Thu Feb 18 16:39:27 2016 +1100 build: fix rpmbuild warnings about symlink attrs commit 5fa3de4d4514c00b8681e79cde608180f399d201 Author: Nathan Scott Date: Thu Feb 18 16:39:00 2016 +1100 build: install pmlogconf somewhere it can be found, like pmieconf commit 06af42dfda09bd381167dea2cd541702368f31f9 Author: Nathan Scott Date: Thu Feb 18 16:37:45 2016 +1100 docs: add a man page for pmdaoracle mainly describing configuration commit 5c4b7808aee680c6f2f99c25758f57652db3cd2e Author: Nathan Scott Date: Thu Feb 18 10:53:21 2016 +1100 pmieconf: add a rule to automate restarting of unresponsive PMDAs commit b6de3fba4eca7f6f44a721167a96bf21eadcc8c9 Author: Marko Myllynen Date: Thu Feb 18 05:48:08 2016 +1100 pmrep: finalize zabbix transfers in all cases This is needed / useful if the user hits Ctrl+C, completely harmless / no-op otherwise (and if the Zabbix transfer interval is more than sampling interval, without this there'd be notable loss of collected data after Ctrl+C). commit 981ab5764b4f7c55cdcd24f88d33b1d774a58ce2 Author: Marko Myllynen Date: Thu Feb 18 05:44:00 2016 +1100 pmrep: do not issue fsync, makes no sense here commit 3d04f62aad3f7b0b700de9dadbdd3a043ee818b3 Author: Nathan Scott Date: Thu Feb 18 05:42:31 2016 +1100 pmdaoracle: build and initial QA work for the Oracle database agent Also allow the account under which the PMDA runs to be configured now, and a number of other small improvements to the agent itself. commit c5ea124e65e90b116732721f0d98dc2387e9e46f Author: Nathan Scott Date: Wed Feb 17 12:23:40 2016 +1100 qa: remake 804 output after updating vmstat archive commit 57f51f1b17ded9e18e9ac9004a924a4e5385ecea Author: Nathan Scott Date: Wed Feb 17 10:22:11 2016 +1100 qa: deterministic whitespace output from qa/1062, live mode From nscott@redhat.com Wed Feb 17 23:53:45 2016 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 C2C517F50 for ; Wed, 17 Feb 2016 23:53:45 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 40A24AC002 for ; Wed, 17 Feb 2016 21:53:45 -0800 (PST) X-ASG-Debug-ID: 1455774822-04cb6c770513ca0001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id fQETxj32z9J0C1wh (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 17 Feb 2016 21:53:42 -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 u1I5rcg6018992; Thu, 18 Feb 2016 00:53:39 -0500 Date: Thu, 18 Feb 2016 00:53:38 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Martins Innus , Ken McDonell , Lukas Berk Cc: pcp@oss.sgi.com Message-ID: <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> In-Reply-To: <54CAB7A1.1030204@buffalo.edu> References: <54C7FF66.5090503@buffalo.edu> <54C80E1F.1010909@internode.on.net> <54C93BFD.5090803@buffalo.edu> <54C93DED.9020601@internode.on.net> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> Subject: Re: [pcp] pmcd gets stuck with pmda kill MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.98] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmcd gets stuck with pmda kill Thread-Index: Hw9LRz3+7uipFRkwF2UlwgIE4kLk9g== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455774822 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27125 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 Martins, ----- Original Message ----- > Nathan, > On 1/29/2015 4:42 PM, Nathan Scott wrote: > >> I sent that mail from the time warp that is labelled "it is OK for all > >> PCP processes to run as root" ... later I realized that in the brave new > >> world where running as root has become less fashionable this won't work > >> if the PMDA needs root priveleges, because once pmcd is able to accept > >> the SIGHUP it has downgraded itself to user "pcp" ... so restarting > >> _pmcd_ (as root) is the only option in your case. > >> > > This is now fixable, happily. See point #2 here: > > http://oss.sgi.com/archives/pcp/2014-06/msg00111.html > > from "2. Restarting / Installing PMDAs", and: > > > > $ grep STARTPMDA src/include/pcp/pmda.h > > /*#define PDUROOT_STARTPMDA_REQ 0x9007*/ > > /*#define PDUROOT_STARTPMDA 0x9008*/ > > > > If anyone wants to hack on this, please send me a note - I have some > > sample code that will help. It would be good to have this functionality > > back; the building blocks are now in place (since pcp-3.10.2) and it'll > > be an interesting little hacking project I think. > This would be great to have. I won't have time to take this on for the > next couple of weeks. I will ping you for the sample code then, unless > someone else looks at it in the meantime. > Lukas ended up working on this and getting it all in for the last release (pcp-3.11.0). As of today (so, next release) we have a pmie rule that'll automate the restart of failed PMDAs by sighup'ing pmcd if you chkconfig pmie on. Works nicely here, and can restart PMDAs running under any user account now that the above is all in place (and basically the same pmie rule to the one we discussed in this thread - by default it will also log to syslog whenever it kicks pmcd). cheers. -- Nathan From kenj@internode.on.net Thu Feb 18 01:13:50 2016 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 87F247F54 for ; Thu, 18 Feb 2016 01:13:50 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0B99CAC002 for ; Wed, 17 Feb 2016 23:13:46 -0800 (PST) X-ASG-Debug-ID: 1455779618-04cb6c770618300001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id OhzhmN3Bc5Iz95ah for ; Wed, 17 Feb 2016 23:13:39 -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: A2AkAwALbsVWPFBJ0XYNUYQMbYZjtSkdiBcBAQEBAQEHAQEBAUGBAQ4BhBtVMAYCBRYLAgsDAgECATEnBgIBAbQxZ48ke5EHgToFlwSFU4osjE2OR4RZVoNUhGwBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Feb 2016 17:43:38 +1030 To: pcp@oss.sgi.com Subject: pcp updates: OpenBSD port From: Ken McDonell X-ASG-Orig-Subj: pcp updates: OpenBSD port Message-ID: <56C56F21.3000101@internode.on.net> Date: Thu, 18 Feb 2016 18:13:37 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455779619 X-Barracuda-URL: https://192.48.176.15:443/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.27126 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- With changes the build runs to completion and a tarball is created by Makepkgs on OpenBSD. RPM and Debian builds seem to have survived these changes. For OpenBSD here is a problem with the Perl and Python packaging ... none of these artefacts make it into the tarball. The openbsd PMDA is rudimentary and untested. But this is a small step along the path ... checking all this in so I can move on without tree divergence becoming a problem. Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (11): qa/admin/check-vm: initial changes for OpenBSD configure: changes for OpenBSD src/nclude/pcp: header changes for OpenBSD src/include/build*: build infrastructure changes for OpenBSD src/libpcp: changes for OpenBSD openbsd PMDA: new miscellaneous OpenBSD porting changes OpenBSD: forlorn attempts to get Perl and Python packaging to work OpenBSD: Makepkgs, pcp-daily, etc changes src/perl/LogSummary/GNUmakefile: fix botch from OpenBSD changes Fix Perl buld for rpm packaging ... collateral damage from OpenBSD port Makepkgs | 10 configure | 23 configure.ac | 19 qa/admin/check-vm | 117 +++- qa/admin/pcp-daily | 7 src/autofsd-probe/GNUmakefile | 2 src/include/builddefs.in | 64 +- src/include/buildrules | 2 src/include/pcp/config.h.in | 8 src/include/pcp/impl.h | 3 src/libpcp/src/auxserver.c | 4 src/libpcp/src/check-statics | 4 src/libpcp/src/pdubuf.c | 1 src/libpcp/src/stuffvalue.c | 1 src/libpcp/src/util.c | 2 src/libpcp_gui/src/timeclient.c | 4 src/perl/LogImport/GNUmakefile | 10 src/perl/LogSummary/GNUmakefile | 10 src/perl/MMV/GNUmakefile | 10 src/perl/PMDA/GNUmakefile | 10 src/pmcd/rc-proc.sh | 8 src/pmdas/GNUmakefile | 2 src/pmdas/openbsd/.gitignore | 7 src/pmdas/openbsd/GNUmakefile | 72 ++ src/pmdas/openbsd/disk.c | 206 ++++++++ src/pmdas/openbsd/filesys.c | 204 ++++++++ src/pmdas/openbsd/freebsd.c | 90 +++ src/pmdas/openbsd/help | 144 +++++ src/pmdas/openbsd/netif.c | 323 ++++++++++++ src/pmdas/openbsd/openbsd.c | 995 ++++++++++++++++++++++++++++++++++++++++ src/pmdas/openbsd/openbsd.h | 66 ++ src/pmdas/openbsd/percpu.c | 126 +++++ src/pmdas/openbsd/root_openbsd | 204 ++++++++ src/pmdas/openbsd/swap.c | 123 ++++ src/pmdas/openbsd/vm_uvmexp.c | 167 ++++++ src/pmdas/pmcd/src/pmcd.c | 2 src/pmdas/root/root.c | 4 src/pmdas/shping/shping.c | 2 src/pmie/pmie2col.sh | 2 src/pmlogger/pmlogger_daily.sh | 14 src/pmns/stdpmid.pcp | 1 41 files changed, 2989 insertions(+), 84 deletions(-) Details ... commit 14fe9fc17c85b051a7fff515253bbf6ffe66d15d Author: Ken McDonell Date: Thu Feb 18 17:38:47 2016 +1100 Fix Perl buld for rpm packaging ... collateral damage from OpenBSD port Real problem was a lurking typo (mixed syntax usage) in builddefs.in ... $1 (not changed) instead of $(1) (that would have been changed). commit 7e023370a64a6fcb05be28beaa55a2f073370269 Author: Ken McDonell Date: Thu Feb 18 14:32:14 2016 +1100 src/perl/LogSummary/GNUmakefile: fix botch from OpenBSD changes commit 98eb783055df637a64eaa1e8c506209e620bee8b Author: Ken McDonell Date: Thu Feb 18 12:38:23 2016 +1100 OpenBSD: Makepkgs, pcp-daily, etc changes commit 5da14a792743047356234ffe83e7c933a8efabad Author: Ken McDonell Date: Thu Feb 18 12:27:40 2016 +1100 OpenBSD: forlorn attempts to get Perl and Python packaging to work With these changes, Makepkgs finishes without "error", but there are no Perl or Python artefacts in the tarball, despite them being creating in $DIST_ROOT. commit c1d886e494d5fb651a29aadce96507c93fb02db1 Author: Ken McDonell Date: Tue Feb 16 17:18:26 2016 +1100 miscellaneous OpenBSD porting changes commit 80e02f7e27775e8ab1134db6000d64c4f8a12e4d Author: Ken McDonell Date: Tue Feb 16 17:17:26 2016 +1100 openbsd PMDA: new This is untested, but compiles ... enough to clear the Makepkgs hurdle. commit e61eb0eb01ba5e82fefc0d82e4defdcfa6e3bc6d Author: Ken McDonell Date: Tue Feb 16 17:16:19 2016 +1100 src/libpcp: changes for OpenBSD commit 258a360c8ad551ce9d7d6af0fd9022492bf76ecb Author: Ken McDonell Date: Tue Feb 16 17:15:26 2016 +1100 src/include/build*: build infrastructure changes for OpenBSD commit 413ed6c4bf045eb0ead93d55cbd7844ca98419bf Author: Ken McDonell Date: Tue Feb 16 17:14:54 2016 +1100 src/nclude/pcp: header changes for OpenBSD commit 386d8974fbd4d07d410caf92811f21dbdcde5b0f Author: Ken McDonell Date: Tue Feb 16 17:14:18 2016 +1100 configure: changes for OpenBSD commit a51109a092239a68f3ba716f88515ce544f382c4 Author: Ken McDonell Date: Tue Feb 16 17:12:57 2016 +1100 qa/admin/check-vm: initial changes for OpenBSD Lots of Perl stuff would appear to be only available from cpan, otherwise pkg_add seems to be able to deliver most of the required build and qa prereqs. From amy.saunders@1bestdata.com Thu Feb 18 09:50:29 2016 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,T_DKIM_INVALID, T_FILL_THIS_FORM_SHORT 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 D693A7CA1 for ; Thu, 18 Feb 2016 09:50:29 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C46E7304039 for ; Thu, 18 Feb 2016 07:50:29 -0800 (PST) X-ASG-Debug-ID: 1455810620-04cb6c770736e00001-S8gJnT Received: from mail.1bestdata.com (mail.1bestdata.com [191.101.13.195]) by cuda.sgi.com with ESMTP id J3ryMKEbJRTYp3Ry for ; Thu, 18 Feb 2016 07:50:20 -0800 (PST) X-Barracuda-Envelope-From: amy.saunders@1bestdata.com X-Barracuda-Apparent-Source-IP: 191.101.13.195 Received: from AdminPC (unknown [106.51.137.79]) by mail.1bestdata.com (Postfix) with ESMTPSA id 80545102CA3 for ; Thu, 18 Feb 2016 10:50:18 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.1bestdata.com 80545102CA3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=1bestdata.com; s=default; t=1455810619; bh=WPrYAgmgh8/MO0sRYGg/nXM3rR6goORdviGJr/XURCk=; h=From:To:Subject:Date:From; b=mG3WkZxzwsHyTwJpSQkWabhr8YZjuUFBZklO/bSw2uMjrHBBDvpxFuaqCnW0yULHw tKbRpjXZUUOf7z8ehhllSGfk5s9TpnjpDNUIyS1A1DBtLDBEA+s25nDDnDd8f8CHh+ 1IBNdeWF0Ep4OnzXMqSMT+XsdX8pikXnkIzFT+4U= Return-Receipt-To: "Amy Saunders" From: "Amy Saunders" To: Subject: Follow Up-SAP Success Factor Users Date: Thu, 18 Feb 2016 07:50:14 -0800 X-ASG-Orig-Subj: Follow Up-SAP Success Factor Users Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_33A0_01D16A21.00BE1FA0" X-Mailer: Microsoft Office Outlook 12.0 Content-Language: en-us Thread-Index: AdFqZAO6KxWh/C5vS4+JzXFZLlJCWQ== x-cr-hashedpuzzle: AAsA Apto BpDn CMQk Cb7c CgOW C8Lf EHj9 E/CQ H520 ICCz INpb IScu I0RY I4ve Jitq;1;cABjAHAAQABvAHMAcwAuAHMAZwBpAC4AYwBvAG0A;Sosha1_v1;7;{FC0AB43B-D578-4383-909B-981D5B4A58A7};YQBtAHkALgBzAGEAdQBuAGQAZQByAHMAQAAxAGIAZQBzAHQAZABhAHQAYQAuAGMAbwBtAA==;Thu, 18 Feb 2016 15:50:01 GMT;RgBvAGwAbABvAHcAIABVAHAALQBTAEEAUAAgAFMAdQBjAGMAZQBzAHMAIABGAGEAYwB0AG8AcgAgAFUAcwBlAHIAcwA= x-cr-puzzleid: {FC0AB43B-D578-4383-909B-981D5B4A58A7} Disposition-Notification-To: "Amy Saunders" X-Barracuda-Connect: mail.1bestdata.com[191.101.13.195] X-Barracuda-Start-Time: 1455810620 X-Barracuda-URL: https://192.48.176.15:443/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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27135 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== -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 This is a multipart message in MIME format. ------=_NextPart_000_33A0_01D16A21.00BE1FA0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello, I wanted to follow-up in reference to my previous e-mail sent on 16th about Sap Successfactors Users If you had a chance to review the information below, please advice. Best Regards, Amy Saunders Marketing Executive _____ Hello, Would you be interested in reaching out to Sap Successfactors Users in IT, Manufacturing, Retail, Healthcare, Pharma, Marketing, Banking, Telecommunication and Real Estate industries worldwide for unlimited usage in your Marketing Initiatives like Email Marketing, Tele Marketing and Direct mailings? SAP Users: Customer Relationship Management, Enterprise Asset Management, Enterprise Resource Planning, Financial Management, Product Lifecycle Management, Supplier Relationship Management, SAP Business Suite, SAP Business One, SAP Business by Design and many more. Technologies List:- Oracle Users, SAP Users, Microsoft Dynamics Users, Amazon Users, VMware Users, OpenStack Users, Rackspace Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google Users, Joyent Users, EMC Users, Comptel, DNP3, EMC2, Entrust, Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kbox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and many more. Data Fields :- Company Name, Decision Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, FAX Number, Industry Type, SIC Code, Application Type, Web Address, Employees size and Revenue size. Kindly let me know if you are looking forward for any of the details mentioned above or any other application users. We would be glad to provide you this information. Await your response! Regards Amy Saunders Marketing Executive "If you do not wish to receive further emails kindly reply with "Leave Out" or "Unsubscribe" ------=_NextPart_000_33A0_01D16A21.00BE1FA0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello,=

        = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;        <= /span>

I wanted to follow-up in reference to my previous = e-mail sent on 16th about Sap = Successfactors Users

 

If you had a chance to review the information below, = please advice.<= /span>

 

Bes= t Regards,

Amy= Saunders

Mar= keting Executive


Hello,<= /span>

 <= /o:p>

Would you be interested in reaching out to = Sap = Successfactors Users in IT, Manufacturing, Retail, Healthcare, Pharma, Marketing, Banking, Telecommunication and Real Estate industries worldwide for unlimited usage in your Marketing Initiatives like Email Marketing, = Tele Marketing and Direct mailings?<= /span>

 

SAP Users: Customer Relationship Management, Enterprise Asset Management, Enterprise = Resource Planning, Financial = Management, Product Lifecycle Management, Supplier Relationship Management, = SAP Business Suite, SAP Business One, SAP = Business by Design and many more.=

 

Technologies List:- Oracle Users, SAP Users, = Microsoft Dynamics Users, Amazon Users, VMware Users, OpenStack Users, Rackspace = Users, IBM Users, Citrix Users, Microsoft Users, Salesforce Users, Google = Users, Joyent Users, EMC Users, Comptel, DNP3, EMC2, Entrust, = Fortinet, Info Vista, IntelliTrack, IronPort, Juniper Networks, Kbox, Lan/Wan, Marshal8e6, MacAfee, Mitel, Nuance and many more.=

 

Data Fields :- Company Name, Decision = Maker Name, Decision Maker Title, Opt-in Email, Company Mailing Address, Phone Number, FAX Number, Industry Type, SIC Code, Application Type, Web = Address, Employees size and Revenue size.=

 

Kindly let me know if you are looking forward for any = of the details mentioned above or any other application users.  We would = be glad to provide you this information.=

 

Await your response!=

 

Reg= ards<= /span>

Amy= Saunders

Marketing Executive

“If you do not wish to receive further emails kindly reply = with "Leave Out" or “Unsubscribe”

 

------=_NextPart_000_33A0_01D16A21.00BE1FA0-- From brolley@redhat.com Thu Feb 18 10:31:52 2016 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=3.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP autolearn=no 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 46E337CA1 for ; Thu, 18 Feb 2016 10:31:52 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id CAC7CAC003 for ; Thu, 18 Feb 2016 08:31:48 -0800 (PST) X-ASG-Debug-ID: 1455813104-04cbb0479d6b100001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NmurUaMT9aFAuBYZ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 18 Feb 2016 08:31:44 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id E8F871E2F for ; Thu, 18 Feb 2016 16:31:43 +0000 (UTC) Received: from [10.10.59.74] (vpn-59-74.rdu2.redhat.com [10.10.59.74]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1IGVhTG015889 for ; Thu, 18 Feb 2016 11:31:43 -0500 Message-ID: <56C5F1EB.80202@redhat.com> Date: Thu, 18 Feb 2016 11:31:39 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: =?UTF-8?B?SmFybW/FhDogcGNwMmdyYXBpdGUgcmUtYXV0aG9yaQ==?= =?UTF-8?B?bmc=?= Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: =?UTF-8?B?SmFybW/FhDogcGNwMmdyYXBpdGUgcmUtYXV0aG9yaQ==?= =?UTF-8?B?bmc=?= Content-Transfer-Encoding: 8bit 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: 1455813104 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Paweł Jarmoń (5): pcp2graphite improvement: send all metrics at once in pickled mode pcp2graphite: cPickle instead of pickle pcp2graphite: option to specify pickle protocol pcp2graphite: workaround for cPickle and Python 3 pcp2graphite: manual update; -r - pickleprotocol Dave Brolley (4): Revert "pcp2graphite: workaround for cPickle and Python 3" Revert "pcp2graphite: option to specify pickle protocol" Revert "pcp2graphite: cPickle instead of pickle" Revert "pcp2graphite improvement: send all metrics at once in pickled mode" src/pcp2graphite/pcp2graphite.1 | 16 +++++++ src/pcp2graphite/pcp2graphite.py | 80 +++++++++++++++++++-------------------- 2 files changed, 56 insertions(+), 40 deletions(-) From brolley@redhat.com Thu Feb 18 11:42:20 2016 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 39B597CA3 for ; Thu, 18 Feb 2016 11:42:20 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1C2548F8049 for ; Thu, 18 Feb 2016 09:42:17 -0800 (PST) X-ASG-Debug-ID: 1455817332-04bdf003c23b2c0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EVKVSw301o7afMmm (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 18 Feb 2016 09:42:13 -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 (Postfix) with ESMTPS id C2E998F013 for ; Thu, 18 Feb 2016 17:42:12 +0000 (UTC) Received: from [10.10.59.74] (vpn-59-74.rdu2.redhat.com [10.10.59.74]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1IHgCvL001933 for ; Thu, 18 Feb 2016 12:42:12 -0500 Message-ID: <56C60270.6080602@redhat.com> Date: Thu, 18 Feb 2016 12:42:08 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: brolley: qa/667 + Compiler Warning Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: brolley: qa/667 + Compiler Warning 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: 1455817333 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Dave Brolley (2): qa/667 - filter results for different versions of pickle. Fix compiler warning in stuffvalue.c re: fabs(3). qa/667 | 6 ++++-- src/libpcp/src/stuffvalue.c | 1 + From nscott@redhat.com Thu Feb 18 17:42:58 2016 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 3E28D7CA5 for ; Thu, 18 Feb 2016 17:42:58 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C3FC5AC003 for ; Thu, 18 Feb 2016 15:42:54 -0800 (PST) X-ASG-Debug-ID: 1455838966-04cb6c770747000001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id mROIKoUAaqTntdnG (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 18 Feb 2016 15:42:47 -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 u1INgkHN020171 for ; Thu, 18 Feb 2016 18:42:46 -0500 Date: Thu, 18 Feb 2016 18:42:46 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <1734214941.22050581.1455838966159.JavaMail.zimbra@redhat.com> Subject: pcp updates: build, docs, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: build, docs, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.108] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: build, docs, qa Thread-Index: MHTVIJ5fofTud2G9hg187GDwDt/bfQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1455838967 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27145 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 master Nathan Scott (3): qa: remove 1067 assumption that dynamic.indom file already exists build: small tweaks after initial openbsd code merge qa: make test 569 pmdasample starting values deterministic Marko Myllynen (1): docs: minor zbxpcp man page update configure | 19 ++++++++++++++++--- configure.ac | 6 ++++-- debian/copyright | 3 ++- qa/1067 | 9 +++++++-- qa/569 | 6 ++++++ qa/569.out | 5 +++++ src/include/pcp/config.h.in | 4 ++++ src/include/pcp/impl.h | 6 +++--- src/libpcp/src/auxserver.c | 4 ---- src/libpcp_gui/src/timeclient.c | 4 ---- src/pmdas/root/root.c | 4 ---- src/zabbix-agent/src/zbxpcp.3 | 10 +++++----- 12 files changed, 52 insertions(+), 28 deletions(-) From kenj@internode.on.net Thu Feb 18 18:47:50 2016 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 3F16C7CA7 for ; Thu, 18 Feb 2016 18:47:50 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 21CD98F8049 for ; Thu, 18 Feb 2016 16:47:46 -0800 (PST) X-ASG-Debug-ID: 1455842839-04cb6c7707490a0001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id B7E8kuwGIphU24JX for ; Thu, 18 Feb 2016 16:47:20 -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: A2BcAgCcZcZW/1BJ0XYNUYQMbbJxiSoZiCgBAQEBAQGBTQ4BhBtVMAYCBRYLAgsDAgECAVgGAgEBtDFnj0p7jlOCNIE6BYdWjy+FVIosjE2OR4RZVoN2hSkBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Feb 2016 11:17:19 +1030 To: pcp@oss.sgi.com Subject: pcp updates: more OpenBSD and qa/569 From: Ken McDonell X-ASG-Orig-Subj: pcp updates: more OpenBSD and qa/569 Message-ID: <56C6660A.8000702@internode.on.net> Date: Fri, 19 Feb 2016 11:47:06 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455842839 X-Barracuda-URL: https://192.48.176.15:443/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.27147 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (4): qa/569: ensure sample.negative metrics start at a known value OpenBSD PMDA: first working version configure: use group wheel by default for installs on OpenBSD build/tar/postinstall.tail: adduser tweaking for OpenBSD build/tar/postinstall.tail | 18 ++++++-- configure | 2 configure.ac | 2 qa/569 | 18 ++++++++ qa/569.out | 12 +++++ src/pmdas/openbsd/disk.c | 2 src/pmdas/openbsd/freebsd.c | 90 ----------------------------------------- src/pmdas/openbsd/help | 1 src/pmdas/openbsd/openbsd.c | 70 ++++++++++++++++++++++++++----- src/pmdas/openbsd/openbsd.h | 5 -- src/pmdas/openbsd/root_openbsd | 1 11 files changed, 105 insertions(+), 116 deletions(-) Details ... commit 579806ae1083a151a73441e1ae714fee7004908a Author: Ken McDonell Date: Fri Feb 19 11:46:08 2016 +1100 build/tar/postinstall.tail: adduser tweaking for OpenBSD commit 626a8f11b6c5b614f5b0615052d00968d2e44fea Author: Ken McDonell Date: Fri Feb 19 11:45:25 2016 +1100 configure: use group wheel by default for installs on OpenBSD commit 1cdd6d619572e8fde7b913464a27192343bc1152 Author: Ken McDonell Date: Fri Feb 19 11:41:49 2016 +1100 OpenBSD PMDA: first working version Still work to be done, but we've got this far: Performance Co-Pilot configuration on vm33.localdomain: platform: OpenBSD vm33.localdomain 5.8 GENERIC#1170 amd64 hardware: 1 cpu, 3 disks, 1007MB RAM timezone: AEDT-11 services: pmcd pmcd: Version 3.11.1-2, 4 agents, 2 clients pmda: root pmcd mmv openbsd commit 5826521b048b7ddee20623fdc3862576a15ae897 Author: Ken McDonell Date: Thu Feb 18 20:04:01 2016 +1100 qa/569: ensure sample.negative metrics start at a known value From kenj@internode.on.net Thu Feb 18 19:13:49 2016 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 7E56C7CA9 for ; Thu, 18 Feb 2016 19:13:49 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6B6998F8040 for ; Thu, 18 Feb 2016 17:13:46 -0800 (PST) X-ASG-Debug-ID: 1455844420-04cbb0479d7d380001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id WwCWBbElJq1pCF2x for ; Thu, 18 Feb 2016 17:13:41 -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: A2AYBABxa8ZW/1BJ0XYNUYQMbbMEiRcZhWqCPgEBAQEBAYFNDgGEGxVANgIFFgsCCwMCAQIBPxkIAQG0NmePSHuOU4I0gToFlwWFVJZ5jkeEWVaDdoUpAQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Feb 2016 11:43:40 +1030 To: pcp@oss.sgi.com Subject: pcp updates From: Ken McDonell X-ASG-Orig-Subj: pcp updates Message-ID: <56C66C37.2070109@internode.on.net> Date: Fri, 19 Feb 2016 12:13:27 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455844420 X-Barracuda-URL: https://192.48.176.25:443/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.27147 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I resolved the conflict here in my last git pull ... Changes committed to git://git.pcp.io/kenj/pcp master qa/569 | 6 ++ qa/569.out | 5 ++ From mgoodwin@redhat.com Thu Feb 18 21:54:15 2016 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 98EC27CAB for ; Thu, 18 Feb 2016 21:54:15 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8A356304032 for ; Thu, 18 Feb 2016 19:54:12 -0800 (PST) X-ASG-Debug-ID: 1455854050-04cb6c77054f7f0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id KvUYKnwBuAlbYPdC (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 18 Feb 2016 19:54:11 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 98DFB8F50F for ; Fri, 19 Feb 2016 03:54:10 +0000 (UTC) Received: from [10.64.48.117] (vpn1-48-117.bne.redhat.com [10.64.48.117]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1J3s9fY021274 for ; Thu, 18 Feb 2016 22:54:10 -0500 To: pcp From: Mark Goodwin Subject: log import needs ability to write mark records? Message-ID: <56C691E0.4050808@redhat.com> X-ASG-Orig-Subj: log import needs ability to write mark records? Date: Fri, 19 Feb 2016 14:54:08 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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: 1455854051 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 collectl2pcp can take multiple input logs from collectl and create a single PCP archive. The input logs are often not temporally contiguous, i.e. there may be a time interval between one log and the next. Replaying the PCP log produces some unexpected results, and I suspect this may be due to missing mark records. Is there any way to write out a record in the PCP log, between processing input files? I don't see any pmiFoo API function in LOGIMPORT for this ...? maybe it's better to write individual PCP logs, and then merge them? Thanks -- Mark From kenj@internode.on.net Fri Feb 19 00:39:20 2016 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 D92197CAD for ; Fri, 19 Feb 2016 00:39:19 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6794DAC001 for ; Thu, 18 Feb 2016 22:39:19 -0800 (PST) X-ASG-Debug-ID: 1455863955-04cbb0479f8bb00001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id KGQcttLrhBLrhFD6 for ; Thu, 18 Feb 2016 22:39:16 -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: A2BnBgDgt8ZW/2A8LHlegzqBP6prkTSGBwQCAoFaTQEBAQEBAWUnhEEBAQEECAIeEhwvAQMCBgMOAwQBASgHGSANCQgCBAESCwWICbwHAQEIAgEdik2IbwWXBQGBQ4cAhnWEQ4hUjkdig3coLog8AQEB Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Feb 2016 17:09:14 +1030 From: "Ken McDonell" To: "'Mark Goodwin'" , "'pcp'" References: <56C691E0.4050808@redhat.com> In-Reply-To: <56C691E0.4050808@redhat.com> Subject: RE: [pcp] log import needs ability to write mark records? Date: Fri, 19 Feb 2016 17:38:56 +1100 X-ASG-Orig-Subj: RE: [pcp] log import needs ability to write mark records? Message-ID: <00ca01d16ae0$3d9ea240$b8dbe6c0$@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: AQHvyfb6m+pdJzgsqjl3bflfMPSsSZ72GTZA Content-Language: en-au X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455863955 X-Barracuda-URL: https://192.48.176.25:443/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.27152 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 > -----Original Message----- > From: pcp-bounces@oss.sgi.com [mailto:pcp-bounces@oss.sgi.com] On > Behalf Of Mark Goodwin > Sent: Friday, 19 February 2016 2:54 PM > To: pcp > Subject: [pcp] log import needs ability to write mark records? > > collectl2pcp can take multiple input logs from collectl and create a > single PCP archive. The input logs are often not temporally > contiguous, i.e. there may be a time interval between one log and the > next. > > Replaying the PCP log produces some unexpected results, and I suspect > this may be due to missing mark records. Is there any way to write out > a record in the PCP log, between processing input files? I > don't see any pmiFoo API function in LOGIMPORT for this ...? > > maybe it's better to write individual PCP logs, and then merge them? Mark, If you're sure about the temporal discontinuity (a real gap between the end of one archive and the start of the next archive in temporal order), then I could see the case for adding pmiPutMark() or similar to the Perl LogImport module (I don't think this is a libpcp candidate, so the implementation will need to be entirely in the perl wrapper). The code behind pmiPutMark() is a little tricky ... see putmark() in pmlogger/src/callback.c On the other hand, if collectl2pcp can't be sure of the temporal semantics, it would be better to process one archive at a time and then let pmlogextract merge 'em all if you need a single output archive. Dave, Please note this brings up a case where pmlogextract should _not_ follow the new multiple-archives semantics ... it _really_ needs to know where each archive ends, so transparently stitching multiple archives together under the covers in libpcp is going to be an issue. I think we need a discussion on some sort of new API to allow tools to discover how many archives are really behind an archive context ... pmlogextract needs the answer to be 1 for all of the input archive "names" on the command line (I think). From myllynen@redhat.com Fri Feb 19 02:20:23 2016 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 DA7A37CB0 for ; Fri, 19 Feb 2016 02:20:22 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 89A34AC001 for ; Fri, 19 Feb 2016 00:20:19 -0800 (PST) X-ASG-Debug-ID: 1455870012-04bdf003c29aa90001-S8gJnT Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by cuda.sgi.com with ESMTP id ARb27aF03kud0RMG (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 19 Feb 2016 00:20:13 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.45 Received: by mail-wm0-f45.google.com with SMTP id g62so59876500wme.0 for ; Fri, 19 Feb 2016 00:20:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:cc:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-type:content-transfer-encoding; bh=Lhh5TEp7PmHYnT4ro54SVxniYC2Zc3H/ufj/3wtTFKI=; b=TcoLbmukvaHFW+66VtwTvgr3GLEYaIJgQ0Nv+/HJGfWkN3B4NU7s6Z2NcyzPNX3CsC K1myElWIuWcdmf8RA+RqBXprTpfl6wxfOdZM4IxDkgCtHbS8ng7edgudXr9IoLi8y7WW FqIAb2uAysnsV7RYPpO77Azex+AfetNBEVvR3yxPYFV1za3V5+hrcJdh2EfDA9mPDoED r+GmKeA7zoa9Es2oSMZmRL2R7w64ZUmOFD2QJQKuDdIyyWzJWOHpW8xJGl72DVjxOwFK DNuzmgOtdFlzNI4wVaCe4n6Mf8LSJxomv5txuqc6/88VzD4wSQoc35fqtuuPl2VLQ+Zj XCjw== X-Gm-Message-State: AG10YOQfvbZsHycRnktVopDx7/nThkopPsQCN85f6aS79DxllUS4BR4O8OiVd7O43t7HoD39 X-Received: by 10.194.103.198 with SMTP id fy6mr13868755wjb.48.1455870012499; Fri, 19 Feb 2016 00:20:12 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3798:402:1fcc:a508:3? (dygydshyfyks85lkkyybt-4.rev.dnainternet.fi. [2001:14bb:140:3798:402:1fcc:a508:3]) by smtp.gmail.com with ESMTPSA id ka7sm10062626wjb.8.2016.02.19.00.20.11 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 19 Feb 2016 00:20:11 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] zbxpcp: add derived metrics support References: <56BAF517.4030300@redhat.com> <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> <56C35FEA.7080703@redhat.com> <1756331291.21417357.1455663060401.JavaMail.zimbra@redhat.com> X-ASG-Orig-Subj: Re: [pcp] zbxpcp: add derived metrics support To: Nathan Scott Cc: pcp developers From: Marko Myllynen Organization: Red Hat Message-ID: <56C6D039.7040808@redhat.com> Date: Fri, 19 Feb 2016 10:20:09 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1756331291.21417357.1455663060401.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f45.google.com[74.125.82.45] X-Barracuda-Start-Time: 1455870013 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27154 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi, On 2016-02-17 00:51, Nathan Scott wrote: > ----- Original Message ----- >> [...] >>> Looks good - warrants a tweak to qa/1067 to regression test it? >> >> Metrics with instances wouldn't work if the style fix would break things >> so I think we're ok in that sense > > Oh, I meant for the derived metric config support, not the style fix up. > > Such a simple change, maybe its borderline - but it might be good to have > a regression check that if the file name (monster) is in place, and has a > valid (or invalid) content, then good stuff (or appropriate error) happens. > Up to you, its simple stuff - lemme know if you think its worth it; if not > I think we can just push in that pmLoadDerivedConfig patch as-is. What do you think about this? $sudo must be defined in order this to work. --- qa/1067 | 18 ++++++++++++++++-- qa/1067.out | 4 ++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/qa/1067 b/qa/1067 index 6c24bae..3f3f6a5 100755 --- a/qa/1067 +++ b/qa/1067 @@ -18,19 +18,27 @@ which zabbix_agentd >/dev/null 2>&1 || \ test -f /etc/zabbix/zabbix_agentd.conf || \ _notrun "No configuration for the Zabbix agent daemon" grep -q zbxpcp /etc/zabbix/zabbix_agentd.conf || \ - _notrun "No configuration of the Zabbix PCP module" + _notrun "No configuration of the Zabbix agent PCP module" status=1 # failure is the default! control=$PCP_PMDAS_DIR/sample/dynamic.indom +derived=/etc/zabbix/zbxpcp-derived-metrics.conf $sudo rm -rf $tmp $tmp.* $seq.full +if ! test -f $derived; then + $sudo touch $derived + clean_derived=$derived +fi + _cleanup() { _restore_config $control - rm -f $tmp.* + _restore_config $derived + $sudo rm -f $tmp.* $clean_derived } trap "_cleanup; exit \$status" 0 1 2 3 15 _save_config $control +_save_config $derived _filter_values() { @@ -77,6 +85,12 @@ echo '2 two' >>$tmp.indom $sudo cp $tmp.indom $control zabbix_agentd -p | fgrep pcp.sample. | _filter_values +# derived metrics +echo mem.util.allcache = mem.util.cached + mem.util.slab | $sudo tee $derived +echo sample.derived.hundredten = sample.float.hundred + sample.double.ten | $sudo tee -a $derived +zabbix_agentd -t pcp.mem.util.allcache | _filter_values +zabbix_agentd -t pcp.sample.derived.hundredten | _filter_values + # success, all done status=0 exit diff --git a/qa/1067.out b/qa/1067.out index 4c55831..9d3e6c7 100644 --- a/qa/1067.out +++ b/qa/1067.out @@ -170,3 +170,7 @@ pcp.sample.dupnames.two.float.ten VALUE pcp.sample.dupnames.two.double.ten VALUE pcp.sample.dupnames.three.bin[bin-100] VALUE pcp.sample.dupnames.three.write_me VALUE +mem.util.allcache = mem.util.cached + mem.util.slab +sample.derived.hundredten = sample.float.hundred + sample.double.ten +pcp.mem.util.allcache VALUE +pcp.sample.derived.hundredten VALUE Thanks, -- Marko Myllynen From kenj@internode.on.net Fri Feb 19 02:49:59 2016 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 B386D7CB2 for ; Fri, 19 Feb 2016 02:49:59 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A0781304032 for ; Fri, 19 Feb 2016 00:49:59 -0800 (PST) X-ASG-Debug-ID: 1455871794-04cbb0479e90620001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id aGVWzJXFzHTEdxsG for ; Fri, 19 Feb 2016 00:49:55 -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: A2C4BgCZ1sZW/2A8LHlegzpSbYJpqBSRNRmFbgQCAoFSTQEBAQEBAWUnhEEBAQEECAIZMyMMAQMCBgMRBAEBAwIjAwICGSANCQgCBBMLBYgJrH2PHgEBAQcBAQEBHHuJUoc1gToFlwcBgUOEE4otjE2OR2KDeCguiDwBAQE Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Feb 2016 19:19:53 +1030 From: "Ken McDonell" To: "'Nathan Scott'" Cc: "'PCP'" References: <56C548F7.5020900@internode.on.net> <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> In-Reply-To: <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> Subject: RE: [pcp] question on rpm builds Date: Fri, 19 Feb 2016 19:49:34 +1100 X-ASG-Orig-Subj: RE: [pcp] question on rpm builds Message-ID: <015901d16af2$7ddefa50$799ceef0$@internode.on.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQHgON/4dwqgIEjqs/i0ynCqOizFCgHh6DLqnwZjgmA= Content-Language: en-au X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455871794 X-Barracuda-URL: https://192.48.176.25:443/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.27155 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 > -----Original Message----- > From: Nathan Scott [mailto:nathans@redhat.com] > Sent: Thursday, 18 February 2016 3:46 PM > To: Ken McDonell > Cc: PCP > Subject: Re: [pcp] question on rpm builds >=20 >=20 >=20 > ----- Original Message ----- > > In the process of debugging something else, I noticed this coming > out > > of the rpm builds ... > > > > Explicit %attr() mode not applicaple to symlink: > > > > /home/kenj/src/pcp/pcp-3.11.1/BUILDROOT/pcp-3.11.1- > 8.x86_64/usr/lib64/ > > libpcp.so > > > > and similar lines that appear to be for every symlink in the PCP > packages. > > > > Is this expected? >=20 > Yeah, its been generating that warning for years. Its most likely > from: > $1 =3D=3D "l" { print "%attr(0777,root,root)", $3 >> f }' > ... in pcp.spec.in? It may have once been accepted by an old version > of rpm/rpmbuild. Is there any reason why we should not simply kill this bit of the = script? If you can't set %attr() on a symlink, then this but of awk should be in = the bin, n'est ce pas? From nscott@redhat.com Fri Feb 19 02:52:08 2016 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 880D27CB2 for ; Fri, 19 Feb 2016 02:52:08 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id EAD81AC002 for ; Fri, 19 Feb 2016 00:52:04 -0800 (PST) X-ASG-Debug-ID: 1455871919-04cb6c770659dd0001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id 6g8iqgeVcAj5ED5K (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 00:51:59 -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 u1J8pxt2005182 for ; Fri, 19 Feb 2016 03:51:59 -0500 Date: Fri, 19 Feb 2016 03:51:58 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <1144168568.22132187.1455871918951.JavaMail.zimbra@redhat.com> In-Reply-To: <1708331790.22132138.1455871878420.JavaMail.zimbra@redhat.com> Subject: pcp updates: pmdaoracle, docs, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: pmdaoracle, docs, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.108] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: pmdaoracle, docs, qa Thread-Index: qZ1es2Vx3euBUQjigBNjOEblXRSyaQ== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1455871919 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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.27155 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 master Marko Myllynen (2): docs: fix double-and typo on zbxpcp man page qa: regression test for zbxpcp derived metrics config file Nathan Scott (2): pmdaoracle: implement a manual connection state change mechanism pmimport: check timestamp ordering in pmiPutResult too qa/1035 | 19 +++++ qa/1035.out | 15 ++++ qa/1067 | 26 ++++++-- qa/1067.out | 5 + src/libpcp_import/src/import.c | 39 ++++++++---- src/pmdas/oracle/pmdaoracle.1 | 43 ++++++++++++- src/pmdas/oracle/pmdaoracle.pl | 130 +++++++++++++++++++++++++++++++++++------ src/zabbix-agent/src/zbxpcp.3 | 2 8 files changed, 243 insertions(+), 36 deletions(-) commit e4ae611a169c85ea666b68e09f263fdaaadb2abd Author: Marko Myllynen Date: Fri Feb 19 19:39:03 2016 +1100 qa: regression test for zbxpcp derived metrics config file commit 820f7c511ce086b80461c54cd5f618d6732108e6 Author: Marko Myllynen Date: Fri Feb 19 19:30:06 2016 +1100 docs: fix double-and typo on zbxpcp man page commit da318b2a451a1e182544ab293e8d9b32c987f4a4 Author: Nathan Scott Date: Fri Feb 19 17:57:01 2016 +1100 pmimport: check timestamp ordering in pmiPutResult too commit 01938d2e490226f8f86653a628814baf8b5e34be Author: Nathan Scott Date: Fri Feb 19 12:55:59 2016 +1100 pmdaoracle: implement a manual connection state change mechanism Doug Nelson pointed out the persistent and auto-reconnect PMDA connections mean it can be problematic getting a clean shutdown of Oracle (ie, with no connected clients). This provides a new storable oracle.control.connected metric allowing this state to be manually managed. From nscott@redhat.com Fri Feb 19 02:52:28 2016 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 17E9F7CB2 for ; Fri, 19 Feb 2016 02:52:28 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9C603AC006 for ; Fri, 19 Feb 2016 00:52:27 -0800 (PST) X-ASG-Debug-ID: 1455871945-04cb6c770559de0001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id 8YXCDoKhn10lonIo (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 00:52:26 -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 u1J8qP1M012959; Fri, 19 Feb 2016 03:52:25 -0500 Date: Fri, 19 Feb 2016 03:52:25 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <705044299.22132200.1455871945329.JavaMail.zimbra@redhat.com> In-Reply-To: <56C6D039.7040808@redhat.com> References: <56BAF517.4030300@redhat.com> <561951755.20107378.1455148828758.JavaMail.zimbra@redhat.com> <56C35FEA.7080703@redhat.com> <1756331291.21417357.1455663060401.JavaMail.zimbra@redhat.com> <56C6D039.7040808@redhat.com> Subject: Re: [pcp] zbxpcp: add derived metrics support MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] zbxpcp: add derived metrics support Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.108] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: zbxpcp: add derived metrics support Thread-Index: a44kNWxTdM8+hKlEztyEg0vfVAygFA== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1455871945 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27155 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > On 2016-02-17 00:51, Nathan Scott wrote: > > ----- Original Message ----- > >> [...] > > Such a simple change, maybe its borderline - but it might be good to have > > a regression check that if the file name (monster) is in place, and has a > > valid (or invalid) content, then good stuff (or appropriate error) happens. > > Up to you, its simple stuff - lemme know if you think its worth it; if not > > I think we can just push in that pmLoadDerivedConfig patch as-is. > > What do you think about this? $sudo must be defined in order this to work. Looks good to me - I made some very minor tweaks for the overlapping changes to handle pre-existing dynamic.indom. cheers. -- Nathan From nscott@redhat.com Fri Feb 19 02:53:59 2016 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 A55AD7CB2 for ; Fri, 19 Feb 2016 02:53:59 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 881D8304032 for ; Fri, 19 Feb 2016 00:53:59 -0800 (PST) X-ASG-Debug-ID: 1455872037-04cb6c770559e70001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id iCVY264tvJr81CQ3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 00:53:58 -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 u1J8rtP1005287; Fri, 19 Feb 2016 03:53:55 -0500 Date: Fri, 19 Feb 2016 03:53:55 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell Cc: PCP Message-ID: <1369369635.22132330.1455872035063.JavaMail.zimbra@redhat.com> In-Reply-To: <015901d16af2$7ddefa50$799ceef0$@internode.on.net> References: <56C548F7.5020900@internode.on.net> <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> <015901d16af2$7ddefa50$799ceef0$@internode.on.net> Subject: Re: [pcp] question on rpm builds MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] question on rpm builds Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.108] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: question on rpm builds Thread-Index: AQHgON/4dwqgIEjqs/i0ynCqOizFCgHh6DLqnwZjgmDr8w7wiw== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1455872038 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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.27155 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 ----- Original Message ----- > [...] > Is there any reason why we should not simply kill this bit of the script? > I can't see any, but we'll soon find out - see commit 81573ccc81. cheers. -- Nathan From nscott@redhat.com Fri Feb 19 02:58:58 2016 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 63D7E7CB6 for ; Fri, 19 Feb 2016 02:58:58 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1272AC001 for ; Fri, 19 Feb 2016 00:58:57 -0800 (PST) X-ASG-Debug-ID: 1455872335-04cb6c77085a2f0001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id LwYt2rZmPEUHfBHe (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 19 Feb 2016 00:58:56 -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 u1J8wt4w024680 for ; Fri, 19 Feb 2016 03:58:55 -0500 Date: Fri, 19 Feb 2016 03:58:55 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <2011636209.22134327.1455872335426.JavaMail.zimbra@redhat.com> In-Reply-To: <922977669.22134287.1455872317173.JavaMail.zimbra@redhat.com> Subject: pcp updates: zbxpcp derived metrics MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: zbxpcp derived metrics Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.108] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: zbxpcp derived metrics Thread-Index: BqjOzBo28hVpKEn6SG0EU2TbAd9BSQ== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1455872335 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27155 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 master Marko Myllynen (1): zbxpcp: add derived metrics support src/zabbix-agent/src/zbxpcp.3 | 10 +++++++++- src/zabbix-agent/src/zbxpcp.c | 15 ++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) commit 8b75eeb282404ab22a7ffa0c26456d2cde9e76fa Author: Marko Myllynen Date: Fri Feb 19 19:57:10 2016 +1100 zbxpcp: add derived metrics support Turns out adding derived metrics support to zbxpcp is trivial. Based on comments from Ken I think we can ignore errors from pmLoadDerivedMetrics, if the configuration file is malformed then messages will be logged into the zabbix-agent log file. Update the man page accordingly. A small CodingStyle fixlet included as a bonus as well. From kenj@internode.on.net Fri Feb 19 03:04:05 2016 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 8A45D7CA1 for ; Fri, 19 Feb 2016 03:04:05 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1B43DAC001 for ; Fri, 19 Feb 2016 01:04:02 -0800 (PST) X-ASG-Debug-ID: 1455872638-04cb6c77055a570001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id BnJoa92AyDzNrG6G for ; Fri, 19 Feb 2016 01:03:59 -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: A2C2BgAP2sZW/2A8LHlegzqBP4JpqBaRNYYHBAICgVNNAQEBAQEBZSeEQQEBAQQIAhkzIwwBAwIGAxEEAQEDAiMDAgIZIA0JCAIEEwsFiAmse48eAQEBBwIBHXuJUoQFEQGDHoE6BZcHAYFDmw2OR2KDeCguhwuBMQEBAQ Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Feb 2016 19:33:58 +1030 From: "Ken McDonell" To: "'Nathan Scott'" Cc: "'PCP'" References: <56C548F7.5020900@internode.on.net> <1436029232.21802619.1455770764295.JavaMail.zimbra@redhat.com> <015901d16af2$7ddefa50$799ceef0$@internode.on.net> <1369369635.22132330.1455872035063.JavaMail.zimbra@redhat.com> In-Reply-To: <1369369635.22132330.1455872035063.JavaMail.zimbra@redhat.com> Subject: RE: [pcp] question on rpm builds Date: Fri, 19 Feb 2016 20:03:41 +1100 X-ASG-Orig-Subj: RE: [pcp] question on rpm builds Message-ID: <016a01d16af4$75475a70$5fd60f50$@internode.on.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQHgON/4dwqgIEjqs/i0ynCqOizFCgHh6DLqArQ78lUB/sn0Vp7gzxgg Content-Language: en-au X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455872638 X-Barracuda-URL: https://192.48.176.15:443/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.27155 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 > -----Original Message----- > From: Nathan Scott [mailto:nathans@redhat.com] > Sent: Friday, 19 February 2016 7:54 PM > To: Ken McDonell > Cc: PCP > Subject: Re: [pcp] question on rpm builds >=20 >=20 >=20 > ----- Original Message ----- > > [...] > > Is there any reason why we should not simply kill this bit of the > script? > > >=20 > I can't see any, but we'll soon find out - see commit 81573ccc81. Missed that commit email, sorry. Just checked ... and of the ones I've tried since that commit was merged = into my tree, the rpm warnings have gone away in 1 of 1 test cases = (where 100% of the tests passed) ... so that's encouraging. From noreply@github.com Fri Feb 19 03:11:59 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 7EA9B7CBE for ; Fri, 19 Feb 2016 03:11:59 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 60F9730408B for ; Fri, 19 Feb 2016 01:11:56 -0800 (PST) X-ASG-Debug-ID: 1455873112-04cb6c77075ab00001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id 1baOIFK2NfmZWTtx (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 19 Feb 2016 01:11:54 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aWh6K-00041r-AA for ; Fri, 19 Feb 2016 20:11:51 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Fri, 19 Feb 2016 01:11:40 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455873100; bh=B5R/mFM8s+uR0XTSv2UTHPFVgSpiRNANQtLJucaHSiM=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=NfuXH+eRk+j2pmJu5rhfQ9YpGlhQy0VaiCZo67NYoXnv3AgMQa91xuF8obCETZ3j3 ELQKHgnwT/LIE1NB57NssS/4yX0BrnVQeTH+vWgq9HY5hNUEV6cawxZQ387iOQXN9x LfHfS2JWvOkVNCjJ7DsANPYw8RMJR21A+RpFwBeg= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] OpenBSD support, EPROTO question (#71) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] OpenBSD support, EPROTO question (#71) Content-Type: multipart/alternative; boundary="--==_mimepart_56c6dc4c64572_3de43fbf2644729c5985fa"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1455873113 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27155 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56c6dc4c64572_3de43fbf2644729c5985fa Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Closed #71. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/71#event-556279497 ----==_mimepart_56c6dc4c64572_3de43fbf2644729c5985fa Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Closed #71.


Reply to this email directly or view it on GitHub.

----==_mimepart_56c6dc4c64572_3de43fbf2644729c5985fa-- From fche@redhat.com Fri Feb 19 07:18:39 2016 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 7FF137F37 for ; Fri, 19 Feb 2016 07:18:39 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 60FCA8F8040 for ; Fri, 19 Feb 2016 05:18:36 -0800 (PST) X-ASG-Debug-ID: 1455887912-04bdf003c3a8100001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id OzCDTPEOw5xAaSyt (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 05:18:32 -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 (Postfix) with ESMTPS id 05F938E386; Fri, 19 Feb 2016 13:18:31 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1JDIVn0010347; Fri, 19 Feb 2016 08:18:31 -0500 Received: by fche.csb (Postfix, from userid 2569) id 119F15865E; Fri, 19 Feb 2016 08:18:31 -0500 (EST) To: "Ken McDonell" Cc: "'Mark Goodwin'" , "'pcp'" Subject: Re: log import needs ability to write mark records? References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> X-ASG-Orig-Subj: Re: log import needs ability to write mark records? From: fche@redhat.com (Frank Ch. Eigler) Date: Fri, 19 Feb 2016 08:18:31 -0500 In-Reply-To: <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> (Ken McDonell's message of "Fri, 19 Feb 2016 17:38:56 +1100") 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: 1455887912 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 "Ken McDonell" writes: > [...] Please note this brings up a case where pmlogextract should > _not_ follow the new multiple-archives semantics ... it _really_ > needs to know where each archive ends [...] Isn't that exactly what the 's in an input archive are for? When pmlogextract is given a multi-archive, it should work the same way as upon an archive that was itself composed from multiple generations of pmlogextract (being merged multiple times) outputs. - FChE From alec@alectenharmsel.com Fri Feb 19 08:55:19 2016 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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 27A107F50 for ; Fri, 19 Feb 2016 08:55:19 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id EC13F304051 for ; Fri, 19 Feb 2016 06:55:18 -0800 (PST) X-ASG-Debug-ID: 1455893716-04bdf003c4cfd10001-S8gJnT Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by cuda.sgi.com with ESMTP id prrFIeycAw2YdGS7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 06:55:16 -0800 (PST) X-Barracuda-Envelope-From: alec@alectenharmsel.com X-Barracuda-Apparent-Source-IP: 66.111.4.28 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 49FF32074B for ; Fri, 19 Feb 2016 09:55:16 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute6.internal (MEProxy); Fri, 19 Feb 2016 09:55:16 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=5x HyUjwbUOysh78gzF+y17g5HSc=; b=nZC0hXhzIDS92DtK8RqQKNr93Z8t+ET1nh p+yaoS5IRDMV+xlhwFGJBhxG8E/2Tf3ljtF/qv9Tx6JfJevQjqGh72h59aMExbBI WwZcQ1WemSoSSRtFtVENjl2XTSLuC3b8QBc302aQVcL04Ru8L7iFcZEgADNI7Cx2 mlvkI0spg= X-Sasl-enc: iHmjCfEfx3C/qz7c0fdpAleW1JWu8s36wU6AjO1NgvYV 1455893715 Received: from apio.adsroot.itcs.umich.edu (0587379699.wireless.umich.net [35.2.179.243]) by mail.messagingengine.com (Postfix) with ESMTPA id E01EEC00018; Fri, 19 Feb 2016 09:55:15 -0500 (EST) Date: Fri, 19 Feb 2016 09:55:14 -0500 From: Alec Ten Harmsel To: pcp@oss.sgi.com Subject: support for elasticsearch 2 metrics Message-ID: <20160219145514.GB726@apio.adsroot.itcs.umich.edu> X-ASG-Orig-Subj: support for elasticsearch 2 metrics MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-Barracuda-Connect: out4-smtp.messagingengine.com[66.111.4.28] X-Barracuda-Start-Time: 1455893716 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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.27161 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 Hi, The ElasticSearch PMDA was mostly written in 2011-2013, and now the ES REST API has changed. Specifically, some of the URLs have changed: * _cluster/nodes/stats -> _nodes/stats * _cluster/nodes -> _nodes Are there any plans to add support for this new API? I searched on bugzilla and tasks.pcp.io, and couldn't find anything referencing an update of the elasticsearch PMDA. I am planning on patching this for our elasticsearch cluster; is it possible to get this work accepted upstream? Right now, I'm planning on copying the elasticsearch PDMA to elasticsearch2, so that they can coexist. Regards, Alec From kenj@internode.on.net Fri Feb 19 13:45:32 2016 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 886457C8C for ; Fri, 19 Feb 2016 13:45:32 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 431E6304032 for ; Fri, 19 Feb 2016 11:45:25 -0800 (PST) X-ASG-Debug-ID: 1455911122-04bdf07ab302340001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id GgAxs18tkwlnEhnD for ; Fri, 19 Feb 2016 11:45:22 -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: A2CtCQBPcMdWPGA8LHlegzqBP4Jpg3qkI5E1gl2DKgQCAoFWTQEBAQEBAQcBAQEBQAFAhEEBAQEDAQgCHRMcKAcBAwIGAxEEAQEoBxkgCgMJCAIEARILBYgCB7t9AQEIAh6KTYQmhEkFknOEFAGBQ412jReFcohWhFooLocEgTgBAQE Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Feb 2016 06:15:21 +1030 From: "Ken McDonell" To: "'Alec Ten Harmsel'" , References: <20160219145514.GB726@apio.adsroot.itcs.umich.edu> In-Reply-To: <20160219145514.GB726@apio.adsroot.itcs.umich.edu> Subject: RE: [pcp] support for elasticsearch 2 metrics Date: Sat, 20 Feb 2016 06:45:14 +1100 X-ASG-Orig-Subj: RE: [pcp] support for elasticsearch 2 metrics Message-ID: <01ea01d16b4e$0dfbc540$29f34fc0$@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: AQIY5BebY+q9HK2KMV4+a0vQt0FPs56k0Cmg Content-Language: en-au X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455911122 X-Barracuda-URL: https://192.48.157.11:443/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.27167 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 Welcome to the list Alec. > -----Original Message----- > From: pcp-bounces@oss.sgi.com [mailto:pcp-bounces@oss.sgi.com] On > Behalf Of Alec Ten Harmsel > Sent: Saturday, 20 February 2016 1:55 AM > To: pcp@oss.sgi.com > Subject: [pcp] support for elasticsearch 2 metrics > > Hi, > > The ElasticSearch PMDA was mostly written in 2011-2013, and now the ES > REST API has changed. Specifically, some of the URLs have changed: > > * _cluster/nodes/stats -> _nodes/stats > * _cluster/nodes -> _nodes > > Are there any plans to add support for this new API? I searched on > bugzilla and tasks.pcp.io, and couldn't find anything referencing an > update of the elasticsearch PMDA. I'm not aware of any plans. But that reflects the fact that the issue has not been raised previously. For many of the PMDA in PCP the core development team either does not have access to the associated services or is not using the PMDA in their day-to-day activities. We rely on others (like you) with interests in specific PMDAs to alert us to changes in the PMDA that would make it more useful. > I am planning on patching this for our elasticsearch cluster; is it > possible to get this work accepted upstream? Right now, I'm planning > on copying the elasticsearch PDMA to elasticsearch2, so that they can > coexist. We're happy to accept contributions and merge 'em, so that's not likely to be an issue. Rather than replicating the PMDA (especially if the bulk of the functionality is the same) we'd prefer to see a software engineering approach where the PMDA probes the source of the data, determines which version is currently running out there, and adjusts its behaviour accordingly. This may not be possible in some cases, but most commonly this is possible. The PMDA then supports the union of one or more versions of the external data source (ES in this case) and will continue to work even if that external source is subsequently upgraded. If there are additional metrics that may or may not be present, then setting the metric type to PM_TYPE_NOSUPPORT in the pmDesc structure indicates that the associated metric is missing (today). Instance domains are dynamic, so if the available instances of a metric change between versions of the external data source then this is reflected directly in the members of the associated instance domain. If you have further questions, this is the right forum to ask them. Good luck. From kenj@internode.on.net Fri Feb 19 13:50:11 2016 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 8A1F87C8C for ; Fri, 19 Feb 2016 13:50:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 03F7BAC001 for ; Fri, 19 Feb 2016 11:50:04 -0800 (PST) X-ASG-Debug-ID: 1455910227-04bdf07ab5016e0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id jQTvI2unTSiHLJYH for ; Fri, 19 Feb 2016 11:30: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: A2CqCQDwbMdWPGA8LHlegzqBP4Jpg3qkI5E1hgcEAgKBVk0BAQEBAQEHAQEBAUABQIRBAQEBBAgCMBwjDAEDAgYDEQQBASgHGSAKAwkIAgQTCwWICbwPAQEBBwIBHYpNiG8FlwcBgUONdoRDgyWFL45IhFooLog8AQEB Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Feb 2016 06:00:26 +1030 From: "Ken McDonell" To: "'Frank Ch. Eigler'" Cc: "'Mark Goodwin'" , "'pcp'" References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> In-Reply-To: Subject: RE: log import needs ability to write mark records? Date: Sat, 20 Feb 2016 06:30:18 +1100 X-ASG-Orig-Subj: RE: log import needs ability to write mark records? Message-ID: <01e601d16b4b$f84b2ad0$e8e18070$@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: AQHvyfb6m+pdJzgsqjl3bflfMPSsSQKWWfG5AhBJAdOe0cj7EA== Content-Language: en-au X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455910227 X-Barracuda-URL: https://192.48.157.11:443/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.27167 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 > -----Original Message----- > From: Frank Ch. Eigler [mailto:fche@redhat.com] > Sent: Saturday, 20 February 2016 12:19 AM > To: Ken McDonell > Cc: 'Mark Goodwin' ; 'pcp' > Subject: Re: log import needs ability to write mark records? > > "Ken McDonell" writes: > > > [...] Please note this brings up a case where pmlogextract should > > _not_ follow the new multiple-archives semantics ... it _really_ > needs > > to know where each archive ends [...] > > Isn't that exactly what the 's in an input archive are for? > When pmlogextract is given a multi-archive, it should work the same > way as upon an archive that was itself composed from multiple > generations of pmlogextract (being merged multiple times) outputs. Frank, the issue I was raising is that pmlogextract needs to know about the end of an _input_ archive so it can insert an appropriate record in the _output_ archive. At the moment, pmlogextract does not use any libpcp method to read archives (there are good reasons for this) and this is only going to work if each command line argument identifies a single archive, which is why I was suggesting the need for an additional "how many archives are behind this multi-archive" function. Tools like pmlogextract, pmlogcheck and pmlogreduce should all be considered as "extensions" of libpcp, and closer to pmlogger than general PMAPI clients. They consume and create archives directly and as such know about the on-disk structure and the internal libpcp data structures. I think this is OK and does not need to change. So I'd be happy for these tools to only work with single archive arguments. To allow pmlogextract to work with a multi-archive argument would seem to require a whole lot of rewriting of pmlogextract plus additional libpcp functionality (e.g. to enumerate all the archive names behind a multi-archives and then let these tools continue the way they operate today). Basically these tools are not helped by the multi-archive abstraction that is useful for general PMAPI clients, as they need to know about the end of each archive. From fche@redhat.com Fri Feb 19 13:50:59 2016 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 F06B27CA5 for ; Fri, 19 Feb 2016 13:50:58 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 61F47AC005 for ; Fri, 19 Feb 2016 11:50:52 -0800 (PST) X-ASG-Debug-ID: 1455911450-04cb6c455902110001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id eRNU8u44YybNRygs (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 11:50:51 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 7BD338AE72; Fri, 19 Feb 2016 19:50:50 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1JJooAR026665; Fri, 19 Feb 2016 14:50:50 -0500 Received: by fche.csb (Postfix, from userid 2569) id 1957C5865E; Fri, 19 Feb 2016 14:50:50 -0500 (EST) Date: Fri, 19 Feb 2016 14:50:50 -0500 From: "Frank Ch. Eigler" To: Ken McDonell Cc: "'Mark Goodwin'" , "'pcp'" Subject: Re: log import needs ability to write mark records? Message-ID: <20160219195050.GA21593@redhat.com> X-ASG-Orig-Subj: Re: log import needs ability to write mark records? References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> <01e601d16b4b$f84b2ad0$e8e18070$@internode.on.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01e601d16b4b$f84b2ad0$e8e18070$@internode.on.net> User-Agent: Mutt/1.4.2.2i 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: 1455911451 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Ken - Thanks for the explanation. On Sat, Feb 20, 2016 at 06:30:18AM +1100, Ken McDonell wrote: > [...] > > Isn't that exactly what the 's in an input archive are for? > > When pmlogextract is given a multi-archive, it should work the same > > way as upon an archive that was itself composed from multiple > > generations of pmlogextract (being merged multiple times) outputs. > > Frank, the issue I was raising is that pmlogextract needs to know about the > end of an _input_ archive so it can insert an appropriate record in > the _output_ archive. If pmlogextract were to consume a multi-archive, or an input archive that was formerly glued together from multiple parts, it would receive input records to correspond to the ends of the input archives. So it would just need to transcribe those into the output - something it presumably already does. > At the moment, pmlogextract does not use any libpcp method to read > archives (there are good reasons for this) [...] (Well, it does first open it with pmNewContext, so there's that.) > I was suggesting the need for an additional "how many archives are > behind this multi-archive" function. Dave and I were talking about an API to help with the pmlogreduce type-changing BZ; it could also serve this purpose: int pmGetContextArchives(char ***names, int **sts); ... so based on the sts[i] one can tell whether the given name[i] is ok, or what reason pcp multi-archive rejected it (OVERLAP, et.c) The rc could be the archive count, which would serve your purposes. > Tools like pmlogextract, pmlogcheck and pmlogreduce should all be considered > as "extensions" of libpcp, and closer to pmlogger than general PMAPI > clients. They consume and create archives directly and as such know about > the on-disk structure and the internal libpcp data structures. I think this > is OK and does not need to change. pmlogcheck, being fed a possibly-corrupted archive, I can certainly see. The other tools seem like they should be implementable in normal PMAPI. (They'd eschew the benefits brought by those those good reasons for the status quo, whatever they mey be!) - FChE From fche@redhat.com Fri Feb 19 14:17:44 2016 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 332777CA5 for ; Fri, 19 Feb 2016 14:17:44 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id A9974AC001 for ; Fri, 19 Feb 2016 12:17:37 -0800 (PST) X-ASG-Debug-ID: 1455912216-04cb6c455c02890001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id HGDPBnNeZEUxKwUn (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 19 Feb 2016 12:03:37 -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 (Postfix) with ESMTPS id 56AD95A5E; Fri, 19 Feb 2016 20:03:36 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1JK3a0M028095; Fri, 19 Feb 2016 15:03:36 -0500 Received: by fche.csb (Postfix, from userid 2569) id 0056F5865E; Fri, 19 Feb 2016 15:03:36 -0500 (EST) Date: Fri, 19 Feb 2016 15:03:36 -0500 From: "Frank Ch. Eigler" To: bugzilla-daemon@oss.sgi.com Cc: pcp@oss.sgi.com Subject: Re: [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Message-ID: <20160219200336.GB21593@redhat.com> X-ASG-Orig-Subj: Re: [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.2i 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: 1455912217 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi - kenj wrote, re PR1136: > (a) yes, the nirvana solution for pmlogreduce would be to convert > counter,bytes -> instant,bytes/sec Could you explain why? Random PCP tools would be just as able to do counter rate-conversion based on temporally-subsampled counter values as original counter values. Is there a complication other than the somewhat larger possibility of counter overflow between larger time samples? Could pmlogreduce handle those situations emitting of synthetic 0x0, 0xFFFFFF pairs of counter values for each complete overflow cycle? Then it could preserve the previous type/units. > (c) widening was added to pmlogreduce because the longer the time > interval that the archive spans the higher the probability of a > counter wrap, and in the absence of (a) the simplest way to deal > with this is to expand 32-bit counters to 64-bit counters Maybe a less simple way is worth considering, due to this fallout. It already makes the time-reduced archives difficult to glue together with others; further explicitly performed rate-conversion would make it worse. - FChE From mgoodwin@redhat.com Fri Feb 19 19:00:08 2016 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 B55117CAE for ; Fri, 19 Feb 2016 19:00:08 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 428498F8039 for ; Fri, 19 Feb 2016 17:00:02 -0800 (PST) X-ASG-Debug-ID: 1455928979-04bdf07ab515920001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 7LTn1SUW6okCTF9o (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 16:42:59 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 6CA7C13982D; Sat, 20 Feb 2016 00:42:59 +0000 (UTC) Received: from [10.64.48.63] (vpn1-48-63.bne.redhat.com [10.64.48.63]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1K0gvtu007093; Fri, 19 Feb 2016 19:42:58 -0500 Subject: Re: [pcp] log import needs ability to write mark records? To: Ken McDonell , "'pcp'" X-ASG-Orig-Subj: Re: [pcp] log import needs ability to write mark records? References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> From: Mark Goodwin Message-ID: <56C7B690.4070308@redhat.com> Date: Sat, 20 Feb 2016 11:42:56 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> Content-Type: multipart/mixed; boundary="------------050505090207080208010509" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Sat, 20 Feb 2016 00:42:59 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1455928979 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a multi-part message in MIME format. --------------050505090207080208010509 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 02/19/2016 05:38 PM, Ken McDonell wrote: ... >> collectl2pcp can take multiple input logs from collectl and create a >> single PCP archive. The input logs are often not temporally >> contiguous, i.e. there may be a time interval between one log and the >> next. >> >> Replaying the PCP log produces some unexpected results, and I suspect >> this may be due to missing mark records. Is there any way to write out >> a record in the PCP log, between processing input files? I >> don't see any pmiFoo API function in LOGIMPORT for this ...? >> >> maybe it's better to write individual PCP logs, and then merge them? > > Mark, > > If you're sure about the temporal discontinuity (a real gap between the end > of one archive and the start of the next archive in temporal order), then I there are definitely temporal gaps between the collectl input files - that's what triggered me to investigate the miss8ing mark records in the output archive, along with some clearly wrong interpolated pmchart plots. > could see the case for adding pmiPutMark() or similar to the Perl LogImport > module (I don't think this is a libpcp candidate, so the implementation will > need to be entirely in the perl wrapper). > > The code behind pmiPutMark() is a little tricky ... see putmark() in > pmlogger/src/callback.c ok, thanks for the pointer. I've taken that pmlogegr code as an example and added pmiPutMark() to libpcp_import, see attached patch. [with obviously more work todo to add this to the perl binding, qa tests, docs, etc.] > > On the other hand, if collectl2pcp can't be sure of the temporal semantics, > it would be better to process one archive at a time and then let > pmlogextract merge 'em all if you need a single output archive. > I tested the patch by using collectl2pcp on each inputfile, then used pmlogextract to merge them all together. And then used the new collectl2pcp to create a PCP archive from all the input files in one go. Then compared with pmdumplog -m | grep '' - the results and timestamps are in agreement. So the options here are to either take the patch and extend libpcp_import, or to rip out the multiple-input-file support in collectl2pcp, and instead rely on pmlogmerge. Seems to me there are legit uses for pmiPutMark(), so I'd rather go with the patch. Thoughts? Regards -- Mark --------------050505090207080208010509 Content-Type: text/x-patch; name="pmiPutMark.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pmiPutMark.patch" diff --git a/src/collectl2pcp/collectl2pcp.c b/src/collectl2pcp/collectl2pcp.c index c9755af..4bf6b58 100644 --- a/src/collectl2pcp/collectl2pcp.c +++ b/src/collectl2pcp/collectl2pcp.c @@ -248,12 +248,23 @@ main(int argc, char *argv[]) fields_free(f); } - /* final flush for this file */ + /* final flush for this collectl input log */ if ((sts = timestamp_flush()) < 0) { fprintf(stderr, "Error: failed to write final timestamp: %s\n", pmiErrStr(sts)); exit(1); } + if (filenum < nfilelist-1) { + /* + * End of this collectl input log and there's more input files, + * emit a to signify a temporal gap since the output PCP + * archive is effectively a merged archive. + */ + if (vflag) + fprintf(stderr, "End of collectl input file '%s', record emitted\n", infile); + pmiPutMark(); + } + if (gzipped) pclose(fp); else diff --git a/src/include/pcp/import.h b/src/include/pcp/import.h index e535796..5e6940f 100644 --- a/src/include/pcp/import.h +++ b/src/include/pcp/import.h @@ -42,6 +42,7 @@ PMI_CALL extern int pmiGetHandle(const char *, const char *); PMI_CALL extern int pmiPutValueHandle(int, const char *); PMI_CALL extern int pmiWrite(int, int); PMI_CALL extern int pmiPutResult(const pmResult *); +PMI_CALL extern int pmiPutMark(void); /* helper routines */ PMI_CALL extern pmID pmiID(int, int, int); diff --git a/src/libpcp_import/src/exports b/src/libpcp_import/src/exports index a544262..d484e6e 100644 --- a/src/libpcp_import/src/exports +++ b/src/libpcp_import/src/exports @@ -1,4 +1,4 @@ -PCP_IMPORT_1.0 { +PCP_IMPORT_1.1 { global: pmiStart; pmiSetHostname; @@ -23,6 +23,7 @@ PCP_IMPORT_1.0 { pmiPutValueHandle; pmiWrite; + pmiPutMark; local: *; }; diff --git a/src/libpcp_import/src/import.c b/src/libpcp_import/src/import.c index 71b8c7f..2ea08af 100644 --- a/src/libpcp_import/src/import.c +++ b/src/libpcp_import/src/import.c @@ -724,3 +724,40 @@ pmiPutResult(const pmResult *result) return current->last_sts = _pmi_put_result(current, current->result); } + +int +pmiPutMark(void) +{ + __pmLogCtl *lcp; + struct { + __pmPDU hdr; + __pmTimeval timestamp; /* when returned */ + int numpmid; /* zero PMIDs to follow */ + __pmPDU tail; + } mark; + + if (current == NULL) + return PM_ERR_NOCONTEXT; + + if (current->last_stamp.tv_sec == 0 && current->last_stamp.tv_usec == 0) + /* no earlier pmResult, no point adding a mark record */ + return 0; + lcp = ¤t->logctl; + + mark.hdr = htonl((int)sizeof(mark)); + mark.tail = mark.hdr; + mark.timestamp.tv_sec = current->last_stamp.tv_sec; + mark.timestamp.tv_usec = current->last_stamp.tv_usec + 1000; /* + 1msec */ + if (mark.timestamp.tv_usec > 1000000) { + mark.timestamp.tv_usec -= 1000000; + mark.timestamp.tv_sec++; + } + mark.timestamp.tv_sec = htonl(mark.timestamp.tv_sec); + mark.timestamp.tv_usec = htonl(mark.timestamp.tv_usec); + mark.numpmid = htonl(0); + + if (fwrite(&mark, 1, sizeof(mark), lcp->l_mfp) != sizeof(mark)) + return -oserror(); + else + return 0; +} --------------050505090207080208010509-- From alec@alectenharmsel.com Fri Feb 19 19:38:51 2016 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 517A97CB0 for ; Fri, 19 Feb 2016 19:38:51 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id AD7FDAC002 for ; Fri, 19 Feb 2016 17:38:44 -0800 (PST) X-ASG-Debug-ID: 1455931622-04cbb06adf0f770001-S8gJnT Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by cuda.sgi.com with ESMTP id xk2K510R3aoPfJHJ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 19 Feb 2016 17:27:03 -0800 (PST) X-Barracuda-Envelope-From: alec@alectenharmsel.com X-Barracuda-Apparent-Source-IP: 66.111.4.25 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id B0C4F20B8E for ; Fri, 19 Feb 2016 20:27:02 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Fri, 19 Feb 2016 20:27:02 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=x/exP3V93AX2mRKESfwbqX2CPIQ=; b=QS6lC NVkQo93d9jF2uztTN1Hi4Y41XP3Gy/v4YblJBM9DfEciJkfjpf9GhIkJlpv5LYfZ XpXntI/gwJJrmozAvQsnO1yPqW1DX1sWp7fTAUEUjSn134I0gJjdZIG/nOaRz8Lo cNkE0gI4XPO4bBNHuGMx+16DN9lHhBSKcnNn/A= X-Sasl-enc: 5iZVU9s99QqAIi4JEIzCJy0kdnl46MbdWgxQhmu1AjM6 1455931622 Received: from apio.adsroot.itcs.umich.edu (0587349125.wireless.umich.net [35.2.60.133]) by mail.messagingengine.com (Postfix) with ESMTPA id 4CCCA6800F7; Fri, 19 Feb 2016 20:27:02 -0500 (EST) Date: Fri, 19 Feb 2016 20:26:57 -0500 From: Alec Ten Harmsel To: Ken McDonell Cc: pcp@oss.sgi.com Subject: Re: [pcp] support for elasticsearch 2 metrics Message-ID: <20160220012657.GA832@apio.adsroot.itcs.umich.edu> X-ASG-Orig-Subj: Re: [pcp] support for elasticsearch 2 metrics References: <20160219145514.GB726@apio.adsroot.itcs.umich.edu> <01ea01d16b4e$0dfbc540$29f34fc0$@internode.on.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01ea01d16b4e$0dfbc540$29f34fc0$@internode.on.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-Barracuda-Connect: out1-smtp.messagingengine.com[66.111.4.25] X-Barracuda-Start-Time: 1455931622 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27174 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Sat, Feb 20, 2016 at 06:45:14AM +1100, Ken McDonell wrote: > Welcome to the list Alec. > Thanks Ken. > > > I am planning on patching this for our elasticsearch cluster; is it > > possible to get this work accepted upstream? Right now, I'm planning > > on copying the elasticsearch PDMA to elasticsearch2, so that they can > > coexist. > > We're happy to accept contributions and merge 'em, so that's not likely to > be an issue. Cool. I am assuming you would like all changes to be based of the master branch, right? > Rather than replicating the PMDA (especially if the bulk of the > functionality is the same) we'd prefer to see a software engineering > approach where the PMDA probes the source of the data, determines which > version is currently running out there, and adjusts its behaviour > accordingly. This may not be possible in some cases, but most commonly this > is possible. > > The PMDA then supports the union of one or more versions of the external > data source (ES in this case) and will continue to work even if that > external source is subsequently upgraded. Alright, I will definitely go in this direction then. I am also slightly mistaken; I thought my team was/is running ES 2, but we are still on 1.7 (issue still exists, of course - the joys of an unversioned REST API). In addition to the URL changes, the JSON data that is returned has also changed, so this will probably require a few more days. > If there are additional metrics that may or may not be present, then setting > the metric type to PM_TYPE_NOSUPPORT in the pmDesc structure indicates that > the associated metric is missing (today). > > Instance domains are dynamic, so if the available instances of a metric > change between versions of the external data source then this is reflected > directly in the members of the associated instance domain. Good to know, thanks. > If you have further questions, this is the right forum to ask them. > > Good luck. > Thanks, my perl is a bit rusty. Alec From kenj@internode.on.net Fri Feb 19 20:44:53 2016 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 1A04E7CB2 for ; Fri, 19 Feb 2016 20:44:53 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8151BAC002 for ; Fri, 19 Feb 2016 18:44:46 -0800 (PST) X-ASG-Debug-ID: 1455936275-04cbb06adf12060001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id xq3A5U0UEeLqorzN for ; Fri, 19 Feb 2016 18:44:36 -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: A2A1DgBr0sdW/2A8LHlegzqBP4JpqByIHYkYhgcEAgKBQE0BAQEBAQFlJ0EOAYNxAQEBBAgCMBwvAQMCBgMOAwQBASgHGSANCQgCBAESCwWICbt6AQsBHYpNiG8FknOEFAGBQ5sNjkhig3goLoQJhHEBAQE Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail07.adl2.internode.on.net with ESMTP; 20 Feb 2016 13:14:34 +1030 From: "Ken McDonell" To: "'Mark Goodwin'" , "'pcp'" References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> <56C7B690.4070308@redhat.com> In-Reply-To: <56C7B690.4070308@redhat.com> Subject: RE: [pcp] log import needs ability to write mark records? Date: Sat, 20 Feb 2016 13:44:13 +1100 X-ASG-Orig-Subj: RE: [pcp] log import needs ability to write mark records? Message-ID: <01ff01d16b88$9d4f9de0$d7eed9a0$@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: AQHvyfb6m+pdJzgsqjl3bflfMPSsSQKWWfG5AoWjZ1Sezp0OsA== Content-Language: en-au X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455936276 X-Barracuda-URL: https://192.48.176.25:443/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.27175 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 > -----Original Message----- > From: Mark Goodwin [mailto:mgoodwin@redhat.com] > Sent: Saturday, 20 February 2016 11:43 AM > To: Ken McDonell ; 'pcp' > Subject: Re: [pcp] log import needs ability to write mark records? > > ... > So the options here are to either take the patch and extend > libpcp_import, or to rip out the multiple-input-file support in > collectl2pcp, and instead rely on pmlogmerge. Seems to me there are > legit uses for pmiPutMark(), so I'd rather go with the patch. > Thoughts? My vote is to patch away! From kenj@internode.on.net Fri Feb 19 20:48:55 2016 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 EBDDA7CB2 for ; Fri, 19 Feb 2016 20:48:55 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id ADC908F8049 for ; Fri, 19 Feb 2016 18:48:49 -0800 (PST) X-ASG-Debug-ID: 1455936523-04cbb06add122d0001-S8gJnT Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id YKFFMif3YymlfB5p for ; Fri, 19 Feb 2016 18:48:43 -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: A2A7DgBw08dW/2A8LHlegzqBP4JpqByIHYkYhgMBAwQCAoFATQEBAQEBAWUnQQ4Bg3EBAQEECAIwHCMMAQMCBgMRBAEBKAcZIA0JCAIEEwsFiAm7egEBAQcCHopNiG8FlwcBgUObDY5IYoN4KC6ECYRxAQEB Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail07.adl2.internode.on.net with ESMTP; 20 Feb 2016 13:18:42 +1030 From: "Ken McDonell" To: "'Alec Ten Harmsel'" Cc: References: <20160219145514.GB726@apio.adsroot.itcs.umich.edu> <01ea01d16b4e$0dfbc540$29f34fc0$@internode.on.net> <20160220012657.GA832@apio.adsroot.itcs.umich.edu> In-Reply-To: <20160220012657.GA832@apio.adsroot.itcs.umich.edu> Subject: RE: [pcp] support for elasticsearch 2 metrics Date: Sat, 20 Feb 2016 13:48:22 +1100 X-ASG-Orig-Subj: RE: [pcp] support for elasticsearch 2 metrics Message-ID: <020101d16b89$31358e20$93a0aa60$@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: AQIY5BebY+q9HK2KMV4+a0vQt0FPswMYipdZAY+7RjuegAcV8A== Content-Language: en-au X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1455936523 X-Barracuda-URL: https://192.48.176.25:443/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.27176 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 > -----Original Message----- > From: Alec Ten Harmsel [mailto:alec@alectenharmsel.com] > Sent: Saturday, 20 February 2016 12:27 PM > To: Ken McDonell > Cc: pcp@oss.sgi.com > Subject: Re: [pcp] support for elasticsearch 2 metrics > ... > Cool. I am assuming you would like all changes to be based of the > master branch, right? Yep, that's the common code base for all development and releases. > ... From kenj@internode.on.net Sat Feb 20 00:01:00 2016 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 33E0A7CB6 for ; Sat, 20 Feb 2016 00:01:00 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 074B98F8049 for ; Fri, 19 Feb 2016 22:00:53 -0800 (PST) X-ASG-Debug-ID: 1455948037-04cb6c455c185e0001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id EXuQZuGFb566HVMq; Fri, 19 Feb 2016 22:00:38 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AuBwDK/8dWPGA8LHlegzqBP4ZjpCKRN4YHBAICgUFNAQEBAQEBBwEBAQFAAUCEQQEBAQQIAh0THCMMAQMCBgMRBAEBJAQHGSAKAwkIAgQBEgsFC4d+u14BAQEBAQUBAQEBARuKTYhvBYdWjzEBgUObDY5IgmIcFIFIKC6IegEBAQ Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail04.adl6.internode.on.net with ESMTP; 20 Feb 2016 16:30:35 +1030 From: "Ken McDonell" To: "'Frank Ch. Eigler'" , Cc: References: <20160219200336.GB21593@redhat.com> In-Reply-To: <20160219200336.GB21593@redhat.com> Subject: RE: [pcp] [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Date: Sat, 20 Feb 2016 17:00:25 +1100 X-ASG-Orig-Subj: RE: [pcp] [Bug 1136] pmlogreduce type conversion conflicts with naive multi-archive same-type assertion Message-ID: <020c01d16ba3$ff1ae910$fd50bb30$@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: AQIiJTKL5E3OAnQ0qbhx0jlC5B3lUQLgtCc2AlNPj5yeaMbp4A== Content-Language: en-au X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1455948037 X-Barracuda-URL: https://192.48.176.15:443/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.27179 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. > -----Original Message----- > From: pcp-bounces@oss.sgi.com [mailto:pcp-bounces@oss.sgi.com] On > Behalf Of Frank Ch. Eigler > Sent: Saturday, 20 February 2016 7:04 AM > To: bugzilla-daemon@oss.sgi.com > Cc: pcp@oss.sgi.com > Subject: Re: [pcp] [Bug 1136] pmlogreduce type conversion conflicts > with naive multi-archive same-type assertion > > Hi - > > kenj wrote, re PR1136: > > > (a) yes, the nirvana solution for pmlogreduce would be to convert > > counter,bytes -> instant,bytes/sec > > Could you explain why? Random PCP tools would be just as able to do > counter rate-conversion based on temporally-subsampled counter values > as original counter values. Is there a complication other than the > somewhat larger possibility of counter overflow between larger time > samples? Could pmlogreduce handle those situations emitting of > synthetic 0x0, 0xFFFFFF pairs of counter values for each complete > overflow cycle? Then it could preserve the previous type/units. There is a more fundamental (and compelling IMHO) reason ... We regularly rotate logs (daily by default). Then if we try to combine these into, say a weekly archive we end up with 6 records. Now if you try to pmlogreduce this to, say hourly summaries (so samples every hour), you end up with only 23 samples per day, thanks to the records. Later on, if you try to further reduce these to 4 hourly samples, 1/4 of the samples are missing, ... And later on if you try to reduce these to daily samples, and all of the data is missing! We could do better than this, especially since the original archives are (in general) more than 99% complete. Consider the case of counter metrics and the original data was sampled at 5 min intervals, and the log rotation occurs just after midnight, then we have values for 11 of the 12 intervals from midnight to 1am and could assert that the "average" over the hour to 1am was the _time_ averaged value over the 11 observations (this is the integral under the area where the values are known divided by the time interval where the values are known). The more frequent the sampling, the more accurate this approximation becomes ... we'd need some concept of a threshold of % of time covered by observations in the interval before accepting the _time_ average as semantically OK. If all the values are known, then _time_ average above is arithmetically identical the average gradient we return today after interpolation and rate conversion. This method also works for counter reset due to pmda or pmcd restart. And for bonus points, it can be adjusted to handle counter wraps in a sane manner. But it does require changing the metric semantics in the reduced archive from counter to rate. Because you cannot reliably distinguish counter wrap from reset I don't think there is any way to synthesize counter values across an archive boundary. The _same_ algorithm works for instantaneous (and discrete) metrics, although they do not require a change in the metric semantics. > > > (c) widening was added to pmlogreduce because the longer the time > > interval that the archive spans the higher the probability of a > > counter wrap, and in the absence of (a) the simplest way to deal > with > > this is to expand 32-bit counters to 64-bit counters > > Maybe a less simple way is worth considering, due to this fallout. It > already makes the time-reduced archives difficult to glue together > with others; further explicitly performed rate-conversion would make > it worse. I am not sure we can avoid changed semantics for pmlogreduced archives. Which may mean we need to change the archive management procedures to maintain two overlapping sets of archives ... the first in the original time precision, and a second set of pmlogreduced archives, e.g. yesterday ...... a week ago ...................... a month ago ............. <-------------------> original archives <---------------------------------------------------------------- pmlogreduced archives And then the user has to choose if they doing analysis over the short term (where higher sampling rates are more useful) or the longer term (when longer sampling rates are probably required both from analysis and data volume considerations). We're still very much in "design my argument" mode here (that's good, not bad, by the way). So let's keep the discussion going in the hope that our ideas and requirements and expectations converge, rather than diverge. From kenj@internode.on.net Sat Feb 20 13:22:22 2016 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 7FA7F7CBA for ; Sat, 20 Feb 2016 13:22:22 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 464CD8F8049 for ; Sat, 20 Feb 2016 11:22:16 -0800 (PST) X-ASG-Debug-ID: 1455996120-04cb6c455c29de0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id ZC2x8XAbLax0WB8F for ; Sat, 20 Feb 2016 11:22:01 -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: A2D7BgBtvMhWPGA8LHlegzqBP4ZjpCqRN4YHBAICgTJNAQEBAQEBBwEBAQFAAUCEQQEBAQMBCAIwHCMMAQMCBgMRBAEBKAcZIAoDCQgCBBMLBYgCB7s+AQEBBwIBHYpNiG8Fh2CFSoExiCwBgUOHAYZ1h2iFL45JhFooLoh0AQEB Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail06.adl2.internode.on.net with ESMTP; 21 Feb 2016 05:51:58 +1030 From: "Ken McDonell" To: "'Frank Ch. Eigler'" Cc: "'Mark Goodwin'" , "'pcp'" References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> <01e601d16b4b$f84b2ad0$e8e18070$@internode.on.net> <20160219195050.GA21593@redhat.com> In-Reply-To: <20160219195050.GA21593@redhat.com> Subject: RE: log import needs ability to write mark records? Date: Sun, 21 Feb 2016 06:21:46 +1100 X-ASG-Orig-Subj: RE: log import needs ability to write mark records? Message-ID: <021a01d16c13$f15987d0$d40c9770$@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: AQHvyfb6m+pdJzgsqjl3bflfMPSsSQKWWfG5AhBJAdMCcB7TWwJqywbjnqun3kA= Content-Language: en-au X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1455996120 X-Barracuda-URL: https://192.48.176.15:443/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.27192 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 > -----Original Message----- > From: Frank Ch. Eigler [mailto:fche@redhat.com] > Sent: Saturday, 20 February 2016 6:51 AM > To: Ken McDonell > Cc: 'Mark Goodwin' ; 'pcp' > Subject: Re: log import needs ability to write mark records? > > ... > If pmlogextract were to consume a multi-archive, or an input archive > that was formerly glued together from multiple parts, it would receive > input records to correspond to the ends of the input archives. Not with the code base today ... the magic archive switching that Dave's added below the context layer is in libpcp ... pmlogextract does not use this to read the archive it has its own customized "get the next log record" routine that replaces __pmLogRead() (to see why you'll only need to stare a diff of the two routines). So I'd expect it to open the multi-archive context, but then only process whatever archive is the current one after the context is set up ... presumably the first in temporal order. > ... > Dave and I were talking about an API to help with the pmlogreduce > type-changing BZ; it could also serve this purpose: > > int pmGetContextArchives(char ***names, int **sts); > > ... so based on the sts[i] one can tell whether the given name[i] is > ok, or what reason pcp multi-archive rejected it (OVERLAP, et.c) The > rc could be the archive count, which would serve your purposes. Yep, that would do the trick just fine ... pmlogextract would require pmGetContextArchives() to return 1 for each command line input archive name. > > > Tools like pmlogextract, pmlogcheck and pmlogreduce should all be > > considered as "extensions" of libpcp, and closer to pmlogger than > > general PMAPI clients. They consume and create archives directly > and > > as such know about the on-disk structure and the internal libpcp > data > > structures. I think this is OK and does not need to change. > > pmlogcheck, being fed a possibly-corrupted archive, I can certainly > see. The other tools seem like they should be implementable in normal > PMAPI. (They'd eschew the benefits brought by those those good > reasons for the status quo, whatever they mey be!) I don't see these as PMAPI clients ... PMAPI clients operate streams of performance data with some metadata and ancillary services. The tools that operate on PCP archives are doing something special and quite different in my world view. From noreply@github.com Sat Feb 20 14:14:28 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 0D71E7CBD for ; Sat, 20 Feb 2016 14:14:28 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 90E03AC004 for ; Sat, 20 Feb 2016 12:14:21 -0800 (PST) X-ASG-Debug-ID: 1455999249-04bdf07ab373870001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id JgXNi1EKkubqVpfK (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sat, 20 Feb 2016 12:14:10 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext4.iad.github.net ([192.30.252.195] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXDun-0007NK-Ek for ; Sun, 21 Feb 2016 07:14:08 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.195 X-Barracuda-RBL-IP: 192.30.252.195 X-Barracuda-BBL-IP: 192.30.252.195 Date: Sat, 20 Feb 2016 12:13:58 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1455999238; bh=KwwNbxQcd6ELXpMP4//F1/8YPr8fHgShZKhdPVqU3bw=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=A/ZfLAdYP8i/zvk6Tha2H0nF594lt14Rx9bRrP6KF93aQm/2IJEHf7usW05leexCY K7XLOjfe6iakgAMzKiSFNuhbJst1L5O0+lzAY3wpbdRDlJTc2jyYkZxWgJjR9nbwfw GQxSAtISJSe/8tu4QbNWnejOwToHRqcSftDizKf8= From: Lex Rivera Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Content-Type: multipart/alternative; boundary="--==_mimepart_56c8c906cd18_6ac13fa9ba2e72c0821b0"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rlex X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1455999250 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27193 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56c8c906cd18_6ac13fa9ba2e72c0821b0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit /var/lib/pcp/pmdas: ``` activemq/ bonding/ dbping/ ds389log/ gluster/ jbd2/ linux/ lustre/ memcache/ mounts/ news/ nvidia/ perfevent/ proc/ rsyslog/ sendmail/ slurm/ trace/ unbound/ xfs/ apache/ cifs/ dm/ elasticsearch/ gpfs/ json/ lmsensors/ lustrecomm/ mic/ named/ nfsclient/ papi/ pipe/ roomtemp/ samba/ shping/ snmp/ trivial/ vmware/ zimbra/ bash/ cisco/ ds389/ gfs2/ gpsd/ kvm/ logger/ mailq/ mmv/ netfilter/ nginx/ pdns/ pmcd/ root/ sample/ simple/ summary/ txmon/ weblog/ zswap/ ``` Full output: http://pastebin.com/5G7YgpVE --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/73#issuecomment-186675589 ----==_mimepart_56c8c906cd18_6ac13fa9ba2e72c0821b0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

/var/lib/pcp/pmdas:

activemq/  bonding/  dbping/  ds389log/       gluster/  jbd2/  linux/      lustre/      memcache/  mounts/     news/       nvidia/  perfevent/  proc/      rsyslog/  sendmail/  slurm/    trace/    unbound/  xfs/
apache/    cifs/     dm/      elasticsearch/  gpfs/     json/  lmsensors/  lustrecomm/  mic/       named/      nfsclient/  papi/    pipe/       roomtemp/  samba/    shping/    snmp/     trivial/  vmware/   zimbra/
bash/      cisco/    ds389/   gfs2/           gpsd/     kvm/   logger/     mailq/       mmv/       netfilter/  nginx/      pdns/    pmcd/       root/      sample/   simple/    summary/  txmon/    weblog/   zswap/

Full output: http://pastebin.com/5G7YgpVE


Reply to this email directly or view it on GitHub.

----==_mimepart_56c8c906cd18_6ac13fa9ba2e72c0821b0-- From kenj@internode.on.net Sat Feb 20 21:51:30 2016 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 ED8377F37 for ; Sat, 20 Feb 2016 21:51:29 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B8C468F8035 for ; Sat, 20 Feb 2016 19:51:23 -0800 (PST) X-ASG-Debug-ID: 1456026667-04cbb06ae038ef0001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id b7vkBpOWe5W1XD12 for ; Sat, 20 Feb 2016 19:51:08 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DIBwALM8lWPGA8LHlegzqBP4ZjpCmRN4YHBAICgSdNAQEBAQEBBwEBAQFAAUCEQQEBAQQIAhcBBi4jDAEDAgYDEQQBAQIDCxgCAwIZIAoDCQgCBAESCwWICY9LnQ4BjjMBAQEBBgEBAQEceIlVhzKBPQWXBwGBQ5sNjkmCZRmBXCguiHQBAQE Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail04.adl6.internode.on.net with ESMTP; 21 Feb 2016 14:21:06 +1030 From: "Ken McDonell" To: "'Frank Ch. Eigler'" , "'Lukas Berk'" Cc: References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <8737ssptwp.fsf@redhat.com> In-Reply-To: Subject: RE: Derived metric issues Date: Sun, 21 Feb 2016 14:50:51 +1100 X-ASG-Orig-Subj: RE: Derived metric issues Message-ID: <000101d16c5b$0feb2ef0$2fc18cd0$@internode.on.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQHUeX3N1oEBYQg8H015/Judt3cPQQFDvULXAgTHmS8Aercbb58Rp/Zg Content-Language: en-au X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456026667 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: -0.09 X-Barracuda-Spam-Status: No, SCORE=-0.09 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, ISO2022JP_BODY, ISO2022JP_CHARSET, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27201 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 ISO2022JP_CHARSET ISO-2022-JP message 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.10 ISO2022JP_BODY BODY: ISO-2022-JP message > -----Original Message----- > From: Frank Ch. Eigler [mailto:fche@redhat.com] > Sent: Wednesday, 17 February 2016 3:48 AM > To: Lukas Berk > Cc: Ken McDonell ; pcp@oss.sgi.com > Subject: Re: Derived metric issues > ... > Perhaps we can say it's a best-effort load attempt, and only result > codes 0...N are to be expected. (Ditch the negative error codes.) > That gives the author no help as to which derived metrics were in fact > loaded, but that's OK. She'll find that out soon enough when trying a > pmLookup* etc. I checked the code in libpcp ... it was wrong and did not accumulate the count of loaded definitions correctly when more than one file was processed. That is now fixed. I check the QA ... incomplete coverage of the error scenarios we're talking about here ... qa/969 is new to address this. In the process I discovered that bad derived metric specifications generate quite verbose and succinct error messages! And finally the man page now reads like this ... Because pmLoadDerivedConfig may process many files, each of which may contain many derived metric specifications, it is not possible to pro $B!>(B vide very specific error status on return. Hence the result from pmLoadDerivedConfig will be the number of derived metrics successfully loaded from files on the given path. Catastrophic errors such as not being able to open one of the files on the given path will cause an immediate return with a negative return value that can be passed to pmErrStr(3) to obtain the associated error message. When errors are encountered in the derived metric specifications diag $B!>(B nostic messages are generated by pmRegisterDerived(3) and displayed via pmprintf(3). I think that should suffice to close this issue. From kenj@kenj.com.au Sun Feb 21 04:12:11 2016 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 2C7F97F4E for ; Sun, 21 Feb 2016 04:12:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id DF0468F8040 for ; Sun, 21 Feb 2016 02:12:04 -0800 (PST) X-ASG-Debug-ID: 1456049514-04bdf07ab68e890001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id am9mQPTIN9MYK3aW for ; Sun, 21 Feb 2016 02:11:54 -0800 (PST) X-Barracuda-Envelope-From: kenj@kenj.com.au X-Barracuda-Apparent-Source-IP: 150.101.137.129 Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO kenj) ([121.44.60.96]) by ipmail06.adl2.internode.on.net with ESMTP; 21 Feb 2016 20:41:53 +1030 Received: by kenj (Postfix, from userid 1000) id 125AAA027D; Sun, 21 Feb 2016 21:11:37 +1100 (AEDT) To: pcp@oss.sgi.com Subject: pcp updates: pmLoadDerivedConfig() changes Message-Id: <20160221101138.125AAA027D@kenj> X-ASG-Orig-Subj: pcp updates: pmLoadDerivedConfig() changes Date: Sun, 21 Feb 2016 21:11:38 +1100 (AEDT) From: kenj@kenj.com.au (Ken McDonell) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1456049514 X-Barracuda-URL: https://192.48.157.11:443/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.27207 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (3): qa/src/loadderived: new test app for pmLoadDerivedConfig() qa/969: (new) exercise error cases for pmLoadDerivedConfig() pmLoadDerivedConfig(): fix return value and update man page man/man3/pmloadderivedconfig.3 | 19 ++++- qa/969 | 66 ++++++++++++++++++++ qa/969.out | 133 +++++++++++++++++++++++++++++++++++++++++ qa/group | 1 qa/new | 2 qa/src/.gitignore | 1 qa/src/GNUlocaldefs | 3 qa/src/loadderived.c | 58 +++++++++++++++++ src/libpcp/src/derive.c | 19 ++++- 9 files changed, 293 insertions(+), 9 deletions(-) Details ... commit c3dee2aeaefe30dac59c707864381734f9a878cd Author: Ken McDonell Date: Sun Feb 21 21:07:43 2016 +1100 pmLoadDerivedConfig(): fix return value and update man page commit d607a43d46a10e57dd8bb1e3aebd66b1f414a8fe Author: Ken McDonell Date: Sun Feb 21 21:07:06 2016 +1100 qa/969: (new) exercise error cases for pmLoadDerivedConfig() commit 1c7422da7f9e0658a3d5a3d8e1ae665475f861a5 Author: Ken McDonell Date: Sun Feb 21 20:56:00 2016 +1100 qa/src/loadderived: new test app for pmLoadDerivedConfig() From fche@redhat.com Sun Feb 21 07:18:50 2016 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 7E1167F51 for ; Sun, 21 Feb 2016 07:18:50 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 444C3304051 for ; Sun, 21 Feb 2016 05:18:44 -0800 (PST) X-ASG-Debug-ID: 1456060098-04cbb06ade41de0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id bCESkoqWdWdf3zFB (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 21 Feb 2016 05:08:19 -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 (Postfix) with ESMTPS id B8937804F5; Sun, 21 Feb 2016 13:08:18 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1LD8I1W032378; Sun, 21 Feb 2016 08:08:18 -0500 Received: by fche.csb (Postfix, from userid 2569) id 1345B5863B; Sun, 21 Feb 2016 08:08:18 -0500 (EST) Date: Sun, 21 Feb 2016 08:08:18 -0500 From: "Frank Ch. Eigler" To: Ken McDonell Cc: "'Lukas Berk'" , pcp@oss.sgi.com Subject: Re: Derived metric issues Message-ID: <20160221130818.GA24969@redhat.com> X-ASG-Orig-Subj: Re: Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <8737ssptwp.fsf@redhat.com> <000101d16c5b$0feb2ef0$2fc18cd0$@internode.on.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000101d16c5b$0feb2ef0$2fc18cd0$@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: 1456060099 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Ken - > [...] > And finally the man page now reads like this ... > [...] Catastrophic errors such as not being able to open one of the > files on the given path will cause an immediate return with a > negative return value [...] Is it obvious that such an error must be considered "catastrophic"? The string parameter is now a colon-separated path with directories and/or files. Why would we want to stop after the first "not being able to open", instead of continuing? - FChE From kenj@internode.on.net Sun Feb 21 13:20:02 2016 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 7AEF37CAE for ; Sun, 21 Feb 2016 13:20:02 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id F3276AC00F for ; Sun, 21 Feb 2016 11:19:55 -0800 (PST) X-ASG-Debug-ID: 1456082386-04bdf07ab39bf50001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id JdpSEOmZ8XedxRjR for ; Sun, 21 Feb 2016 11:19:47 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AZCADEDMpWPGA8LHlegzqBP4Jpg3qkKpE3hgcEAgKBIE0BAQEBAQEHAQEBAUABQIRBAQEBBAgCHhIcIwwBAwIGAxEEAQEoBxkgCgMJCAIEEwsFiAm7FAEBAQEGAgEdik2IbwWXBwGBQ5sNjkmEWiguiFYBAQE Received: from ppp121-44-60-96.lns20.syd4.internode.on.net (HELO bozohorize) ([121.44.60.96]) by ipmail04.adl6.internode.on.net with ESMTP; 22 Feb 2016 05:49:45 +1030 From: "Ken McDonell" To: "'Frank Ch. Eigler'" Cc: "'Lukas Berk'" , References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <8737ssptwp.fsf@redhat.com> <000101d16c5b$0feb2ef0$2fc18cd0$@internode.on.net> <20160221130818.GA24969@redhat.com> In-Reply-To: <20160221130818.GA24969@redhat.com> Subject: RE: Derived metric issues Date: Mon, 22 Feb 2016 06:19:27 +1100 X-ASG-Orig-Subj: RE: Derived metric issues Message-ID: <000c01d16cdc$c8f1f4c0$5ad5de40$@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: AQHUeX3N1oEBYQg8H015/Judt3cPQQFDvULXAgTHmS8AercbbwHsGnhPAw4lBmee6tlzEA== Content-Language: en-au X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456082386 X-Barracuda-URL: https://192.48.157.11:443/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.27217 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 > -----Original Message----- > From: Frank Ch. Eigler [mailto:fche@redhat.com] > Sent: Monday, 22 February 2016 12:08 AM > To: Ken McDonell > Cc: 'Lukas Berk' ; pcp@oss.sgi.com > Subject: Re: Derived metric issues > > Hi, Ken - > > > [...] > > And finally the man page now reads like this ... > > > [...] Catastrophic errors such as not being able to open one of the > > files on the given path will cause an immediate return with a > negative > > return value [...] > > Is it obvious that such an error must be considered "catastrophic"? > The string parameter is now a colon-separated path with directories > and/or files. Why would we want to stop after the first "not being > able to open", instead of continuing? For all the use cases I can think of, someone using this routine would be doing so with an expectation that the path argument contains only readable files and/or directories. There is no clearly "right" answer for all of the (low probability, I would expect) corner cases, so I think the behaviour I've implemented is OK until I hear a plausible use case where this is produces unexpected results. From fche@redhat.com Sun Feb 21 13:30:14 2016 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 86C547F56 for ; Sun, 21 Feb 2016 13:30:14 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id EF130AC012 for ; Sun, 21 Feb 2016 11:30:07 -0800 (PST) X-ASG-Debug-ID: 1456083000-04cbb06ae048350001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 0TaYDrDPFeWgljBM (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 21 Feb 2016 11:30:01 -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 (Postfix) with ESMTPS id 16FDE3298; Sun, 21 Feb 2016 19:30:00 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1LJTx99017247; Sun, 21 Feb 2016 14:29:59 -0500 Received: by fche.csb (Postfix, from userid 2569) id 55FDA5863B; Sun, 21 Feb 2016 14:29:59 -0500 (EST) Date: Sun, 21 Feb 2016 14:29:59 -0500 From: "Frank Ch. Eigler" To: Ken McDonell Cc: "'Lukas Berk'" , pcp@oss.sgi.com Subject: Re: Derived metric issues Message-ID: <20160221192959.GB24969@redhat.com> X-ASG-Orig-Subj: Re: Derived metric issues References: <56B99888.2020408@redhat.com> <56BA4445.2030404@internode.on.net> <8737ssptwp.fsf@redhat.com> <000101d16c5b$0feb2ef0$2fc18cd0$@internode.on.net> <20160221130818.GA24969@redhat.com> <000c01d16cdc$c8f1f4c0$5ad5de40$@internode.on.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000c01d16cdc$c8f1f4c0$5ad5de40$@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: 1456083000 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi, Ken - > > Is it obvious that such an error must be considered "catastrophic"? > > The string parameter is now a colon-separated path with directories > > and/or files. Why would we want to stop after the first "not being > > able to open", instead of continuing? > > For all the use cases I can think of, someone using this routine would be > doing so with an expectation that the path argument contains only readable > files and/or directories. I see what you mean. > There is no clearly "right" answer for all of the (low probability, I would > expect) corner cases, so I think the behaviour I've implemented is OK until > I hear a plausible use case where this is produces unexpected results. I suggest that this particular error handling mode is itself a corner case. There are many possible causes of error. By classifying only some as "catastrophic" - and not definining that term but rather listing just one examplar, an application programmer can't use the negative RC any differently than a zero RC. It does not really convey actionable information. - FChE From noreply@github.com Sun Feb 21 19:30:11 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 59B1C7CA1 for ; Sun, 21 Feb 2016 19:30:11 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 027CC8F80B8 for ; Sun, 21 Feb 2016 17:30:05 -0800 (PST) X-ASG-Debug-ID: 1456102612-04bdf07ab3a6fe0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id DKBbEp2fMZs5F0Uy (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 21 Feb 2016 16:56:53 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext1.iad.github.net ([192.30.252.192] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXenc-0005Yh-Hb for ; Mon, 22 Feb 2016 11:56:34 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.192 X-Barracuda-RBL-IP: 192.30.252.192 X-Barracuda-BBL-IP: 192.30.252.192 Date: Sun, 21 Feb 2016 16:56:18 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456102578; bh=NqsNhC4KX6VTpIJvBHL1qjFo7Xbe00mTUUZHMMzbYbM=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=eEoUeZvibfJqsVn4ZNqZR+hDTrnXEjamis+e7ySxNC6HQCrKL3dS59+VixHpN9iw5 M2qBYO53pepzVZurlY26S5hxKEMgDci9VSlpQSra1aQgHeMP8fw/seubnNm03slIq6 1VLS3wWbjBvi5Mpjw8wHwaKS71v4JlR3KVZ10uT8= From: pcuzner Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] Pcp dmcache fix (#74) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] Pcp dmcache fix (#74) Content-Type: multipart/alternative; boundary="--==_mimepart_56ca5cb2418e3_69473f88a183f2c09094e3"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: pcuzner X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456102613 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27224 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56ca5cb2418e3_69473f88a183f2c09094e3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit small patch making the lvname column width dynamic, so names aren't truncated. This truncation was becoming more of a problem with thinpools, since adding a cache to a thinpool has been introduced which adds _tdata to the end of the LV name You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/74 -- Commit Summary -- * make the width of the lvname dynamic to avoid truncation * sync change with upstream -- File Changes -- M src/pcp/dmcache/pcp-dmcache.py (68) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/74.patch https://github.com/performancecopilot/pcp/pull/74.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/74 ----==_mimepart_56ca5cb2418e3_69473f88a183f2c09094e3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

small patch making the lvname column width dynamic, so names aren't truncated. This truncation was becoming more of a problem with thinpools, since adding a cache to a thinpool has been introduced which adds _tdata to the end of the LV name


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/74

Commit Summary

  • make the width of the lvname dynamic to avoid truncation
  • sync change with upstream

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

----==_mimepart_56ca5cb2418e3_69473f88a183f2c09094e3-- From kenj@internode.on.net Sun Feb 21 21:30:55 2016 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 B89507C8C for ; Sun, 21 Feb 2016 21:30:55 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2DB80AC00E for ; Sun, 21 Feb 2016 19:30:49 -0800 (PST) X-ASG-Debug-ID: 1456111840-04cbb06adf52410001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id YGvk80fE8wkDooxs for ; Sun, 21 Feb 2016 19:30:40 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DBAgDffspWPFBJ0XYNUYtctWeGDQKBdQEBAQEBAQcBAQEBQYEBEgGDbgEBAwE4QQULCyElDwIyFBMIAQGIDqYWjyQBAQEBAQUCAR2JUH2FAYNuBZcHjzqHaIUvjkmEWoQMhHoBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 22 Feb 2016 13:55:24 +1030 Subject: Re: [pcp] Few doc issues To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Few doc issues References: <5652E148.1090806@redhat.com> From: Ken McDonell Cc: marko Myllynen Message-ID: <56CA7FA3.70503@internode.on.net> Date: Mon, 22 Feb 2016 14:25:23 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <5652E148.1090806@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456111840 X-Barracuda-URL: https://192.48.176.25:443/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.27227 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 23/11/15 20:50, Marko Myllynen wrote: Sorry Marko, it has taken a few months to get to this ... > > I see -O described in PCPIntro(1) as expected but pmprobe(1) and > pminfo(1) also discuss an -O related timezone issue which is not > described in PCPIntro(1), pmval(1), or pmdumptext(1). If the issue is a > general one, could the discussion perhaps moved to PCPIntro(1)? (While > at it, perhaps it could also be clarified a bit, I had to read it twice > to get a hang of it.) I've culled the text from pmprobe(1) and pminfo(1) and revamped the text and inserted it into PCPIntro(1). > Also, in few clients I see this kind of code used in preparation for a > pmSetMode(1) call: > ... > I don't think merely by reading the current pmSetMode(1) a client > developer could instantly see something like this would be needed. As > per the best cargo-cult practices I already started to use something > similar in pmrep but might still be nice to have few words about this in > pmSetMode(1)? Fair point ... 1. this code is ugly and 2. the pmSetMode(1) verbage gives no clue how to use PM_XTB_SET(). I've reworked pmSetMode(1) to try and explain better and give a less convoluted example. Lemme know if these changes help once my commits percolate back to the main tree. From kenj@internode.on.net Sun Feb 21 22:26:26 2016 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 7F5047CB2 for ; Sun, 21 Feb 2016 22:26:26 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 005F8AC00E for ; Sun, 21 Feb 2016 20:26:19 -0800 (PST) X-ASG-Debug-ID: 1456115170-04cbb06add53660001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id bZJ8UGZFDHqaib2e for ; Sun, 21 Feb 2016 20:26:11 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DBAgDwjMpWPFBJ0XYNUYQMbYZjtWgZh28BAQEBAQEHAQEBAUGBARIBhBdVMAYCBRYLAgsDAgECATEnBgIBAa4sZ45oe45TgjSBOgWHVo8xhVeWeo5JhFpWgzaEegEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 22 Feb 2016 14:56:10 +1030 To: pcp@oss.sgi.com Subject: pcp updates: address Marko's man page issues From: Ken McDonell X-ASG-Orig-Subj: pcp updates: address Marko's man page issues Message-ID: <56CA8DE1.9050004@internode.on.net> Date: Mon, 22 Feb 2016 15:26:09 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456115170 X-Barracuda-URL: https://192.48.176.25:443/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.27228 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (3): man pages: move discussion of timezone issues for -O into pcpIntro(1) pmSetMode man page: clarify use of PM_XTB_SET() macro PCPIntro(1) man page: add note about when to set environment variables man/man1/pcpintro.1 | 19 ++++++++++ man/man1/pminfo.1 | 28 --------------- man/man1/pmprobe.1 | 28 --------------- man/man3/pmsetmode.3 | 91 ++++++++++++++++++++++++++++++++++++++++----------- 4 files changed, 91 insertions(+), 75 deletions(-) Details ... commit 2a6d14dbcb513ecb0ba5bdc82652eeaef4fe96c8 Author: Ken McDonell Date: Mon Feb 22 15:10:06 2016 +1100 PCPIntro(1) man page: add note about when to set environment variables commit 625d21713bfc98e49146a281d88ef79e9b62f23a Author: Ken McDonell Date: Mon Feb 22 14:21:00 2016 +1100 pmSetMode man page: clarify use of PM_XTB_SET() macro commit c37f0ed45f7fac4c16068c077dfd6cec1a477ddd Author: Ken McDonell Date: Mon Feb 22 06:45:51 2016 +1100 man pages: move discussion of timezone issues for -O into pcpIntro(1) And cull the related verbage from pminfo(1) and pmprobe(1). From kenj@internode.on.net Sun Feb 21 22:28:51 2016 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 1A1D47CB2 for ; Sun, 21 Feb 2016 22:28:51 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8DE05AC00D for ; Sun, 21 Feb 2016 20:28:44 -0800 (PST) X-ASG-Debug-ID: 1456114194-04cbb06ade52da0001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id cSFNDcLREHCRtpDl for ; Sun, 21 Feb 2016 20:09:55 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DBAgBuicpWPFBJ0XYNUYtctWiGDQKBeQEBAQEBAQcBAQEBQYEBEgGDbgEBBHgBEAsYCRYPCQMCAQIBMRQTCAEBriePIgEBAQEBAQQBAQEBHIpNhQGDbgEElwecUY5JhFqEDIR6AQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 22 Feb 2016 14:39:54 +1030 Subject: Re: [pcp] Few doc issues To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] Few doc issues References: <5652E148.1090806@redhat.com> <565479F9.2070805@redhat.com> Cc: Marko Myllynen From: Ken McDonell Message-ID: <56CA8A11.7060202@internode.on.net> Date: Mon, 22 Feb 2016 15:09:53 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <565479F9.2070805@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456114194 X-Barracuda-URL: https://192.48.176.25:443/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.27228 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 25/11/15 01:53, Marko Myllynen wrote: > ... > one more thing that came up is that PCPIntro(1) does not explicitly > mention when PMCD_REQUEST_TIMEOUT et al should be set. Granted, most > will rightly assume that they should be set before pmNewContext() but I > think it'd be nice to spell this out to remove any doubts. This applies to more than PMCD_REQUEST_TIMEOUT, so rather than clutter the description of each environment variable, the following caveat has been added near the start of the ENVIRONMENT section Note that most uses of these environment variables are optimized to check the environment only the first time the variable might be used. As the environment usually is not checked again, the only safe strategy is to ensure all PCP-related environment variables are set before the first call into any of the PCP libraries. From noreply@github.com Sun Feb 21 22:44:00 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 D98C87CB2 for ; Sun, 21 Feb 2016 22:44:00 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id A913030408D for ; Sun, 21 Feb 2016 20:43:54 -0800 (PST) X-ASG-Debug-ID: 1456116231-04cb6c455b5b710001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id LpsCEn1HnMUn59CP (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 21 Feb 2016 20:43:52 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXiLW-0001yW-IK for ; Mon, 22 Feb 2016 15:43:49 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Sun, 21 Feb 2016 20:43:35 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456116215; bh=HVm7hJDz+wtWUDbE7uQ717bu0tNuI4uqnxmKIJr3Rho=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=AJDxAEJlZBTy7zSHwJl1O2c/rrSER+PFslmtH2XKlBkNN6fGg0fDIXakLL/uZa+8D 76Az68Lt4jkOi8elsgYz9QgoYmMapoptMFBI/k1h5aEGbiHm9Vy5Te8O0i9R8sGjqF yfGYH6zUNZlRokMYakf/wMXuiT2Uk12gVTC7zChk= From: pcuzner Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Pcp dmcache fix (#74) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Pcp dmcache fix (#74) Content-Type: multipart/alternative; boundary="--==_mimepart_56ca91f77fa3f_20113f886ad292b84806d4"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: pcuzner X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456116232 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27228 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ca91f77fa3f_20113f886ad292b84806d4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit interesting. so you have a system that doesn't pass in the - syntax? --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/74#issuecomment-187006824 ----==_mimepart_56ca91f77fa3f_20113f886ad292b84806d4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

interesting. so you have a system that doesn't pass in the - syntax?


Reply to this email directly or view it on GitHub.

----==_mimepart_56ca91f77fa3f_20113f886ad292b84806d4-- From noreply@github.com Sun Feb 21 22:44:32 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 77CA87CB7 for ; Sun, 21 Feb 2016 22:44:32 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3933030408C for ; Sun, 21 Feb 2016 20:44:26 -0800 (PST) X-ASG-Debug-ID: 1456116262-04cb6c455a5b760001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id 3aKw4ncEk31DR36I (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 21 Feb 2016 20:44:24 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXiLp-0002rx-EO for ; Mon, 22 Feb 2016 15:44:22 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Sun, 21 Feb 2016 20:43:54 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456116234; bh=578f/uDn8fZ1jFfFVTquTXUHCuu8DJs3nrPS4DpNVUY=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=g53tPzAF85Wruj+h4XgP3ZtnPy5hg89rZlo6uxB9YCC/k3ZW8wa7H3Ccn8i3MVxHN +L+S2987HKLsIXpkPJY6TcT+0Dj0KrCzLc+0qGd3vYyR3CyDJeygICCQzoR/abJpiU GQhyAhJjphe33F8XFO0koTqPFLKwip1st9DUPY9s= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Pcp dmcache fix (#74) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Pcp dmcache fix (#74) Content-Type: multipart/alternative; boundary="--==_mimepart_56ca9209f3be7_66a63fd79d45329c78765d"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1456116263 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27228 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ca9209f3be7_66a63fd79d45329c78765d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit | Could you just confirm that re use was not needed Pretty sure this is the case, so I've tidied up & merged. If needed, could you post a followup commit Paul? Thanks again! --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/74#issuecomment-187006968 ----==_mimepart_56ca9209f3be7_66a63fd79d45329c78765d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

| Could you just confirm that re use was not needed

Pretty sure this is the case, so I've tidied up & merged. If needed, could you post a followup commit Paul? Thanks again!


Reply to this email directly or view it on GitHub.

----==_mimepart_56ca9209f3be7_66a63fd79d45329c78765d-- From nscott@redhat.com Sun Feb 21 22:45:03 2016 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 8957D7CB2 for ; Sun, 21 Feb 2016 22:45:03 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3B96C8F80B5 for ; Sun, 21 Feb 2016 20:44:57 -0800 (PST) X-ASG-Debug-ID: 1456116292-04bdf07ab3abb00001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id Nf9OSOgpS8hmQuuw (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 21 Feb 2016 20:44:53 -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 u1M4iqtZ031234 for ; Sun, 21 Feb 2016 23:44:52 -0500 Date: Sun, 21 Feb 2016 23:44:52 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <1056665520.23621778.1456116292399.JavaMail.zimbra@redhat.com> Subject: pcp updates: pcuzner+kenj merges, small bug fixes MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: pcuzner+kenj merges, small bug fixes Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: pcuzner+kenj merges, small bug fixes Thread-Index: EI6SWC4UrG7b+Z9RRbXqrlDX16GnQQ== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1456116293 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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.27228 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 master Ken McDonell (6): qa/src/loadderived: new test app for pmLoadDerivedConfig() qa/969: (new) exercise error cases for pmLoadDerivedConfig() pmLoadDerivedConfig(): fix return value and update man page man pages: move discussion of timezone issues for -O into pcpIntro(1) pmSetMode man page: clarify use of PM_XTB_SET() macro PCPIntro(1) man page: add note about when to set environment variables Nathan Scott (3): pmieconf: tweak default delta/holdoff for pmda status pmdaproc: fix possible sigsegv with unexpected refresh order pcp-dmcache: minor fixes, python3 porting after recent change Paul Cuzner (2): make the width of the lvname dynamic to avoid truncation sync change with upstream man/man1/pcpintro.1 | 19 man/man1/pminfo.1 | 28 man/man1/pmprobe.1 | 28 man/man3/pmloadderivedconfig.3 | 19 man/man3/pmsetmode.3 | 91 +- qa/800 | 12 qa/800.out | 24 qa/829.out | 1606 ++++++++++++++++++++-------------------- qa/969 | 66 + qa/969.out | 133 +++ qa/group | 1 qa/new | 2 qa/src/.gitignore | 1 qa/src/GNUlocaldefs | 3 qa/src/loadderived.c | 58 + src/libpcp/src/derive.c | 19 src/pcp/dmcache/pcp-dmcache.py | 117 +- src/pmdas/linux_proc/pmda.c | 6 src/pmdas/linux_proc/proc_pid.c | 33 src/pmieconf/pcp/pmda_status | 6 20 files changed, 1315 insertions(+), 957 deletions(-) commit 2a6d14dbcb513ecb0ba5bdc82652eeaef4fe96c8 Author: Ken McDonell Date: Mon Feb 22 15:10:06 2016 +1100 PCPIntro(1) man page: add note about when to set environment variables commit 85c572dc0bf23ba8b5967cd19d779a02611f6e92 Author: Nathan Scott Date: Mon Feb 22 14:58:19 2016 +1100 pcp-dmcache: minor fixes, python3 porting after recent change Drop the regular expression module use, not needed. Fix the old tabs vs spaces whitespace problem from py3. Update test 829 to expect the more compact output format. commit 081dc66e0e6ed1e6a3f07715c0921bb5c9f32d17 Author: Nathan Scott Date: Mon Feb 22 14:32:14 2016 +1100 pmdaproc: fix possible sigsegv with unexpected refresh order Noticed a pmdaproc failure when hotproc refresh interval was set without a configuration file (everythings fine if config specified beforehand though). Extended the qa/800 coverage. commit 625d21713bfc98e49146a281d88ef79e9b62f23a Author: Ken McDonell Date: Mon Feb 22 14:21:00 2016 +1100 pmSetMode man page: clarify use of PM_XTB_SET() macro commit 174507dc4f6d672810781d8b8ea5914d878f47f5 Author: Nathan Scott Date: Mon Feb 22 13:45:40 2016 +1100 pmieconf: tweak default delta/holdoff for pmda status commit efbb5b9aa7a57437e029c82f54259caa2d21542b Author: Paul Cuzner Date: Mon Feb 22 13:52:57 2016 +1300 sync change with upstream commit 94af8970aa6dee1178c085e5c8f7d6acde702d99 Author: Paul Cuzner Date: Mon Feb 22 13:37:44 2016 +1300 make the width of the lvname dynamic to avoid truncation commit c37f0ed45f7fac4c16068c077dfd6cec1a477ddd Author: Ken McDonell Date: Mon Feb 22 06:45:51 2016 +1100 man pages: move discussion of timezone issues for -O into pcpIntro(1) And cull the related verbage from pminfo(1) and pmprobe(1). commit c3dee2aeaefe30dac59c707864381734f9a878cd Author: Ken McDonell Date: Sun Feb 21 21:07:43 2016 +1100 pmLoadDerivedConfig(): fix return value and update man page commit d607a43d46a10e57dd8bb1e3aebd66b1f414a8fe Author: Ken McDonell Date: Sun Feb 21 21:07:06 2016 +1100 qa/969: (new) exercise error cases for pmLoadDerivedConfig() commit 1c7422da7f9e0658a3d5a3d8e1ae665475f861a5 Author: Ken McDonell Date: Sun Feb 21 20:56:00 2016 +1100 qa/src/loadderived: new test app for pmLoadDerivedConfig() From noreply@github.com Sun Feb 21 23:28:51 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 188197CB2 for ; Sun, 21 Feb 2016 23:28:51 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 728B8AC00F for ; Sun, 21 Feb 2016 21:28:44 -0800 (PST) X-ASG-Debug-ID: 1456117921-04cbb06ae054960001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id FiK9BfgozNbZ7iRv (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 21 Feb 2016 21:12:03 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext7.iad.github.net ([192.30.252.198] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXimc-00071o-Fk for ; Mon, 22 Feb 2016 16:12:01 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.198 X-Barracuda-RBL-IP: 192.30.252.198 X-Barracuda-BBL-IP: 192.30.252.198 Date: Sun, 21 Feb 2016 21:05:51 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456117551; bh=TILY2HOmXnJ7eEyHbdNWpNpFW41nigfim5ZhDm2FZrE=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=0mY7YzS4NX9uGXi4wvTZ5Rtx2Tv1KZE/ikEKZ2A3ZPGe4vG4C6Q3LK731nXO4jjJL d6e/yl7fvJBSs9KRnWne6SaNtaAAqN0M82L+gn6TyC+NVxOMkFGlRiKFRgB+LF+4yE JeM8EprPTd+cbzcvQjfvdpyhiQRr5C2SI6rRYYN8= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Content-Type: multipart/alternative; boundary="--==_mimepart_56ca972f3789f_2c373fe139ef52b887429d"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456117923 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27229 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ca972f3789f_2c373fe139ef52b887429d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit | OK, that's a problem with the software installation on the build machine used to create these packages ... I'll try and get it sorted. @kmcdonell I guess its some missing Build-Depends fields in debian/control, now that we have configure.ac checks for more perl/python packages? --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/73#issuecomment-187015886 ----==_mimepart_56ca972f3789f_2c373fe139ef52b887429d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

| OK, that's a problem with the software installation on the build machine used to create these packages ... I'll try and get it sorted.

@kmcdonell I guess its some missing Build-Depends fields in debian/control, now that we have configure.ac checks for more perl/python packages?


Reply to this email directly or view it on GitHub.

----==_mimepart_56ca972f3789f_2c373fe139ef52b887429d-- From noreply@github.com Sun Feb 21 23:52:16 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 59CFF7CB2 for ; Sun, 21 Feb 2016 23:52:16 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 28C2B8F80B9 for ; Sun, 21 Feb 2016 21:52:10 -0800 (PST) X-ASG-Debug-ID: 1456120326-04cbb06add569d0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id JpMUD9yqfCWuEWt4 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 21 Feb 2016 21:52:08 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXjPL-0000hX-Kk for ; Mon, 22 Feb 2016 16:52:05 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Sun, 21 Feb 2016 21:32:18 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456119138; bh=Ve25+vN2lpGhK+hozdUOQhtC/Weog6m7iXJZaTlnccw=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=pAM2YyvPtCeiTHiCDBfadnWp3tTgigU55wnEKiJ2yHgML4pZR3lyGrxLO1/fR6h91 rBYnw6clJqjsnHtiIQ1/kn6qjJbb3XJnjk7dFj8sCljaig8hreS70rFwBSLszTnUiP l+6yl994a3tQbHSJn+V8EQXJKRzRymX6HMOw0aVI= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Content-Type: multipart/alternative; boundary="--==_mimepart_56ca9d6238e04_40f53fa9633c72a09286e6"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1456120327 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27230 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ca9d6238e04_40f53fa9633c72a09286e6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit @natoscott I think the list of missing build dependencies has grown quite long ... comparing debian/control to the dpkg? lines in qa/admin/check-vm (and ignoring the obvious QA ones), I think the missing list looks like: libclass-dbi-perl, libdbd-mysql-perl, libdbd-pg-perl, dpkg-dev, build-essential, dh-python, libcairo2-dev, libpapi-dev, libpfm4-dev, g++, libncurses5-dev, python-six, python-json-pointer, libextutils-autoinstall-perl, libxml-tokeparser-perl, librrds-perl, libjson-perl, libwww-perl, libnet-snmp-perl, qt4-qmake, libnss3-tools Hmm ... may be it is time to figure out how to diff the pkgs I build and test compared to those uploaded to bintray, and I guess those that Debian end up building each time we push a new version. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/73#issuecomment-187021894 ----==_mimepart_56ca9d6238e04_40f53fa9633c72a09286e6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

@natoscott I think the list of missing build dependencies has grown quite long ... comparing debian/control to the dpkg? lines in qa/admin/check-vm (and ignoring the obvious QA ones), I think the missing list looks like:
libclass-dbi-perl, libdbd-mysql-perl, libdbd-pg-perl, dpkg-dev, build-essential, dh-python, libcairo2-dev, libpapi-dev, libpfm4-dev, g++, libncurses5-dev, python-six, python-json-pointer, libextutils-autoinstall-perl, libxml-tokeparser-perl, librrds-perl, libjson-perl, libwww-perl, libnet-snmp-perl, qt4-qmake, libnss3-tools

Hmm ... may be it is time to figure out how to diff the pkgs I build and test compared to those uploaded to bintray, and I guess those that Debian end up building each time we push a new version.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ca9d6238e04_40f53fa9633c72a09286e6-- From nscott@redhat.com Mon Feb 22 00:18:47 2016 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 E274A7CB2 for ; Mon, 22 Feb 2016 00:18:47 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B1D0F8F80B2 for ; Sun, 21 Feb 2016 22:18:41 -0800 (PST) X-ASG-Debug-ID: 1456121225-04cbb06adf56ef0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id GrkTg8ZoG4jz6biE (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 21 Feb 2016 22:07:06 -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 u1M675Gn003406 for ; Mon, 22 Feb 2016 01:07:05 -0500 Date: Mon, 22 Feb 2016 01:07:04 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <563007240.23642202.1456121224871.JavaMail.zimbra@redhat.com> Subject: pcp updates: build MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: build Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: build Thread-Index: Xjz0HvJAos5vgVDUi9cfv21MeIxUlQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456121226 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27230 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 master Nathan Scott (2): build: fix af_unix-related solaris build failure build: fix compiler warnings from perl PMDA module configure | 2 - configure.ac | 4 +-- src/libpcp/src/derive.c | 3 ++ src/perl/PMDA/PMDA.xs | 49 +++++++++++++++++++++++++++++++++++++----------- 4 files changed, 44 insertions(+), 14 deletions(-) commit 957fc11f6c93e81adcea406703b8f1ee1ea860a9 Author: Nathan Scott Date: Mon Feb 22 17:05:56 2016 +1100 build: fix compiler warnings from perl PMDA module commit fdc5c9a63f6e7122608a1ff04d2691658b89082a Author: Nathan Scott Date: Mon Feb 22 16:47:22 2016 +1100 build: fix af_unix-related solaris build failure Add the missing cflags incantations to pick up all of the missed CMSG and related macros. Fix compiler warning from index() call, needs conditional strings.h use on Solaris. From kenj@internode.on.net Mon Feb 22 03:30:03 2016 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 E01D17F50 for ; Mon, 22 Feb 2016 03:30:03 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A0D798F8073 for ; Mon, 22 Feb 2016 01:29:57 -0800 (PST) X-ASG-Debug-ID: 1456132717-04bdf07ab3b4dc0001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id GNKGwSUWhOVUwaRo for ; Mon, 22 Feb 2016 01:18:38 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2ByAwBY0cpWPFBJ0XYNUYQMbYZjrFCJGBmHdgEBAQEBAQcBAQEBQYEBEgGEF1UwBgIFFgsCCwMCAQIBMScGAgEBrylnjnJ7jlOCNIE6BZcHhVeCbpQMjkmEWlaDNoR6AQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail04.adl6.internode.on.net with ESMTP; 22 Feb 2016 19:48:37 +1030 To: pcp@oss.sgi.com Subject: pcp updates: qa/969 From: Ken McDonell X-ASG-Orig-Subj: pcp updates: qa/969 Message-ID: <56CAD26C.9050505@internode.on.net> Date: Mon, 22 Feb 2016 20:18:36 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456132717 X-Barracuda-URL: https://192.48.157.11:443/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.27233 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (1): qa/969: fix directory order non-determinism qa/969 | 15 +++++++++++++-- qa/969.out | 18 +++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) Details ... commit 5a91cddc96a7d1b13fe6198b49f8b225ab4eb40c Author: Ken McDonell Date: Mon Feb 22 20:16:17 2016 +1100 qa/969: fix directory order non-determinism Initial sort effort was not quite right. From brolley@redhat.com Mon Feb 22 10:29:00 2016 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 0D54E7F66 for ; Mon, 22 Feb 2016 10:29:00 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A3D458F80B9 for ; Mon, 22 Feb 2016 08:28:53 -0800 (PST) X-ASG-Debug-ID: 1456158532-04bdf07ab5c4420001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Uf53vrXwvp6r0CDc (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 22 Feb 2016 08:28:52 -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 (Postfix) with ESMTPS id 569FF65418 for ; Mon, 22 Feb 2016 16:28:39 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1MGScHx003617 for ; Mon, 22 Feb 2016 11:28:39 -0500 Message-ID: <56CB3735.4010802@redhat.com> Date: Mon, 22 Feb 2016 11:28:37 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: pcp@oss.sgi.com Subject: Re: [pcp] log import needs ability to write mark records? References: <56C691E0.4050808@redhat.com> <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] log import needs ability to write mark records? In-Reply-To: <00ca01d16ae0$3d9ea240$b8dbe6c0$@internode.on.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 22 Feb 2016 16:28:39 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456158532 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/19/2016 01:38 AM, Ken McDonell wrote: >> -----Original Message----- >> From: pcp-bounces@oss.sgi.com [mailto:pcp-bounces@oss.sgi.com] On >> Behalf Of Mark Goodwin >> Sent: Friday, 19 February 2016 2:54 PM >> To: pcp >> Subject: [pcp] log import needs ability to write mark records? >> >> collectl2pcp can take multiple input logs from collectl and create a >> single PCP archive. The input logs are often not temporally >> contiguous, i.e. there may be a time interval between one log and the >> next. >> >> Replaying the PCP log produces some unexpected results, and I suspect >> this may be due to missing mark records. Is there any way to write out >> a record in the PCP log, between processing input files? I >> don't see any pmiFoo API function in LOGIMPORT for this ...? >> >> maybe it's better to write individual PCP logs, and then merge them? > Mark, > > If you're sure about the temporal discontinuity (a real gap between the end > of one archive and the start of the next archive in temporal order), then I > could see the case for adding pmiPutMark() or similar to the Perl LogImport > module (I don't think this is a libpcp candidate, so the implementation will > need to be entirely in the perl wrapper). > > The code behind pmiPutMark() is a little tricky ... see putmark() in > pmlogger/src/callback.c > > On the other hand, if collectl2pcp can't be sure of the temporal semantics, > it would be better to process one archive at a time and then let > pmlogextract merge 'em all if you need a single output archive. > > Dave, > > Please note this brings up a case where pmlogextract should _not_ follow the > new multiple-archives semantics ... it _really_ needs to know where each > archive ends, so transparently stitching multiple archives together under > the covers in libpcp is going to be an issue. I think we need a discussion > on some sort of new API to allow tools to discover how many archives are > really behind an archive context ... pmlogextract needs the answer to be 1 > for all of the input archive "names" on the command line (I think). > Looks like I picked a bad day for a day off! .... All of this worry about records for multi-archive contexts may be unnecessary. You may all recall a few weeks back when I implemented the automatic generation of records when transitioning between the archives of a multi-archive context on my branch. These records are returned to the caller of __pmLogRead() and so are returned to all users of our internal APIs. As Ken had recommended, the effect is the same as if pmlogextract(1) has already been used to combine the archives of a multi-archive context into a single archive. Now, tools which manually transition between archives or archive contexts, of course, still will need to generate their own records, so it looks like there is still a need for an API for this. pmlogextract(1) already does this but it sounds like pmcollectl2pcp(1) does not yet do this. __pmLogGenerateMark() in logutil.c on my branch may be a suitable place to start, once my branch has been merged --- hopefully very shortly after I return from vacation on March 8. Dave From brolley@redhat.com Mon Feb 22 10:49:40 2016 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 92CA67F66 for ; Mon, 22 Feb 2016 10:49:40 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 53BAD8F80B6 for ; Mon, 22 Feb 2016 08:49:34 -0800 (PST) X-ASG-Debug-ID: 1456159772-04cbb06ae098a50001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Gf8zTUyf7227wDd5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 22 Feb 2016 08:49:33 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id D91F77AE8A for ; Mon, 22 Feb 2016 16:49:32 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1MGnW3k024959 for ; Mon, 22 Feb 2016 11:49:32 -0500 Message-ID: <56CB3C1A.5050004@redhat.com> Date: Mon, 22 Feb 2016 11:49:30 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: kenj qa/969 Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: kenj qa/969 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: 1456159773 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Ken McDonell (1): qa/969: fix directory order non-determinism qa/969 | 15 +++++++++++++-- qa/969.out | 18 +++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) From minnus@buffalo.edu Mon Feb 22 12:57:29 2016 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 555A87CB1 for ; Mon, 22 Feb 2016 12:57:29 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2483A304070 for ; Mon, 22 Feb 2016 10:57:23 -0800 (PST) X-ASG-Debug-ID: 1456167428-04cbb06add9c4e0001-S8gJnT Received: from mtareserve1.acsu.buffalo.edu (mtareserve87.acsu.buffalo.edu [128.205.6.184]) by cuda.sgi.com with ESMTP id zVzV9D20RAQRffWQ for ; Mon, 22 Feb 2016 10:57:08 -0800 (PST) X-Barracuda-Envelope-From: minnus@buffalo.edu X-Barracuda-Apparent-Source-IP: 128.205.6.184 Received: from localmailh.acsu.buffalo.edu (localmailh.acsu.buffalo.edu [128.205.4.31]) by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id 8A29F96834B; Mon, 22 Feb 2016 13:57:08 -0500 (EST) Received: from localmailh.acsu.buffalo.edu (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 7D5F14006B; Mon, 22 Feb 2016 13:57:08 -0500 (EST) Received: from localmailh.acsu.buffalo.edu (localhost [127.0.0.1]) by localmailh.acsu.buffalo.edu (Postfix) with ESMTP id 25D0840080; Mon, 22 Feb 2016 13:57:08 -0500 (EST) Received: from smtp.buffalo.edu (smtp3.acsu.buffalo.edu [128.205.5.226]) by localmailh.acsu.buffalo.edu (Prefixe) with ESMTP id 194524006B; Mon, 22 Feb 2016 13:57:08 -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 02B4CCB5308; Mon, 22 Feb 2016 13:57:08 -0500 (EST) Subject: Re: [pcp] pmcd gets stuck with pmda kill To: Nathan Scott , Ken McDonell , Lukas Berk X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill References: <54C7FF66.5090503@buffalo.edu> <54C80E1F.1010909@internode.on.net> <54C93BFD.5090803@buffalo.edu> <54C93DED.9020601@internode.on.net> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> Cc: pcp@oss.sgi.com From: Martins Innus Message-ID: <56CB5A03.5030008@buffalo.edu> Date: Mon, 22 Feb 2016 13:57:07 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <349735125.21806467.1455774818823.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: mtareserve87.acsu.buffalo.edu[128.205.6.184] X-Barracuda-Start-Time: 1456167428 X-Barracuda-URL: https://192.48.176.25:443/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.27244 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi Nathan/Lukas, On 2/18/16 12:53 AM, Nathan Scott wrote: > Hi Martins, > > ----- Original Message ----- >> Nathan, >> On 1/29/2015 4:42 PM, Nathan Scott wrote: >>>> I sent that mail from the time warp that is labelled "it is OK for all >>>> PCP processes to run as root" ... later I realized that in the brave new >>>> world where running as root has become less fashionable this won't work >>>> if the PMDA needs root priveleges, because once pmcd is able to accept >>>> the SIGHUP it has downgraded itself to user "pcp" ... so restarting >>>> _pmcd_ (as root) is the only option in your case. >>>> >>> This is now fixable, happily. See point #2 here: >>> http://oss.sgi.com/archives/pcp/2014-06/msg00111.html >>> from "2. Restarting / Installing PMDAs", and: >>> >>> $ grep STARTPMDA src/include/pcp/pmda.h >>> /*#define PDUROOT_STARTPMDA_REQ 0x9007*/ >>> /*#define PDUROOT_STARTPMDA 0x9008*/ >>> >>> If anyone wants to hack on this, please send me a note - I have some >>> sample code that will help. It would be good to have this functionality >>> back; the building blocks are now in place (since pcp-3.10.2) and it'll >>> be an interesting little hacking project I think. >> This would be great to have. I won't have time to take this on for the >> next couple of weeks. I will ping you for the sample code then, unless >> someone else looks at it in the meantime. >> > > Lukas ended up working on this and getting it all in for the last release > (pcp-3.11.0). As of today (so, next release) we have a pmie rule that'll > automate the restart of failed PMDAs by sighup'ing pmcd if you chkconfig > pmie on. > > Works nicely here, and can restart PMDAs running under any user account now > that the above is all in place (and basically the same pmie rule to the one > we discussed in this thread - by default it will also log to syslog whenever > it kicks pmcd). > > cheers. > > -- > Nathan > > Thanks for working on this! I can't seem to get it to work though. I distilled the pmie rule down to this: ################# delta = 1 min; some_inst ( pmcd.agent.status != 0 ) -> shell 10 min "pmsignal -s HUP -a pmcd" & syslog 10 min "Restart unresponsive PMDAs" " pmda%i[%v]"; ################# Then attached gdb to a pmda to simulate something being stuck: sudo gdb /var/lib/pcp/pmdas/proc/pmdaproc -p 24657 The rule fires properly: Feb 22 13:26:55 cpn-d13-17 pcp-pmie[5673]: Restart unresponsive PMDAs pmdaproc[8] But the pmda is still dead: [minnus@cpn-d13-17:tmp]$ pminfo -f proc.nprocs proc.nprocs: pmLookupDesc: No PMCD agent for domain of request pmcd.log has the expected message that the pmda is dead: ################### [Mon Feb 22 13:26:25] pmcd(24652) Warning: pduread: timeout (after 5.000 sec) while attempting to read 12 bytes out of 12 in HDR on fd=12 [Mon Feb 22 13:26:25] pmcd(24652) Info: CleanupAgent ... Cleanup "proc" agent (dom 3): protocol failure for fd=12 ################### But nothing to indicate that a new one is started. The pids and start times of the pmcd and pmdaproc processes don't change throughout this process. Hmm, OK Running pmsignal directly DOES seems to work: -bash-4.2$ whoami pcp -bash-4.2$ /usr/libexec/pcp/bin/pmsignal -s HUP -a pmcd -bash-4.2$ Should have looked at the logs first (pmie.log): #################### [minnus@cpn-d13-17]$ more pmie.log Log for pmie on cpn-d13-17.int.ccr.buffalo.edu started Mon Feb 22 13:24:55 2016 pmie: PID = 5673, via local: sh: pmsignal: command not found #################### Should that be in the path? Or maybe I have some misconfiguration somewhere? Thanks Martins From nscott@redhat.com Mon Feb 22 15:00:40 2016 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 C31867F73 for ; Mon, 22 Feb 2016 15:00:40 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7AADD30404E for ; Mon, 22 Feb 2016 13:00:34 -0800 (PST) X-ASG-Debug-ID: 1456174811-04bdf07ab5cfdf0001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id GNzgbUg8EVV6Hm6I (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Feb 2016 13:00:11 -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 u1ML06am004253; Mon, 22 Feb 2016 16:00:06 -0500 Date: Mon, 22 Feb 2016 16:00:05 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Martins Innus Cc: Ken McDonell , Lukas Berk , pcp@oss.sgi.com Message-ID: <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> In-Reply-To: <56CB5A03.5030008@buffalo.edu> References: <54C7FF66.5090503@buffalo.edu> <54C93DED.9020601@internode.on.net> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> Subject: Re: [pcp] pmcd gets stuck with pmda kill MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmcd gets stuck with pmda kill Thread-Index: EaR9ELRzJEjJ5ZBkpnoM0vrF1slBeg== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1456174811 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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=BSF_SC0_MISMATCH_TO, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27247 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 ----- Original Message ----- > [...] > > Should that be in the path? Or maybe I have some misconfiguration somewhere? Hmm, yeah, it should be - it is for me for an init-system started pmie process. I'll dig into it a bit more - thanks Martins. cheers. -- Nathan From minnus@buffalo.edu Mon Feb 22 15:17:36 2016 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 14AAC7F74 for ; Mon, 22 Feb 2016 15:17:36 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id DC54D8F8035 for ; Mon, 22 Feb 2016 13:17:29 -0800 (PST) X-ASG-Debug-ID: 1456175196-04cb6c455c7ef20001-S8gJnT Received: from mtareserve1.acsu.buffalo.edu (mtareserve90.acsu.buffalo.edu [128.205.6.190]) by cuda.sgi.com with ESMTP id Bd5FRjnwPzbUxLu5 for ; Mon, 22 Feb 2016 13:06:37 -0800 (PST) X-Barracuda-Envelope-From: minnus@buffalo.edu X-Barracuda-Apparent-Source-IP: 128.205.6.190 Received: from localmailg.acsu.buffalo.edu (localmailg.acsu.buffalo.edu [128.205.4.25]) by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id D6B0096AE21; Mon, 22 Feb 2016 16:06:36 -0500 (EST) Received: from localmailg.acsu.buffalo.edu (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id CA069E09AF; Mon, 22 Feb 2016 16:06:36 -0500 (EST) Received: from localmailg.acsu.buffalo.edu (localhost [127.0.0.1]) by localmailg.acsu.buffalo.edu (Postfix) with ESMTP id AA495E09B0; Mon, 22 Feb 2016 16:06:36 -0500 (EST) Received: from smtp.buffalo.edu (smtp1.acsu.buffalo.edu [128.205.5.253]) by localmailg.acsu.buffalo.edu (Prefixe) with ESMTP id A78EAE09AF; Mon, 22 Feb 2016 16:06:36 -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 9CCF7D38BEB; Mon, 22 Feb 2016 16:06:36 -0500 (EST) Subject: Re: [pcp] pmcd gets stuck with pmda kill To: Nathan Scott X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill References: <54C7FF66.5090503@buffalo.edu> <54C93DED.9020601@internode.on.net> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> Cc: Ken McDonell , Lukas Berk , pcp@oss.sgi.com From: Martins Innus Message-ID: <56CB785C.3090005@buffalo.edu> Date: Mon, 22 Feb 2016 16:06:36 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-PM-EL-Spam-Prob: : 9% X-Barracuda-Connect: mtareserve90.acsu.buffalo.edu[128.205.6.190] X-Barracuda-Start-Time: 1456175197 X-Barracuda-URL: https://192.48.176.15:443/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.27247 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Nathan, On 2/22/16 4:00 PM, Nathan Scott wrote: > > > ----- Original Message ----- >> [...] >> >> Should that be in the path? Or maybe I have some misconfiguration somewhere? > > Hmm, yeah, it should be - it is for me for an init-system started pmie process. > I'll dig into it a bit more - thanks Martins. > OK, Thanks. This is on a Centos 7.1 system, so systemd. Also, if it matters, on this system, the pcp user is a pre existing ldap user account. So the user creation part of the rpm install never runs. Martins From noreply@github.com Mon Feb 22 16:20:06 2016 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=2.1 required=5.0 tests=HTML_IMAGE_ONLY_20, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 BE4497CA0 for ; Mon, 22 Feb 2016 16:20:06 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 708B88F8039 for ; Mon, 22 Feb 2016 14:20:00 -0800 (PST) X-ASG-Debug-ID: 1456178713-04bdf07ab3d3e70001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id dDrbfpGE0LACwI0O (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 22 Feb 2016 14:05:14 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aXybI-00059c-AX for ; Tue, 23 Feb 2016 09:05:12 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Mon, 22 Feb 2016 14:04:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456178696; bh=o9T0ef39BUyxGF7CcKh/kFcSJiqQIZtWu3RX3DSe3lc=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=pQaQUBWlTyzZ45f9yyq5YMaM579LeXT2IDVNeBRQ5ZamhRZPJGs17UUmfM54bPQAj rangiTZHa0nAPifpOvirkbQiS8Esh154HqfsrO8Kakd68Ug1IxO3kv42CV6+fcrAWn gWlANKVyll1vWrB2JyT0TaYWRQF9sEq2Zf9v/eTg= From: Rares Vernica Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] Makepkgs fails on 3.11.0 tag (#75) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] Makepkgs fails on 3.11.0 tag (#75) Content-Type: multipart/alternative; boundary="--==_mimepart_56cb8608b6692_37503ff6d616d2a080461"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rvernica X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1456178713 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_20, HTML_IMAGE_ONLY_20_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27248 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.70 HTML_IMAGE_ONLY_20_2 HTML: images with 1600-2000 bytes of words ----==_mimepart_56cb8608b6692_37503ff6d616d2a080461 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I checked out the `3.11.0` tag and tried to build the `deb` packages. `Makepkgs` seems to be failing. Here is what I did: ``` $ git checkout tags/3.11.0 $ ./Makepkgs --verbose ... === pcp === rm -rf dep dep.bak *.[1-9].gz *.[1-9].bz2 *.[1-9].lzma *.[1-9].xz *.[1-9].tmp for d in `echo `; do if test -d "$d" -a -f "$d/GNUmakefile"; then /bin/echo === $d ===; /usr/bin/make --no-print-directory -C $d clean || exit $?; fi; done make[1]: Leaving directory `/home/debian/src/pcp-github/build/deb/pcp-3.11.0/src/python' dh_installdocs dh_installchangelogs dh_link dh_strip dh_compress dh_fixperms -X/tmp dh_installdirs dh_install --sourcedir=debian/pcp cp: cannot stat `debian/pcp/usr/lib/pcp/bin/install-sh': No such file or directory dh_install: cp -a debian/pcp/usr/lib/pcp/bin/install-sh debian/libpcp3-dev//usr/lib/pcp/bin/ returned exit code 1 make: *** [binary-arch] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 ``` A bit more about my system: ``` $ cat /etc/issue Debian GNU/Linux 7 $ uname -a Linux beaglebone-01 3.8.13-bone56 #1 SMP Wed Jun 4 23:59:23 UTC 2014 armv7l GNU/Linux ``` --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/75 ----==_mimepart_56cb8608b6692_37503ff6d616d2a080461 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I checked out the 3.11.0 tag and tried to build the deb packages. Makepkgs seems to be failing.

Here is what I did:

$ git checkout tags/3.11.0
$ ./Makepkgs --verbose
...
=== pcp ===
rm -rf  dep dep.bak *.[1-9].gz *.[1-9].bz2 *.[1-9].lzma *.[1-9].xz *.[1-9].tmp           
for d in `echo  `; do if test -d "$d" -a -f "$d/GNUmakefile"; then /bin/echo === $d ===; /usr/bin/make --no-print-directory -C $d clean || exit $?; fi; done
make[1]: Leaving directory `/home/debian/src/pcp-github/build/deb/pcp-3.11.0/src/python'
dh_installdocs
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms -X/tmp
dh_installdirs
dh_install --sourcedir=debian/pcp
cp: cannot stat `debian/pcp/usr/lib/pcp/bin/install-sh': No such file or directory
dh_install: cp -a debian/pcp/usr/lib/pcp/bin/install-sh debian/libpcp3-dev//usr/lib/pcp/bin/ returned exit code 1
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

A bit more about my system:

$ cat /etc/issue
Debian GNU/Linux 7
$ uname -a
Linux beaglebone-01 3.8.13-bone56 #1 SMP Wed Jun 4 23:59:23 UTC 2014 armv7l GNU/Linux


Reply to this email directly or view it on GitHub.

----==_mimepart_56cb8608b6692_37503ff6d616d2a080461-- From rvernica@gmail.com Mon Feb 22 19:12:51 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id AA6A27F83 for ; Mon, 22 Feb 2016 19:12:51 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 46C178F8037 for ; Mon, 22 Feb 2016 17:12:45 -0800 (PST) X-ASG-Debug-ID: 1456189956-04bdf07ab3db380001-S8gJnT Received: from mail-vk0-f48.google.com (mail-vk0-f48.google.com [209.85.213.48]) by cuda.sgi.com with ESMTP id 9ddPR2ZWKQcMKU1C (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 22 Feb 2016 17:12:37 -0800 (PST) X-Barracuda-Envelope-From: rvernica@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.213.48 Received: by mail-vk0-f48.google.com with SMTP id k196so148619959vka.0 for ; Mon, 22 Feb 2016 17:12:37 -0800 (PST) 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=cKuwKibYHFNcriHFyhVEQA5GfzwhwefFfiD6wXqzCj8=; b=Cjph1Xi+8cGG7uO349NS++JOHsonUmOifmJGjU3mnXRoqDIku+no/nHqabwrkF0POY 3PnU+ISsTdbPNvQlabXTLTMnooaBt7ty7sSc81jHJdQhOBbajQHtlQRicZPrN90HdvlW znzCp7zuQd1Yo7dqVdcgsbMrNvr1lfiwn1cD+Lelf4+Tdi28I/7+jvFgTUKndPpgGCuY ZlVcqtuIXaUEnJ/U/S9uM/SS6EBpYB0KyAbNdJ8qzPy9C3HFOkT2GlnpMYKFMj4cYc5I shjWpm8JGWBOqAhp3twrOkBP+rFslB2RgrOudQXwgtkdW4mxTyrVkiEBmhN1Poye/7T4 u1hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=cKuwKibYHFNcriHFyhVEQA5GfzwhwefFfiD6wXqzCj8=; b=Tu98eKJniupMWcOtaHwrCg4dV+Icx9e0EKb2C3teNQIdV1eSqN3hhBzMYRvjnOGTMy T+3ZnN1GzwZZgmBjllOXQNc2WFocgYg9mWWmfQQcZJX7hBNbkGqiT+TQSivfDqgiL3ud FuVmP8xeCsbmSj7a5hLnmJ89XcegDWcY2rk9uhBCzfew7uj9eV5qhufuUUv1bDkZxpo+ 0OGG9dVCRvFdJFGIDWCDS5nSrLpQWEr2kxed3e1cXjm1FWW/1IsMmkZmnl5LQP/xEJ+K NWvpBDxgx0mW1AXHwqhOc48mPK/ZeBmCIBz1kIrdAP9Ko9SzunddxRtf2ugunnzlaoog mEKg== X-Gm-Message-State: AG10YOTZtQIj2+n+FiD+y1cbRjJhxWWYo//KaDHhszA+ZQX/YK5YFZVZAdiqlc7qo1458I7VC/pJFvcXdVxrLw== MIME-Version: 1.0 X-Received: by 10.31.49.23 with SMTP id x23mr26427166vkx.0.1456189539966; Mon, 22 Feb 2016 17:05:39 -0800 (PST) Received: by 10.159.35.131 with HTTP; Mon, 22 Feb 2016 17:05:39 -0800 (PST) Date: Mon, 22 Feb 2016 17:05:39 -0800 Message-ID: Subject: mmv metric does not show up in pmlogger archives From: Rares Vernica X-ASG-Orig-Subj: mmv metric does not show up in pmlogger archives To: pcp@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11437e3641646a052c658cde X-Barracuda-Connect: mail-vk0-f48.google.com[209.85.213.48] X-Barracuda-Start-Time: 1456189957 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27253 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 --001a11437e3641646a052c658cde Content-Type: text/plain; charset=UTF-8 Hello, I am probably doing something wrong, but I am not sure what. I defined an mmv metric and I am having trouble getting it to show up in the pmlogger archives. Here is what I have done. The mmv metrics show up in pminfo and pmval: $ pminfo -t mmv mmv.acme.products.queuetime [Queued time while producing Acme products] mmv.acme.products.time [Machine time spent producing Acme products] mmv.acme.products.count [Acme factory product throughput] $ pmval mmv.acme.products.queuetime metric: mmv.acme.products.queuetime host: beaglebone-12 semantics: cumulative counter (converting to rate) units: microsec (converting to time utilization) samples: all Anvils Rockets Giant_Rubber_Bands 0.0 0.0 0.0 I added the mmv metrics to config.default and I am using the config.default in the pmlogger control file: $ cat /etc/pcp/pmlogger/config.default ... # It is safe to make additions from here on ... # log advisory on default { mmv.iontouch } [access] disallow .* : all; disallow :* : all; allow local:* : enquire; $ cat /etc/pcp/pmlogger/control # local primary logger # # (LOCALHOSTNAME is expanded to local: in the first column, # and to `hostname` in the fourth (directory) column.) # LOCALHOSTNAME y n PCP_LOG_DIR/pmlogger/LOCALHOSTNAME -r -T24h10m -c config.default pmlogger is running fine: $ pcp Performance Co-Pilot configuration on beaglebone-12: platform: Linux beaglebone-12 3.8.13-bone79 #1 SMP Tue Oct 13 20:44:55 UTC 2015 armv7l hardware: 1 cpu, 3 disks, 1 node, 496MB RAM timezone: PST+8 services: pmcd pmwebd pmcd: Version 3.10.4-1, 7 agents, 2 clients pmda: root pmcd proc xfs linux mmv jbd2 pmlogger: primary logger: /var/log/pcp/pmlogger/beaglebone-12/20160222.16.21 But I can't find the mmv metrics in any of the log files: $ for f in /var/log/pcp/pmlogger/beaglebone-12/*.0; do pminfo -a $f mmv; done Error: mmv: Unknown metric name ... $ for f in /var/log/pcp/pmlogger/beaglebone-12/*.0; do pmval -a $f mmv.acme.products.queuetime; done pmval: pmLookupName(mmv.acme.products.queuetime): Unknown metric name ... Some hints would be greatly appreciated. Thanks! Rares --001a11437e3641646a052c658cde Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hello,

I am probably doing something wr= ong, but I am not sure what. I defined an mmv metric and I am having trouble getting it to show up in the <= font face=3D"monospace, monospace">pmlogger archives. Here is what I= have done.

The mmv metrics show up in pminfo and pmval:

$ pmin= fo -t mmv
mmv.acm= e.products.queuetime [Queued time while producing Acme products]
mmv.acme.products.tim= e [Machine time spent producing Acme products]
= mmv.acme.products.count [Acme factory p= roduct throughput]

$ pmval m= mv.acme.products.queuetime=C2=A0

metric: =C2=A0 =C2=A0mmv.acme.products.queuetime
host: =C2=A0 =C2=A0 = =C2=A0beaglebone-12
semantics: cumulative counter (converting to rate)
units: =C2=A0 =C2=A0 micro= sec (converting to time utilization)
samples: =C2=A0 all
<= font face=3D"monospace, monospace">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Anvi= ls =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Rockets =C2=A0 =C2=A0Gi= ant_Rubber_Bands =C2=A0 =C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= 0.0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0.0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0.0

I added the mmv metrics to conf= ig.default and I am using the co= nfig.default in the pmlogger control file:

=
= $ cat /etc/pcp/pmlogger/config.default<= /font>
...
<= div>
# It is safe to make additions= from here on ...
#

lo= g advisory on default {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 mmv.iontouch
}

[access]
disallow .* : all;
disallow :* : all;
allow local:* : enquire;

$ cat /etc/pcp/pmlogger/control=C2= =A0
# local= primary logger
#
# (L= OCALHOSTNAME is expanded to local: in the first column,
<= div>
# and to `hostname` in the fou= rth (directory) column.)
#
LOCALHOSTNAME y =C2= =A0 n PCP_LOG_DIR/pmlogge= r/LOCALHOSTNAME -r -T24h1= 0m -c config.default

pmlogger is running fine:

=
$ pcp
=
Performance Co-Pilot configuration= on beaglebone-12:

=C2=A0hardware: 1 cpu, 3 disks, 1 node, 496MB RAM
=C2=A0timezone: PST+8
=C2=A0services: = pmcd pmwebd
=C2=A0 =C2=A0 =C2=A0pmcd: Version 3.10.4-1, 7 agents, 2 clients
=C2=A0 =C2=A0 =C2=A0p= mda: root pmcd proc xfs linux mmv jbd2
=C2=A0pmlogger: primary logger: /var/log/pcp/pm= logger/beaglebone-12/20160222.16.21
But I can't find the mm= v metrics in any of the log files:

$ for f in /var/log/pcp/pmlogger/beaglebone-12/*.0; d= o pminfo -a $f mmv; done=C2=A0
Error: mmv: Unknown metric name
= ...

$ for f in /var/log/pcp/pmlogger/beaglebone-12/*.0; do pmval -a $f mm= v.acme.products.queuetime; done=C2=A0
pmval: pmLookupName(mmv.acme.products.queuetime)= : Unknown metric name
...

Some hints would be = greatly appreciated.

Thanks!
Rares
= --001a11437e3641646a052c658cde-- From nscott@redhat.com Mon Feb 22 19:22:13 2016 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 5FE467F85 for ; Mon, 22 Feb 2016 19:22:13 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id D2B95AC001 for ; Mon, 22 Feb 2016 17:22:06 -0800 (PST) X-ASG-Debug-ID: 1456190523-04cbb06adfa8a60001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id qaEBYt2xa6Ch5lht (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Feb 2016 17:22: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 u1N1M2u6013425; Mon, 22 Feb 2016 20:22:02 -0500 Date: Mon, 22 Feb 2016 20:22:02 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Rares Vernica Cc: pcp@oss.sgi.com Message-ID: <729411517.24099425.1456190522006.JavaMail.zimbra@redhat.com> In-Reply-To: References: Subject: Re: [pcp] mmv metric does not show up in pmlogger archives MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] mmv metric does not show up in pmlogger archives Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: mmv metric does not show up in pmlogger archives Thread-Index: nF912/hEOAtmDhA2bq+oB3UQnEvPnQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456190524 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27253 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 ----- Original Message ----- > Hello, > > I am probably doing something wrong, but I am not sure what. I defined an mmv > metric and I am having trouble getting it to show up in the pmlogger > archives. Here is what I have done. > > The mmv metrics show up in pminfo and pmval : > > $ pminfo -t mmv > mmv.acme.products.queuetime [Queued time while producing Acme products] > mmv.acme.products.time [Machine time spent producing Acme products] > mmv.acme.products.count [Acme factory product throughput] > > [...] > > $ cat /etc/pcp/pmlogger/config.default > ... > # It is safe to make additions from here on ... > # > > log advisory on default { > mmv.iontouch This might be the problem here - use just "mmv", not "mmv.iontouch" which is not defined? (based on pminfo output, anyway) There's possibly an error in your pmlogger.log file saying "no such metric". cheers. -- Nathan From nscott@redhat.com Mon Feb 22 19:35:38 2016 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 E62E87C8C for ; Mon, 22 Feb 2016 19:35:37 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 649CBAC002 for ; Mon, 22 Feb 2016 17:35:31 -0800 (PST) X-ASG-Debug-ID: 1456191321-04cbb06adfa8ee0001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id BoTBrEA1MOCshsnB (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Feb 2016 17:35:22 -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 u1N1ZGU6014375; Mon, 22 Feb 2016 20:35:16 -0500 Date: Mon, 22 Feb 2016 20:35:16 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Martins Innus , Ken McDonell Cc: pcp@oss.sgi.com Message-ID: <564661077.24101462.1456191316667.JavaMail.zimbra@redhat.com> In-Reply-To: <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> References: <54C7FF66.5090503@buffalo.edu> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> Subject: Re: [pcp] pmcd gets stuck with pmda kill MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmcd gets stuck with pmda kill Thread-Index: EaR9ELRzJEjJ5ZBkpnoM0vrF1slBeoXLL/1M X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456191321 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27253 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 ----- Original Message ----- > ----- Original Message ----- > > [...] > > > > Should that be in the path? Or maybe I have some misconfiguration > > somewhere? > > Hmm, yeah, it should be - it is for me for an init-system started pmie > process. I'll dig into it a bit more - thanks Martins. > Ah, I see what's happened. I've pushed a change in to make pmie shell actions look for system binaries in platform-specific places too (Ken, can you check that one for me please?). A new git master PCP build will work for you now Martins. Changes committed to git://git.pcp.io/pcp.git master Nathan Scott (1): pmie: updates to the PATH handling for pmie shell actions man/man1/pmie.1 | 26 +++++++++++++++++++++++++- src/pmie/src/act.sk | 26 +++++++++++++++++++++++++- src/pmieconf/GNUmakefile.rules | 5 ----- 3 files changed, 50 insertions(+), 7 deletions(-) -- Nathan From noreply@github.com Mon Feb 22 21:57:43 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 A7D4B7F86 for ; Mon, 22 Feb 2016 21:57:43 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 78A978F8040 for ; Mon, 22 Feb 2016 19:57:37 -0800 (PST) X-ASG-Debug-ID: 1456198680-04cb6c700703840001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id CeHyoBAthpzdFWxl (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 22 Feb 2016 19:38:02 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aY3nP-0007T3-AU for ; Tue, 23 Feb 2016 14:37:59 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Mon, 22 Feb 2016 19:37:47 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456198667; bh=wBcHwUGqiVwk84PGZbGWCFGlm97WBiYHQwRGETNjqJI=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=RdWmtOOyHIjwgbcdfwefjasRUkRXIk0AaqKq8XY4HVUOs+8rkNoDkuMM3h8xz8wCU /tDZWkvzjlHKh9J79Zys+2LvkHZl5SjmEsUuVGksnDWIgfDq0nivDyBDDtQxb4U9NL FURCoaJVwJAR+zlpi7Jxh+p7uiBMEuGuHSvbK5Mw= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Content-Type: multipart/alternative; boundary="--==_mimepart_56cbd40bd18f9_42f53fd34ae252b8102318"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456198681 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27255 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56cbd40bd18f9_42f53fd34ae252b8102318 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit OK ... despite your system being Debian, you have a /usr/bin/rpm and /usr/bin/rpmbuild ... the latter is confusing the hell out of Makepkgs and you're running a part-Debian and part-RPM schizo build. To test my theory, could you please (a) mv /usr/bin/rpmbuild aside temporarily, or (b) edit Makepkgs and change this line: if [ -x /usr/bin/rpmbuild ] to: if [ -x /usr/bin/rpmbuild_foobar ] And then try Makepgks again? --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/75#issuecomment-187508696 ----==_mimepart_56cbd40bd18f9_42f53fd34ae252b8102318 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

OK ... despite your system being Debian, you have a /usr/bin/rpm and /usr/bin/rpmbuild ... the latter is confusing the hell out of Makepkgs and you're running a part-Debian and part-RPM schizo build. To test my theory, could you please (a) mv /usr/bin/rpmbuild aside temporarily, or (b) edit Makepkgs and change this line:
if [ -x /usr/bin/rpmbuild ]
to:
if [ -x /usr/bin/rpmbuild_foobar ]

And then try Makepgks again?


Reply to this email directly or view it on GitHub.

----==_mimepart_56cbd40bd18f9_42f53fd34ae252b8102318-- From kenj@internode.on.net Tue Feb 23 00:31:09 2016 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 0FF267F86 for ; Tue, 23 Feb 2016 00:31:09 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C5C8D8F8049 for ; Mon, 22 Feb 2016 22:31:02 -0800 (PST) X-ASG-Debug-ID: 1456209047-04cbb06ae0b2170001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id vp3uEuZrDVyGrmvC for ; Mon, 22 Feb 2016 22:30:47 -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: A2CEAwCw+8tWPFBJ0XYNUQ6Ea4ZirFyJFoYNAoIXAQEBAQEBBwEBAQFBgQESAYNtAQEBBCMVQAEMBAsRBAEBAwIFFggDAgIJAwIBAgExAwkIBgEMBgIBAbM6Z45/AQEBAQEBAQEBAQEBAQEBAQEBARd7iVGHNYE6BZJzhBSPOoRDiFKOSYQLT1aDPoR7AQEB Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 23 Feb 2016 17:00:45 +1030 Subject: RE: [pcp] pmcd gets stuck with pmda kill To: Nathan Scott , Martins Innus X-ASG-Orig-Subj: RE: [pcp] pmcd gets stuck with pmda kill References: <54C7FF66.5090503@buffalo.edu> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> <564661077.24101462.1456191316667.JavaMail.zimbra@redhat.com> Cc: pcp@oss.sgi.com From: Ken McDonell Message-ID: <56CBFC94.7040107@internode.on.net> Date: Tue, 23 Feb 2016 17:30:44 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <564661077.24101462.1456191316667.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1456209047 X-Barracuda-URL: https://192.48.176.25:443/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.27258 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header > -----Original Message----- > From: Nathan Scott [mailto:nathans@redhat.com] > Sent: Tuesday, 23 February 2016 12:35 PM > To: Martins Innus ; Ken McDonell > > Cc: pcp@oss.sgi.com > Subject: Re: [pcp] pmcd gets stuck with pmda kill > .. > Ah, I see what's happened. I've pushed a change in to make pmie shell > actions look for system binaries in platform-specific places too (Ken, > can you check that one for me please?).[] ... Had a quick review. The only possible issue I can see would be if one of the "special" strings was empty ... a :: in the PATH is probably suboptimal. From nscott@redhat.com Tue Feb 23 00:35:30 2016 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 CCF347C8C for ; Tue, 23 Feb 2016 00:35:30 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9E06D304039 for ; Mon, 22 Feb 2016 22:35:24 -0800 (PST) X-ASG-Debug-ID: 1456209315-04cb6c455a8f800001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id HTcyG16TcfJikRbs (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 22 Feb 2016 22:35:16 -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 u1N6ZBHf017399; Tue, 23 Feb 2016 01:35:11 -0500 Date: Tue, 23 Feb 2016 01:35:10 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell Cc: Martins Innus , pcp@oss.sgi.com Message-ID: <697853252.24174526.1456209310894.JavaMail.zimbra@redhat.com> In-Reply-To: <56CBFC94.7040107@internode.on.net> References: <54C7FF66.5090503@buffalo.edu> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> <758664443.24024627.1456174805042.JavaMail.zimbra@redhat.com> <564661077.24101462.1456191316667.JavaMail.zimbra@redhat.com> <56CBFC94.7040107@internode.on.net> Subject: Re: [pcp] pmcd gets stuck with pmda kill MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmcd gets stuck with pmda kill Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmcd gets stuck with pmda kill Thread-Index: W3VfB7fSQq+1JwgaVSn6kRb5IT7W/w== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1456209316 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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.27258 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 ----- Original Message ----- > > -----Original Message----- > > From: Nathan Scott [mailto:nathans@redhat.com] > > Sent: Tuesday, 23 February 2016 12:35 PM > > To: Martins Innus ; Ken McDonell > > > > Cc: pcp@oss.sgi.com > > Subject: Re: [pcp] pmcd gets stuck with pmda kill > > .. > > Ah, I see what's happened. I've pushed a change in to make pmie shell > > actions look for system binaries in platform-specific places too (Ken, > > can you check that one for me please?).[] ... > > Had a quick review. > > The only possible issue I can see would be if one of the "special" > strings was empty ... a :: in the PATH is probably suboptimal. > Taa. The only one that could potentially be empty is PCP_PLATFORM_PATHS - not sure if it ever is? (PCP_BIN_DIR or PCP_BINADM_DIR being empty == the sky has fallen in). So, we could theoretically have a ':' just at the end yeah ... I'll fix that up. cheers. -- Nathan From kenj@internode.on.net Tue Feb 23 04:20:47 2016 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 82D4D7C8C for ; Tue, 23 Feb 2016 04:20:47 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 28B6F8F8040 for ; Tue, 23 Feb 2016 02:20:40 -0800 (PST) X-ASG-Debug-ID: 1456222831-04bdf07ab5e8f70001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 1f2CGCdR6WR2BONS for ; Tue, 23 Feb 2016 02:20:31 -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: A2AdAwARMsxWPFBJ0XYNUYQMbYZitXcZiAcBAQEBAQEHAQEBAUGBARIBhBdVMAYCBRYLAgsDAgECATEnBgIBAbQJZ48se45SgjSBOgWHVo8xhVeWeI5JhFpWgz6EewEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 23 Feb 2016 20:50:30 +1030 To: pcp@oss.sgi.com Subject: pcp updates: openbsd & debian builds From: Ken McDonell X-ASG-Orig-Subj: pcp updates: openbsd & debian builds Message-ID: <56CC326E.3030200@internode.on.net> Date: Tue, 23 Feb 2016 21:20:30 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1456222831 X-Barracuda-URL: https://192.48.157.11:443/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.27262 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (6): qa/src/sum16.c: old-style BSD 16-bit CRC a la sum(1) openbsd pmda: make more stuff actually work! qa for OpenBSD: with these changes check -g sanity passes src/perl/.gitignore: add some temp files created by new install rules debian/control: mongo Build-Depends changes qa/admin/pcp-daily: run qa -g sanity on latest *bsd VMs debian/control | 2 qa/003 | 7 ++ qa/031.out.openbsd | 104 ++++++++++++++++++++++++++++++++++++++++ qa/068 | 28 +++++----- qa/080 | 12 ---- qa/232 | 11 +++- qa/338 | 5 + qa/574 | 18 +++--- qa/574.out.openbsd | 106 +++++++++++++++++++++++++++++++++++++++++ qa/805 | 9 +++ qa/900 | 9 ++- qa/994 | 2 qa/GNUmakefile | 2 qa/admin/dup-control | 28 ++++++++++ qa/admin/pcp-daily | 2 qa/common | 9 +++ qa/common.check | 8 +++ qa/common.compress | 3 - qa/common.filter | 1 qa/common.rc | 2 qa/common.secure | 9 +++ qa/src/.gitignore | 1 qa/src/GNUlocaldefs | 2 qa/src/sum16.c | 54 ++++++++++++++++++++ src/perl/.gitignore | 1 src/pmdas/openbsd/GNUmakefile | 2 src/pmdas/openbsd/help | 15 +++-- src/pmdas/openbsd/openbsd.c | 4 - src/pmdas/openbsd/root_openbsd | 4 - src/pmdas/openbsd/vm_uvmexp.c | 37 +++----------- 30 files changed, 408 insertions(+), 89 deletions(-) Details ... commit a3a5a21b983226bca0882d2c6a14a1c68326746f Author: Ken McDonell Date: Tue Feb 23 21:09:47 2016 +1100 qa/admin/pcp-daily: run qa -g sanity on latest *bsd VMs commit 8da68b9a4ba7fba7a14c1c828421b08dd1d02ed5 Author: Ken McDonell Date: Tue Feb 23 20:57:37 2016 +1100 debian/control: mongo Build-Depends changes Add all the packages that the optional parts of the build depend upon, as documented in qa/admin/check-vm. commit 5098bb7ba0ea15175eb3a5a12b9e403a217bc985 Author: Ken McDonell Date: Tue Feb 23 20:56:43 2016 +1100 src/perl/.gitignore: add some temp files created by new install rules commit e541423fc7c06a31a1321c5e157daa278dc8912e Author: Ken McDonell Date: Tue Feb 23 20:55:50 2016 +1100 qa for OpenBSD: with these changes check -g sanity passes commit fdc9dd71843f9942c47a37bfa160ca97368c7a06 Author: Ken McDonell Date: Tue Feb 23 20:54:45 2016 +1100 openbsd pmda: make more stuff actually work! commit 3b3c4e8e8fe442dbb63eeba46c72b3e308adc1ac Author: Ken McDonell Date: Tue Feb 23 20:53:35 2016 +1100 qa/src/sum16.c: old-style BSD 16-bit CRC a la sum(1) From noreply@github.com Tue Feb 23 06:00:07 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 2777D7CA0 for ; Tue, 23 Feb 2016 06:00:07 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 99166AC003 for ; Tue, 23 Feb 2016 04:00:00 -0800 (PST) X-ASG-Debug-ID: 1456227609-04bdf07ab5ead00001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id lxlVmJbNxP12fh74 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 03:40:11 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYBK0-0002ps-A8 for ; Tue, 23 Feb 2016 22:40:08 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Tue, 23 Feb 2016 03:39:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456227596; bh=5SeclAyDa5ppJ1fS+gfEYnJyYjNeHSXKqSbDrfoZECc=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=wnXSnJq9GWC0pV4JDVmVcAHwkvS0jQ9ELmnoMybBnSsyOeXoripk8S/K/TpJB5I0X icwYMXH8O68X4ZIAQrqG/OXgF75KUJNQLKtfjE6VubuE9zH98/67DDkRHiuZjFIL5/ 2ycgWI6Bu4002HEjumJLaZ0B2SD9uMDH8JiLAGe0= From: panda87 Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] Monitor docker containers (#76) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] Monitor docker containers (#76) Content-Type: multipart/alternative; boundary="--==_mimepart_56cc450cca97a_79e3feb1cef32a0146646"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: panda87 X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456227610 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27263 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56cc450cca97a_79e3feb1cef32a0146646 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi I have machine with many docker containers on. How can I use Vector (which pcp already installed on that machine) to filter to see metrics only from one specific container? Thanks --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/76 ----==_mimepart_56cc450cca97a_79e3feb1cef32a0146646 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi

I have machine with many docker containers on.
How can I use Vector (which pcp already installed on that machine) to filter to see metrics only from one specific container?

Thanks


Reply to this email directly or view it on GitHub.

----==_mimepart_56cc450cca97a_79e3feb1cef32a0146646-- From daniel.jenkins@1bestdata.com Tue Feb 23 08:29:34 2016 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,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 36D807CA0 for ; Tue, 23 Feb 2016 08:29:34 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 05B8D304039 for ; Tue, 23 Feb 2016 06:29:27 -0800 (PST) X-ASG-Debug-ID: 1456237749-04cb6c700712c10001-S8gJnT Received: from mail.1bestdata.com (1bestdata.com [191.101.9.63]) by cuda.sgi.com with ESMTP id 9A7JzsUu6H1DbBqV for ; Tue, 23 Feb 2016 06:29:10 -0800 (PST) X-Barracuda-Envelope-From: daniel.jenkins@1bestdata.com X-Barracuda-Apparent-Source-IP: 191.101.9.63 Received: from VOXTIDE (unknown [106.51.143.240]) by mail.1bestdata.com (Postfix) with ESMTPSA id 6086A104425 for ; Tue, 23 Feb 2016 09:27:47 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.1bestdata.com 6086A104425 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=1bestdata.com; s=default; t=1456237669; bh=GZ/Vd1tML86Mw16rKA1IPfOWfCJmsu29mHOmtunBjVk=; h=From:To:Subject:Date:From; b=fEqQSy9khZ5WOKTcmTjxjUAO03PpdOInTnpTh+D+kzxmn9zKVoHIgmuJIOYiTUP9y Y8HzohmZr0tNWhEsQbSurD9t0AQZiF7NxR4uzyDW/lw9md+7tKNMV+aj0WopJtf4z/ OLqu6XjyhumHf2R0nkCar5b9xGXYJAbfq3dfquYo= Return-Receipt-To: "Daniel Jenkins" From: "Daniel Jenkins" To: Subject: Customized SAP User Database Date: Tue, 23 Feb 2016 19:53:40 +0530 X-ASG-Orig-Subj: Customized SAP User Database Message-ID: MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_11C9_01D16E74.853AA5D0" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdFuRWLiO+RAvwDbSvmVGrYpusQQGA== Content-Language: en-us Disposition-Notification-To: "Daniel Jenkins" X-Barracuda-Connect: 1bestdata.com[191.101.9.63] X-Barracuda-Start-Time: 1456237749 X-Barracuda-URL: https://192.48.176.15:443/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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27266 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== -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 This is a multi-part message in MIME format. ------=_NextPart_000_11C9_01D16E74.853AA5D0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_11CA_01D16E74.853AA5D0" ------=_NextPart_001_11CA_01D16E74.853AA5D0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello, Hope you are the right person to discuss regarding our Customized CRM (Customer relationship management) User Details Database for your Marketing Initiatives like Email Marketing, Email Campaign and Direct mailings. Customized Database Available for: CRM Users: - Micrososoft Dynamics CRM, SAP CRM, Salesforce CRM, Oracle CRM, Suger CRM, NetSuite CRM, CISCO CRM, etc, Users and many more. Which can be customized based on the below data fields: Target Technology: Target Titles: Target Geography: Employee Size: Revenue Size: SIC Codes. Etc.. Database also Available for Other Technology variants Users: - Microsoft Dynamic, Oracle, Cisco, Citrix, VMware, Net Suite, Net App, Sugar CRM, IBM, AVAYA, Sales force, SAGE, EPICOR, INFOR, Rack Space Users and many more. Please do share your target audience like Industry / Geography / Job title, So that we can give you more information about our services, we can also provide you counts, price with a sample list to check the fields available Best Regards, Daniel Jenkins 1 Best Data Marketing Executive - Data Appending| Email Campaigns| Email marketing |B2B Email List _____ If you do not wish to receive further emails kindly reply with "Leave Out" or "Unsubscribe" ------=_NextPart_001_11CA_01D16E74.853AA5D0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

 

 

Hello,

 

Hope you are the right person to discuss regarding our Customized = CRM (Customer relationship management) User Details Database for your Marketing Initiatives like Email Marketing, Email Campaign = and Direct mailings.

 

Customized Database Available for:

 

CRM Users: -

Micrososoft Dynamics CRM,      SAP  = CRM,     Salesforce = CRM,      Oracle CRM, Suger = CRM,    NetSuite CRM,      CISCO = CRM,     etc,   Users and many more.

 

 

Which can be customized based on the below data = fields:

Target Technology:

Target Titles:

Target Geography:

Employee Size:

Revenue Size:

SIC Codes.

Etc..

 

Database also Available for Other Technology variants Users: = -

Microsoft Dynamic, Oracle, Cisco, Citrix, VMware, Net Suite, Net = App, Sugar CRM, IBM, AVAYA, Sales force, SAGE, EPICOR, INFOR, Rack Space = Users and many more.

 

 

 

Please do share your target audience like Industry / Geography / Job title, So that we can give you more = information about our services, we can also provide you counts, price = with a sample list to check the fields = available

 

 

 

Best Regards,

 

Daniel Jenkins

1 Best Data

Marketing Executive - Data Appending| Email Campaigns| Email = marketing |B2B Email List


If you do not wish to receive further emails kindly reply with = "Leave Out" or = “Unsubscribe”

 

------=_NextPart_001_11CA_01D16E74.853AA5D0-- ------=_NextPart_000_11C9_01D16E74.853AA5D0 Content-Type: image/gif; name="image001.gif" Content-Transfer-Encoding: base64 Content-ID: R0lGODlhMgAyAIAAAP///wAAACH5BAAAAAAALAAAAAAyADIAAAIzhI+py+0Po5y02ouz3rz7D4bi SJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKicFADs= ------=_NextPart_000_11C9_01D16E74.853AA5D0-- From brolley@redhat.com Tue Feb 23 10:48:54 2016 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 342A97C8C for ; Tue, 23 Feb 2016 10:48:54 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id F07BE304039 for ; Tue, 23 Feb 2016 08:48:47 -0800 (PST) X-ASG-Debug-ID: 1456245005-04cbb06addc4b10001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id h3yRlWA9NMFBBvaY (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 23 Feb 2016 08:30:06 -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-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id DC44663166 for ; Tue, 23 Feb 2016 16:30:05 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1NGU5d0009290 for ; Tue, 23 Feb 2016 11:30:05 -0500 Message-ID: <56CC890C.6070101@redhat.com> Date: Tue, 23 Feb 2016 11:30:04 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: kenj qa and build Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: kenj qa and build Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 23 Feb 2016 16:30:05 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456245006 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/pcp.git master Ken McDonell (6): qa/src/sum16.c: old-style BSD 16-bit CRC a la sum(1) openbsd pmda: make more stuff actually work! qa for OpenBSD: with these changes check -g sanity passes src/perl/.gitignore: add some temp files created by new install rules debian/control: mongo Build-Depends changes qa/admin/pcp-daily: run qa -g sanity on latest *bsd VMs debian/control | 2 qa/003 | 7 ++ qa/031.out.openbsd | 104 ++++++++++++++++++++++++++++++++++++++++ qa/068 | 28 +++++----- qa/080 | 12 ---- qa/232 | 11 +++- qa/338 | 5 + qa/574 | 18 +++--- qa/574.out.openbsd | 106 +++++++++++++++++++++++++++++++++++++++++ qa/805 | 9 +++ qa/900 | 9 ++- qa/994 | 2 qa/GNUmakefile | 2 qa/admin/dup-control | 28 ++++++++++ qa/admin/pcp-daily | 2 qa/common | 9 +++ qa/common.check | 8 +++ qa/common.compress | 3 - qa/common.filter | 1 qa/common.rc | 2 qa/common.secure | 9 +++ qa/src/.gitignore | 1 qa/src/GNUlocaldefs | 2 qa/src/sum16.c | 54 ++++++++++++++++++++ src/perl/.gitignore | 1 src/pmdas/openbsd/GNUmakefile | 2 src/pmdas/openbsd/help | 15 +++-- src/pmdas/openbsd/openbsd.c | 4 - src/pmdas/openbsd/root_openbsd | 4 - src/pmdas/openbsd/vm_uvmexp.c | 37 +++----------- 30 files changed, 408 insertions(+), 89 deletions(-) From noreply@github.com Tue Feb 23 13:07:50 2016 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=2.8 required=5.0 tests=HTML_IMAGE_ONLY_24, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 6CEE97F9A for ; Tue, 23 Feb 2016 13:07:50 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3AB738F8040 for ; Tue, 23 Feb 2016 11:07:44 -0800 (PST) X-ASG-Debug-ID: 1456253817-04cb6c455ca3630001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id Vc2XXBGGr5k7gdjl (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 10:56:58 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from github-smtp2-ext5.iad.github.net ([192.30.252.196] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYI8h-0004Iw-Ch for ; Wed, 24 Feb 2016 05:56:56 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.196 X-Barracuda-RBL-IP: 192.30.252.196 X-Barracuda-BBL-IP: 192.30.252.196 Date: Tue, 23 Feb 2016 10:56:44 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456253804; bh=J61BG203qs1+fY2y7brJjBBhhLzXyxh8k2SbZ3DxyNk=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=xOtfNtWm8dGCLOeSEZBqaMaEFj7hX3mdpgqkR3SR2QQUX2sjozzBpgVATBq+RJIqN yWunGOrymSIWfIPCP64fXHUg97niRu0zA0N4OGC2oYfY3/5OgSWUu/f4vcG9oYKw5c vXCvsVdXp4mtMgDLse5/g3CXm3fhYvmxEp1QDgOI= From: Rares Vernica Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] Update old PCP_VAR_LIB references in manual page (#77) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] Update old PCP_VAR_LIB references in manual page (#77) Content-Type: multipart/alternative; boundary="--==_mimepart_56ccab6c3fc2f_12f43f8f4b2ff2a02774b0"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rvernica X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1456253818 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.28 X-Barracuda-Spam-Status: No, SCORE=1.28 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_24, HTML_IMAGE_ONLY_24_2, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27273 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -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_IMAGE_ONLY_24 BODY: HTML: images with 2000-2400 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 1.28 HTML_IMAGE_ONLY_24_2 HTML: images with 2000-2400 bytes of words ----==_mimepart_56ccab6c3fc2f_12f43f8f4b2ff2a02774b0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit `PCP_VAR_LIB` is [no longer used](https://github.com/performancecopilot/pcp/search?utf8=%E2%9C%93&q=PCP_VAR_LIB) but it is still referenced in the `pmlogger` manual page and in a comment in `pmlogger_daily.sh`. This patch updates these references to the new `PCP_VAR_DIR`. You can view, comment on, or merge this pull request online at: https://github.com/performancecopilot/pcp/pull/77 -- Commit Summary -- * Fix wrong pointer to pmDesc Example for mmv_metric_t * Merge remote-tracking branch 'upstream/master' * Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment. -- File Changes -- M man/man1/pmlogger.1 (18) M src/pmlogger/pmlogger_daily.sh (2) -- Patch Links -- https://github.com/performancecopilot/pcp/pull/77.patch https://github.com/performancecopilot/pcp/pull/77.diff --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/77 ----==_mimepart_56ccab6c3fc2f_12f43f8f4b2ff2a02774b0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

PCP_VAR_LIB is no longer used but it is still referenced in the pmlogger manual page and in a comment in pmlogger_daily.sh. This patch updates these references to the new PCP_VAR_DIR.


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/77

Commit Summary

  • Fix wrong pointer to pmDesc Example for mmv_metric_t
  • Merge remote-tracking branch 'upstream/master'
  • Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment.

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

----==_mimepart_56ccab6c3fc2f_12f43f8f4b2ff2a02774b0-- From noreply@github.com Tue Feb 23 13:20:10 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 96B307F9B for ; Tue, 23 Feb 2016 13:20:10 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4A29A30404E for ; Tue, 23 Feb 2016 11:20:04 -0800 (PST) X-ASG-Debug-ID: 1456254194-04bdf07ab3fab40001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id HQSbTWhDiGT0NGQ4 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 11:03:15 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from github-smtp2-ext1.iad.github.net ([192.30.252.192] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYIEo-0000TS-Ca for ; Wed, 24 Feb 2016 06:03:14 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.192 X-Barracuda-RBL-IP: 192.30.252.192 X-Barracuda-BBL-IP: 192.30.252.192 Date: Tue, 23 Feb 2016 11:03:03 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456254183; bh=6vxypnj/epr4k8hOvGKkwV89PxoaGAQiyW6LchQKMCQ=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=vgTi6TCygnEtr87xX08JznMt8DyN16mFYyIskz5RdFqnJM9ES9fo9UZ3bfEcUmlEI sCnQuvOMNqmnoOGbaE5rDlgI6FsPafjugfCq94vWeTxMq+O45f5P+s4xwQegltaCIj UZyz1xTKDP5Vf5EIT3hAzbJ+9VMUKrrBKQRp6j+E= From: Rares Vernica Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Content-Type: multipart/alternative; boundary="--==_mimepart_56ccace7ba069_19d23ff15a3332a04500fb"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: rvernica X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1456254195 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27273 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ccace7ba069_19d23ff15a3332a04500fb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Closed #75. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/75#event-562175115 ----==_mimepart_56ccace7ba069_19d23ff15a3332a04500fb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Closed #75.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ccace7ba069_19d23ff15a3332a04500fb-- From kenj@internode.on.net Tue Feb 23 13:51:54 2016 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 B12D57CA0 for ; Tue, 23 Feb 2016 13:51:54 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5B2708F8037 for ; Tue, 23 Feb 2016 11:51:48 -0800 (PST) X-ASG-Debug-ID: 1456257103-04bdf07ab3fc430001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id dr9PhI1SdwFrzPSL for ; Tue, 23 Feb 2016 11:51:43 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DoAgAFt8xWPFBJ0XYNUYtbtX2IKAEBAQEBAQcBAQEBQYEBEgGEF4ELAgUhAhECMAInCAEBtWdnjxp7jCiBRoMYgToFh1OHCIgsnE+OSYRahBWEdgEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Feb 2016 06:21:42 +1030 To: pcp@oss.sgi.com Subject: QA Status From: Ken McDonell X-ASG-Orig-Subj: QA Status Message-ID: <56CCB84D.10707@internode.on.net> Date: Wed, 24 Feb 2016 06:51:41 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1456257103 X-Barracuda-URL: https://192.48.157.11:443/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.27276 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Details for the most commonly failing tests are available from ftp://oss.sgi.com/projects/pcp/download/qa-status/ === Synopsis === QA Status from Ken McDonell's QA Farm in Melbourne Summary: 23599 run, 48 failed (0.20%) QA Test Fail Failure Signatures (number of different failure patterns) 878 10 5 2 2 1 666 6 1 1 1 1 1 1 1069 3 3 1062 3 3 880 3 3 756 3 3 ^ ^ | | | +-- A B C ... means one failure signature occurred A times, | another occurred B times, a third occurred C times, ... +-- total number of failures for this test, equals A+B+C+... Each tarball in this directory contains .out, .out.bad and possibly .full files for all failing test cases where a test failed on at least 9% of the QA hosts. The latest tarball is 20160224.tgz. ==== QA Summary ==== Date Run Pass Fail Nrun Host 2016-02-24 807 806 1 86|bo|bozo PCP 3.11.1 x86_64 Ubuntu 15.10 2016-02-23 786 784 2 107|bl|bozo-laptop PCP 3.11.1 i686 LinuxMint 15 2016-02-23 794 794 0 99|bv|bozo-vm PCP 3.11.1 x86_64 Debian 8.2 Daily runs, but no QA |fu|fuji PCP 3.10.9 i386 Darwin 10.8.0 2016-02-23 694 691 3 156|gr|grundy PCP 3.11.0 ia64 SUSE SLES11 SP1 2016-02-23 810 808 2 83|00|vm00 PCP 3.11.1 x86_64 Ubuntu 12.04 2016-02-23 814 813 1 79|01|vm01 PCP 3.11.1 i686 Ubuntu 15.10 2016-02-23 793 792 1 100|02|vm02 PCP 3.11.1 i686 openSUSE 13.2 2016-02-23 835 832 3 58|03|vm03 PCP 3.11.1 x86_64 Fedora 21 2016-02-24 725 723 2 168|04|vm04 PCP 3.11.1 i586 CentOS 5.11 2016-02-20 791 789 2 101|05|vm05 PCP 3.11.1 x86_64 Gentoo 2.2 2016-02-20 60 60 0 4|06|vm06 PCP 3.11.1 amd64 FreeBSD 10.2-RELEASE 2016-02-20 791 788 3 101|07|vm07 PCP 3.11.1 x86_64 Debian 6.0.10 2016-02-22 835 832 3 58|08|vm08 PCP 3.11.1 x86_64 CentOS Linux7.2.1511 2016-02-22 60 60 0 4|09|vm09 PCP 3.11.1 i386 NetBSD 6.1.5 2016-02-23 60 60 0 4|10|vm10 PCP 3.11.1 i386 FreeBSD 9.3-RELEASE-p30 2016-02-20 792 789 3 100|11|vm11 PCP 3.11.1 i686 Debian 6.0.10 2016-02-20 832 831 1 60|12|vm12 PCP 3.11.1 i686 Fedora 22 2016-02-21 828 828 0 64|14|vm14 PCP 3.11.1 x86_64 CentOS6.7 No daily runs |15|vm15 PCP 3.9.1 x86_64 Slackware 13.37.0 2016-02-21 822 821 1 70|18|vm18 PCP 3.11.1 x86_64 LinuxMint 17.3 2016-02-21 802 801 1 90|19|vm19 PCP 3.11.1 x86_64 openSUSE 12.2 2016-02-21 805 803 2 87|20|vm20 PCP 3.11.1 x86_64 Ubuntu 13.04 2016-02-21 806 804 2 86|21|vm21 PCP 3.11.1 i686 Debian 7.9 2016-02-21 831 830 1 61|22|vm22 PCP 3.11.1 x86_64 Fedora 19 2016-02-22 831 829 2 62|23|vm23 PCP 3.11.1 i686 Fedora 20 2016-02-22 826 822 4 67|24|vm24 PCP 3.11.1 i686 openSUSE 13.1 2016-02-22 721 719 2 172|25|vm25 PCP 3.11.1 x86_64 CentOS 5.11 2016-02-23 835 833 2 58|26|vm26 PCP 3.11.1 x86_64 Fedora 21 2016-02-21 821 820 1 71|27|vm27 PCP 3.11.1 x86_64 Ubuntu 15.04 2016-02-22 830 830 0 63|28|vm28 PCP 3.11.1 x86_64 RHEL Server 6.7 2016-02-21 836 835 1 56|29|vm29 PCP 3.11.1 x86_64 RHEL Server 7.1 2016-02-22 833 833 0 60|30|vm30 PCP 3.11.1 x86_64 SUSE SLES12 SP0 2016-02-23 833 831 2 59|31|vm31 PCP 3.11.1 x86_64 Fedora 23 2016-02-23 60 60 0 4|33|vm33 PCP 3.11.1 amd64 OpenBSD 5.8 Summary: 23599 run, 48 failed (0.20%) ==== QA Failure (X) Map ==== Host bo bl gr 00 01 02 03 04 05 07 08 11 12 18 19 20 21 22 23 24 25 26 27 29 31 Test %fail Test QA groups 878 30% X X X X X X X X X X 878 pmda.pipe pmval 666 18% X X X X X X 666 pmmgr slow 756 9% X X X 756 pmda.perfevent 880 9% X X X 880 pmrep python 1062 9% X X X 1062 pmrep python 1069 9% X X X 1069 pmrep python 778 6% X X 778 pmda.postgresql pmie 823 6% X X 823 pmda.sample pmstore secure 969 6% X X 969 derive 983 6% X X 983 pmie 069 3% X 069 pmcd pmval 206 3% X 206 archive pmval 274 3% X 274 pmda help pmda.install dbpmda 354 3% X 354 folio pmlc 394 3% X 394 archive mem_leak valgrind flakey 459 3% X 459 pmlogreduce valgrind 578 3% X 578 pmcd pmda.install pmval 667 3% X 667 python Host bo bl gr 00 01 02 03 04 05 07 08 11 12 18 19 20 21 22 23 24 25 26 27 29 31 832 3% X 832 pmda.sample pmstore secure 845 3% X 845 pmda.mounts 892 3% X 892 pmcd libpcp 1042 3% X 1042 pmwebapi pmda.proc Host bo bl gr 00 01 02 03 04 05 07 08 11 12 18 19 20 21 22 23 24 25 26 27 29 31 From brolley@redhat.com Tue Feb 23 14:00:43 2016 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 3647A7F9E for ; Tue, 23 Feb 2016 14:00:43 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id EB802304043 for ; Tue, 23 Feb 2016 12:00:36 -0800 (PST) X-ASG-Debug-ID: 1456257635-04cb6c70071e120001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id gr3HrIwYmwseaMDN (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 23 Feb 2016 12:00:36 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 7AC0E65403 for ; Tue, 23 Feb 2016 20:00:35 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1NK0Y0F029923 for ; Tue, 23 Feb 2016 15:00:35 -0500 Message-ID: <56CCBA62.3050702@redhat.com> Date: Tue, 23 Feb 2016 15:00:34 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: Multi-archive Contexts Getting Close to Merge Content-Type: multipart/alternative; boundary="------------090802030906020303040107" X-ASG-Orig-Subj: Multi-archive Contexts Getting Close to Merge X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 23 Feb 2016 20:00:35 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456257636 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a multi-part message in MIME format. --------------090802030906020303040107 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi All, I've been quietly adding code to my git://git.pcp.io/brolley/pcp.git multi-archive branch over the past few months and I believe that it is getting close to the point where a merge into the pcp master branch will be possible. There have been discussions about various technical issues with regard to this work on the list. However, I think that now would be a good time to summarize what is on the branch and how the command-line and API interfaces work. If this work is to be merged in time for the next release (PCP 3.11.1, scheduled for March 18), then these details need to be solid by that time. *Overview* The purpose of this work is to allow libpcp clients to treat sets of compatible PCP archives as though they are one. A typical use case would be the archives in the pmlogger(1) output directory. pmlogger(1) restarts and daily log management cause archives to be ended and new archives to be started within that directory. In reality, tools often need to query data which spans these archives. This forces manual intervention via tools like pmlogextract(1) in order to consolidate the separate archives into one. It would be much easier if libpcp contexts could automatically treat these sets of archives as one, transitioning among them seamlessly as though pmlogextract(1) had been used to consolidate them. This initial implementation aims to provide that support for static sets of archives which are: * created on the same host * using the same time zone * temporally distinct (no overlaps) * with no PMNS conflicts Future enhancements will allow for reduced restrictions, where possible, and for supporting the possibility that archives within the set may still be actively being written to. *pmNewContext(3)* In order to support specifying sets of archives without breaking API compatibility with older clients, pmNewContext(3) now accepts a comma-separated list of names for it's *name* argument, when the *type* is PM_CONTEXT_ARCHIVE. Each element in the list may be the name of an archive, as currently supported, or the name of a directory. When a directory is specified, it is searched for PCP archives and the list is expanded as if those archives had been specified directly. Directories are not recursively searched for archives. Duplicate archive names in the list are ignored. The final list of archives forms the set of archives over which the context will operate. There is precedent for the use of a comma-separated lists in libpcp. See __pmAddOptHostList(). However, since this is a list of files and/or directories, perhaps a colon-separated list in the style of PATH might be more appropriate. *pmGetOptions(3)* At the command line level, pmGetOptions(3) has been enhanced in the following ways: * The argument to -a may now be a comma-separated list of names, as described above * The argument to -a may now be the name of a directory. * Multiple -a options are now supported. The arguments to each -a option are consolidated into a single comma-separated list which is then presented to pmNewContext(3). The exception to the above are tools which use PM_OPTFLAG_MULTI (e.g. pmstat(1)). These tools use a separate PCP context for each -a option specified. However, each -a option may still specify a comma-separated list of names, each of which may be a directory or the name of an archive. Using this approach, many PCP tools have gained the ability to support multi-archive contexts */without any code changes/*. The implication is that older versions of these tools also gain this ability when paired with a multi-archive-enabled version of libpcp. As discussed on this mailing list, there are some tools for which older versions will be broken with respect to the handling of time indices when paired with a multi-archive-enabled version of libpcp. These tools will still work correctly when a single archive is specified. The tools in question are pmdumplog(1) and pmlogcheck(1). It has been suggested that perhaps these tools should be restricted to working against single archives going forward. I disagree. I believe that these tools could be updated to work with multi-archive contexts and I see no reason to penalize the users of these tools if that is the case. *Other APIs* Once a multi-archive context has been established, it is the intent that all other PMAPI calls which operate on the context behave seamlessly as if the set of archives are one, with the same result as if pmLogExtract(1) had been used to consolidate the archives. This includes queries and traversals against the PMNS of the set of archives as well as reading forward and backward across archive boundaries. In particular, records are generated as archive boundaries are crossed at the __pmLogRead() level, allowing the existing mechanisms to handle archive boundaries appropriately. *Remaining Tasks* * PMNS consistency checks (archive label consistency checks are complete) * libpcp features update (__pmGetAPIConfig()) * qa (some qa-style scripts have been written but not committed) * Enhancements to individual tools * man pages/books *Issues to Resolve* Based on the above, there remain a couple of issues for which a decision needs to be made: * Whether to use a comma or a colon (or either?) to separate the names in the list passed to pmNewContext(3). * Whether to restrict pmdumplog(1) and pmlogcheck(1) to single archive contexts. There are many, more experienced members of this team than I. I am open to arguments and even edicts on these matters and anything else I may have missed for this initial implementation. Dave --------------090802030906020303040107 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi All,

I've been quietly adding code to my git://git.pcp.io/brolley/pcp.git multi-archive branch over the past few months and I believe that it is getting close to the point where a merge into the pcp master branch will be possible.

There have been discussions about various technical issues with regard to this work on the list. However, I think that now would be a good time to summarize what is on the branch and how the command-line and API interfaces work. If this work is to be merged in time for the next release (PCP 3.11.1, scheduled for March 18), then these details need to be solid by that time.

Overview
The purpose of this work is to allow libpcp clients to treat sets of compatible PCP archives as though they are one. A typical use case would be the archives in the pmlogger(1) output directory. pmlogger(1) restarts and daily log management cause archives to be ended and new archives to be started within that directory. In reality, tools often need to query data which spans these archives. This forces manual intervention via tools like pmlogextract(1) in order to consolidate the separate archives into one.

It would be much easier if libpcp contexts could automatically treat these sets of archives as one, transitioning among them seamlessly as though pmlogextract(1) had been used to consolidate them. This initial implementation aims to provide that support for static sets of archives which are:
  • created on the same host
  • using the same time zone
  • temporally distinct (no overlaps)
  • with no PMNS conflicts
Future enhancements will allow for reduced restrictions, where possible, and for supporting the possibility that archives within the set may still be actively being written to.

pmNewContext(3)

In order to support specifying sets of archives without breaking API compatibility with older clients, pmNewContext(3) now accepts a comma-separated list of names for it's name argument, when the type is PM_CONTEXT_ARCHIVE. Each element in the list may be the name of an archive, as currently supported, or the name of a directory. When a directory is specified, it is searched for PCP archives and the list is expanded as if those archives had been specified directly. Directories are not recursively searched for archives. Duplicate archive names in the list are ignored. The final list of archives forms the set of archives over which the context will operate.

There is precedent for the use of a comma-separated lists in libpcp. See __pmAddOptHostList(). However, since this is a list of files and/or directories, perhaps a colon-separated list in the style of PATH might be more appropriate.

pmGetOptions(3)

At the command line level, pmGetOptions(3) has been enhanced in the following ways:
  • The argument to -a may now be a comma-separated list of names, as described above
  • The argument to -a may now be the name of a directory.
  • Multiple -a options are now supported.
The arguments to each -a option are consolidated into a single comma-separated list which is then presented to pmNewContext(3).

The exception to the above are tools which use PM_OPTFLAG_MULTI (e.g. pmstat(1)). These tools use a separate PCP context for each -a option specified. However, each -a option may still specify a comma-separated list of names, each of which may be a directory or the name of an archive.

Using this approach, many PCP tools have gained the ability to support multi-archive contexts without any code changes. The implication is that older versions of these tools also gain this ability when paired with a multi-archive-enabled version of libpcp.

As discussed on this mailing list, there are some tools for which older versions will be broken with respect to the handling of time indices when paired with a multi-archive-enabled version of libpcp. These tools will still work correctly when a single archive is specified. The tools in question are pmdumplog(1) and pmlogcheck(1). It has been suggested that perhaps these tools should be restricted to working against single archives going forward. I disagree. I believe that these tools could be updated to work with multi-archive contexts and I see no reason to penalize the users of these tools if that is the case.

Other APIs

Once a multi-archive context has been established, it is the intent that all other PMAPI calls which operate on the context behave seamlessly as if the set of archives are one, with the same result as if pmLogExtract(1) had been used to consolidate the archives. This includes queries and traversals against the PMNS of the set of archives as well as reading forward and backward across archive boundaries. In particular, <mark> records are generated as archive boundaries are crossed at the __pmLogRead() level, allowing the existing mechanisms to handle archive boundaries appropriately.

Remaining Tasks
  • PMNS consistency checks (archive label consistency checks are complete)
  • libpcp features update (__pmGetAPIConfig())
  • qa (some qa-style scripts have been written but not committed)
  • Enhancements to individual tools
  • man pages/books
Issues to Resolve

Based on the above, there remain a couple of issues for which a decision needs to be made:
  • Whether to use a comma or a colon (or either?) to separate the names in the list passed to pmNewContext(3).
  • Whether to restrict pmdumplog(1) and pmlogcheck(1) to single archive contexts.
There are many, more experienced members of this team than I. I am open to arguments and even edicts on these matters and anything else I may have missed for this initial implementation.

Dave
--------------090802030906020303040107-- From minnus@buffalo.edu Tue Feb 23 14:23:32 2016 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 13AC47F89 for ; Tue, 23 Feb 2016 14:23:32 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id CAEFF8F8037 for ; Tue, 23 Feb 2016 12:23:25 -0800 (PST) X-ASG-Debug-ID: 1456258997-04bdf07ab6fd240001-S8gJnT Received: from mtareserve1.acsu.buffalo.edu (mtareserve113.acsu.buffalo.edu [128.205.6.241]) by cuda.sgi.com with ESMTP id DlWdy7syMkvDYRAz for ; Tue, 23 Feb 2016 12:23:17 -0800 (PST) X-Barracuda-Envelope-From: minnus@buffalo.edu X-Barracuda-Apparent-Source-IP: 128.205.6.241 Received: from localmailg.acsu.buffalo.edu (localmailg.acsu.buffalo.edu [128.205.4.25]) by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id 3BFC097C323 for ; Tue, 23 Feb 2016 15:23:17 -0500 (EST) Received: from localmailg.acsu.buffalo.edu (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 2FA5EE09B5 for ; Tue, 23 Feb 2016 15:23:17 -0500 (EST) Received: from localmailg.acsu.buffalo.edu (localhost [127.0.0.1]) by localmailg.acsu.buffalo.edu (Postfix) with ESMTP id 135C9E09B6 for ; Tue, 23 Feb 2016 15:23:17 -0500 (EST) Received: from smtp.buffalo.edu (smtp3.acsu.buffalo.edu [128.205.5.226]) by localmailg.acsu.buffalo.edu (Prefixe) with ESMTP id 11850E09B5 for ; Tue, 23 Feb 2016 15:23:17 -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 035F5CC20E6 for ; Tue, 23 Feb 2016 15:23:17 -0500 (EST) To: PCP Mailing List From: Martins Innus Subject: pmdaslurm updates Message-ID: <56CCBFB4.3080901@buffalo.edu> X-ASG-Orig-Subj: pmdaslurm updates Date: Tue, 23 Feb 2016 15:23:16 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-PM-EL-Spam-Prob: : 8% X-Barracuda-Connect: mtareserve113.acsu.buffalo.edu[128.205.6.241] X-Barracuda-Start-Time: 1456258997 X-Barracuda-URL: https://192.48.157.11:443/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.27277 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, Here is an update to the Slurm PMDA that adds a metric for the cores that have been allocated to the job by the scheduler: https://github.com/ubccr/pcp/tree/pmdaslurm We have been running this for a while but haven't had a chance to push upstream. Thanks Martins commit c730132349d51c72b3ac9f657505405c959d7ba6 Author: Martins Innus Date: Tue Sep 29 16:02:58 2015 -0400 pmdaslurm : Add allocated cores metric src/pmdas/slurm/pmdaslurm.pl | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) From fche@redhat.com Tue Feb 23 14:27:35 2016 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 06CFE7F89 for ; Tue, 23 Feb 2016 14:27:35 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id BE4FD8F8037 for ; Tue, 23 Feb 2016 12:27:28 -0800 (PST) X-ASG-Debug-ID: 1456258632-04cb6c455aa6d60001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 0J9ByTIzrPZ0DbiB (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 23 Feb 2016 12:17:13 -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 (Postfix) with ESMTPS id 8594965406; Tue, 23 Feb 2016 20:17:12 +0000 (UTC) Received: from fche.csb (unused [10.10.50.5] (may be forged)) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1NKHCKP014268; Tue, 23 Feb 2016 15:17:12 -0500 Received: by fche.csb (Postfix, from userid 2569) id 169DA586A2; Tue, 23 Feb 2016 15:17:12 -0500 (EST) To: Martins Innus Cc: Nathan Scott , Ken McDonell , Lukas Berk , pcp@oss.sgi.com Subject: Re: pmcd gets stuck with pmda kill References: <54C7FF66.5090503@buffalo.edu> <54C80E1F.1010909@internode.on.net> <54C93BFD.5090803@buffalo.edu> <54C93DED.9020601@internode.on.net> <54C94943.4040108@buffalo.edu> <54C95BAB.9050806@internode.on.net> <168392226.3529756.1422567735855.JavaMail.zimbra@redhat.com> <54CAB7A1.1030204@buffalo.edu> <349735125.21806467.1455774818823.JavaMail.zimbra@redhat.com> <56CB5A03.5030008@buffalo.edu> X-ASG-Orig-Subj: Re: pmcd gets stuck with pmda kill From: fche@redhat.com (Frank Ch. Eigler) Date: Tue, 23 Feb 2016 15:17:12 -0500 In-Reply-To: <56CB5A03.5030008@buffalo.edu> (Martins Innus's message of "Mon, 22 Feb 2016 13:57:07 -0500") 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 23 Feb 2016 20:17:12 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456258633 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Martins Innus writes: > [...] > ################# > delta = 1 min; > > some_inst ( > pmcd.agent.status != 0 > ) -> shell 10 min "pmsignal -s HUP -a pmcd" > & syslog 10 min "Restart unresponsive PMDAs" " pmda%i[%v]"; > ################# FWIW I'm not a fan of this approach, for a couple of reasons. - it requires a separate process to be running & polling - the polling implies a relatively slow response time, and a low-rate-limited response - it cannot operate remotely (since pmsignal doesn't work across the network), thus can't be default-on in pmieconf - should it happen that there are other pmcds running, for testing or whatever reasons, pmsignal will signal them all; we already have similar problems with the testsuite's and the rc.d scripts' pmsignal calls killing unintended processes I wonder why this seems in any way preferable to teaching pmcd or pmdaroot to auto-restart failing pmdas? They're at the right place at the right time. - FChE From rvernica@gmail.com Tue Feb 23 14:31:52 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 47E677F89 for ; Tue, 23 Feb 2016 14:31:52 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E2EE88F8037 for ; Tue, 23 Feb 2016 12:31:45 -0800 (PST) X-ASG-Debug-ID: 1456259503-04bdf07ab5fd5a0001-S8gJnT Received: from mail-vk0-f42.google.com (mail-vk0-f42.google.com [209.85.213.42]) by cuda.sgi.com with ESMTP id uEwpGEzMtXOG81LJ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 12:31:43 -0800 (PST) X-Barracuda-Envelope-From: rvernica@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.213.42 Received: by mail-vk0-f42.google.com with SMTP id k196so174507920vka.0 for ; Tue, 23 Feb 2016 12:31:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=i74ppEkveS/BFfe6DG0H+yu3toRKmd3rH3iZqI7tmtQ=; b=V1CvRZkjeVjaFmQpP/X6z2CfK0flQlKGWEYhX9ZYmFw6PZ3z07Ps/mdxgTTiZuBhmM j4+sl6slTRkFQ9uDP9aSByq3SrY1VrkoulYLhCA7GlSyvv5h9Ff1XSqds8lI/PbsOoFk jUF0zGvATjARhP0yndsukIynnkvNdITiIeSujbpoo9p+2n+CLRNdNG420d03KxImUZ9L YCpC4sGMACZRw83kCMCgc3MfCU7IHgbCVWgawzjgiAEVUjqzKZciGKkhDzFAPMrIjqed bnI0J/Kv5+nZb152vlcUhA3LBb4bjXu0Bzqy1VFowSg7LHiWWaWdbTvRbF09a1wFxYPG aHMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=i74ppEkveS/BFfe6DG0H+yu3toRKmd3rH3iZqI7tmtQ=; b=I258VlylHiKQRFLI7nn+vHgYSGCGzCSIzKlNRh417Q64a0elvftKBtoHc9mPxR+me9 znZ5HMhAUz+f3iwsUuaoW9hn3OODecIqPEgtgpFRy6eaKUb/1dUW1S3DuVKcP7Tfnj4U x+zTeTNmMpTkuVhAx7Qp/8HCeE41pPX7e6oaYQY7fh/VZLgZKGuWjqy/aNesZS8rApy/ 3tNzMp+cEx7/fBLc98Xfhl5XqKDW3ououAYM8KpDuwG1HI6OUmUEJ/qSv2JtYvMkmRzr 9DlJcU9lKsEUNI4+5j4TwoJ/tOSbRY0VxWLGVcgwpsdyRxTPoElvNXIuziWmrtdNkq59 WyKA== X-Gm-Message-State: AG10YOR6HCvC9wyxPM05oSx8w0aJnU/DZ6AQI9MdobIa0ty0iqJwxIbzqNTPWWngomQyMAnz9+400R2AkmUGyg== MIME-Version: 1.0 X-Received: by 10.31.54.80 with SMTP id d77mr26473189vka.138.1456259502980; Tue, 23 Feb 2016 12:31:42 -0800 (PST) Received: by 10.159.35.131 with HTTP; Tue, 23 Feb 2016 12:31:42 -0800 (PST) In-Reply-To: <729411517.24099425.1456190522006.JavaMail.zimbra@redhat.com> References: <729411517.24099425.1456190522006.JavaMail.zimbra@redhat.com> Date: Tue, 23 Feb 2016 12:31:42 -0800 Message-ID: Subject: Re: [pcp] mmv metric does not show up in pmlogger archives From: Rares Vernica X-ASG-Orig-Subj: Re: [pcp] mmv metric does not show up in pmlogger archives To: pcp@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11438eaa60468e052c75d662 X-Barracuda-Connect: mail-vk0-f42.google.com[209.85.213.42] X-Barracuda-Start-Time: 1456259503 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27277 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 --001a11438eaa60468e052c75d662 Content-Type: text/plain; charset=UTF-8 I has able to figure out the issue. I was adding my mmv metrics to this file: On Mon, Feb 22, 2016 at 5:05 PM, Rares Vernica wrote: > > $ cat /etc/pcp/pmlogger/config.default And in control I was referring to the configuration file only by file name: > LOCALHOSTNAME y n PCP_LOG_DIR/pmlogger/LOCALHOSTNAME -r -T24h10m -c config.default Well, it turns out that the lookup directory for the pmlogger configuration file is not /etc/pcp/pmlogger/ but $PCP_VAR_LIB/config/pmlogger/ (e.g., /var/lib/pcp/config/pmlogger/) http://www.pcp.io/man/man1/pmlogger.1.html (see CONFIGURATION FILE SYNTAX section). So, I created and edited the config.default file in the wrong location and another default config.default file exists in $PCP_VAR_LIB/config/pmlogger/ Cheers, Rares --001a11438eaa60468e052c75d662 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I has able to figure out the is= sue.

I was adding my mmv metrics to this = file:

On Mon, Feb 22, 2016 at 5:0= 5 PM, Rares Vernica <rvernica@gmai= l.com> wrote:
>
> $ cat /et= c/pcp/pmlogger/config.default

And in control I was referring to the configura= tion file only by file name:

> LOCALHOSTNAME y =C2=A0 n PCP_LOG_DIR/pmlogger/L= OCALHOSTNAME -r -T24h10m -c config.default

Well, it turns out that the lookup= directory for the pmlogger configuration file is not=C2=A0/etc/pcp/pmlogge= r/ but $PCP_VAR_LIB/config/pmlogger/ (e.g., /var/li= b/pcp/config/pmlogger/)=C2=A0http://www.pcp.io/man/man1/pmlogger.1.html (see CONFIGURATION = FILE SYNTAX section).

So, I created and edited the config.default file in the wr= ong location and another default config.default file exists in=C2=A0$PCP_VA= R_LIB/config/pmlogger/

Cheers,
Rares
--001a11438eaa60468e052c75d662-- From nscott@redhat.com Tue Feb 23 19:29:39 2016 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 6E2C27F88 for ; Tue, 23 Feb 2016 19:29:39 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1BBF58F8035 for ; Tue, 23 Feb 2016 17:29:33 -0800 (PST) X-ASG-Debug-ID: 1456277361-04bdf07ab3105d70001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id iQNCOsFEP882Yf8V (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 23 Feb 2016 17:29:22 -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 u1O1TL3n031542 for ; Tue, 23 Feb 2016 20:29:21 -0500 Date: Tue, 23 Feb 2016 20:29:21 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Message-ID: <229676997.24494811.1456277361593.JavaMail.zimbra@redhat.com> In-Reply-To: <76930670.24494758.1456277279852.JavaMail.zimbra@redhat.com> Subject: pcp updates: martins merge, pmie, rc, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: martins merge, pmie, rc, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.68] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: martins merge, pmie, rc, qa Thread-Index: I2UYan+rxEjZOLafoD8UlqzGRGxJiQ== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1456277361 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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.27287 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 master Nathan Scott (4): qa: update notrun checks for test 353 pmsignal: provide a targetted program mode pmie: chop final colon in child PATH specification build: add missing deb deps for database and other pmdas Martins Innus (1): pmdaslurm : Add allocated cores metric debian/control | 2 - man/man1/pmsignal.1 | 33 +++++++++++++++++++++++++++----- qa/353 | 10 +++------ qa/881 | 43 ++++++++++++++++++++++++++++++++++++++++++ qa/881.out | 7 ++++++ qa/group | 1 src/pmdas/slurm/pmdaslurm.pl | 31 +++++++++++++++++++++++++++--- src/pmie/src/act.sk | 44 +++++++++++++++++++++++-------------------- src/pmieconf/pcp/pmda_status | 2 - src/pmmgr/rc_pmmgr | 2 - src/pmproxy/rc_pmproxy | 2 - src/pmsignal/pmsignal.sh | 21 ++++++++++++++++---- src/pmwebapi/rc_pmwebd | 2 - 13 files changed, 157 insertions(+), 43 deletions(-) commit 1a2a009759788c493999792b4f39add2944cf3cb Author: Nathan Scott Date: Wed Feb 24 10:59:44 2016 +1100 build: add missing deb deps for database and other pmdas Thanks kenj for the missing dependency list. Resolves: https://github.com/performancecopilot/pcp/issues/73 commit 295fd6777e59fc455230de4ce8ca287fc6d7d9e2 Author: Nathan Scott Date: Wed Feb 24 10:14:14 2016 +1100 pmie: chop final colon in child PATH specification If $PCP_PLATFORM_PATH is empty, we could end up with an unnecessary final colon in the PATH passed to pmie child processes. Check for it, chop it off if needed. Thanks kenj for spotting the issue. commit 467798355bb1d4dedf8c1ec275b9f279746169ac Author: Nathan Scott Date: Wed Feb 24 09:47:46 2016 +1100 pmsignal: provide a targetted program mode Provide a pmsignal mode which uses PCP_RUN_DIR pidfiles to more reliably find only long-running PCP daemon processes, rather than the shotgun approach of "killall" (while still keeping the convenience of specifying programs by name). Several of the daemon rc scripts are updated to use this mode, to tackle Fedora BZ 1210976, and the recently added pmieconf PMDA status check rule is also updated to use it. Man page for pmsignal is fleshed out a bit (including some missing text for existing options), and test 881 exercises the functionality. commit 4409c3ff72d1cf2994c3d63810632f60c0fe485a Author: Nathan Scott Date: Tue Feb 23 15:21:43 2016 +1100 qa: update notrun checks for test 353 commit c730132349d51c72b3ac9f657505405c959d7ba6 Author: Martins Innus Date: Tue Sep 29 16:02:58 2015 -0400 pmdaslurm : Add allocated cores metric From noreply@github.com Tue Feb 23 19:30:45 2016 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=2.8 required=5.0 tests=HTML_IMAGE_ONLY_28, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 AD1E67C8C for ; Tue, 23 Feb 2016 19:30:45 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5E9EC8F8037 for ; Tue, 23 Feb 2016 17:30:39 -0800 (PST) X-ASG-Debug-ID: 1456277434-04bdf07ab3105df0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id Ni6pwTrr7lrF2HRH (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 17:30:35 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext6.iad.github.net ([192.30.252.197] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYOHc-0005Sc-Ks for ; Wed, 24 Feb 2016 12:30:33 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.197 X-Barracuda-RBL-IP: 192.30.252.197 X-Barracuda-BBL-IP: 192.30.252.197 Date: Tue, 23 Feb 2016 17:30:21 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456277421; bh=wqtyLDZ6vkERRyjAqP+AEZVryfLP6mUSj+EhTErcu7A=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Qom+6VVrDx01qDB5KeFBLrQ22Vg+Eb5N5jRpwt81nbXKWMjbljRw+NT3Jcq1k7bub WJabtB6yP2EQTgltD3aBwz3hMyW4JXIqKwVKxk6JISyhRmqORstsYbt+ca7EG3ydtc F+n5pXf9hKG2R43p7Ta5kdWRjrJgTLieeEJ6OpvU= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Debian/Ubuntu packages missing mysql and postgres PMDA (#73) Content-Type: multipart/alternative; boundary="--==_mimepart_56cd07ad1c642_10143f8966dad2a039466e"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456277434 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.73 X-Barracuda-Spam-Status: No, SCORE=0.73 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_28, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27287 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.73 HTML_IMAGE_ONLY_28 BODY: HTML: images with 2400-2800 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56cd07ad1c642_10143f8966dad2a039466e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit @kmcdonell thanks for that list - I've added it to debian/control and checked a build, looks good. Yep, I would like for us to work on improving the bintray release builds and QA integration. I think what happened here was that even though we're both using qa/admin/check-vm, there's a disconnect between initial VM setup (for bintray builds in this case) and then changes that come along in the interim, like the configure.ac changes adding deps on DBI/DBD and so on (which were reflected in check-vm sometime later). Perhaps we could set aside some time in the QA-week for this release to explore this some more? I think the work @minnus and @ryandoyle started awhile ago for doing QA in Vagrant VMs (see the Vagrantfile in $TOPDIR and details over at https://www.vagrantup.com) will keep us all on the same page. Then anyone will be able to do both reproducible QA and reproducible releasable builds. It'll also help, I hope, with the situations where you see QA failures on a local VM that I later cannot reproduce here - like qa/878, argh - we'd both be using the exact same VMs ($TOPDIR/Vagrantfile sets this up and we all use the same configuration, for all the platforms). It could also help get the buildbot setups @lberk manages, and scripts like pcp-qa-summary all able to interoperate on the same VMs. Sounds like the holy grail for QA and release builds doesn't it? :) --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/73#issuecomment-188000859 ----==_mimepart_56cd07ad1c642_10143f8966dad2a039466e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

@kmcdonell thanks for that list - I've added it to debian/control and checked a build, looks good.

Yep, I would like for us to work on improving the bintray release builds and QA integration. I think what happened here was that even though we're both using qa/admin/check-vm, there's a disconnect between initial VM setup (for bintray builds in this case) and then changes that come along in the interim, like the configure.ac changes adding deps on DBI/DBD and so on (which were reflected in check-vm sometime later).

Perhaps we could set aside some time in the QA-week for this release to explore this some more? I think the work @minnus and @ryandoyle started awhile ago for doing QA in Vagrant VMs (see the Vagrantfile in $TOPDIR and details over at https://www.vagrantup.com) will keep us all on the same page. Then anyone will be able to do both reproducible QA and reproducible releasable builds.

It'll also help, I hope, with the situations where you see QA failures on a local VM that I later cannot reproduce here - like qa/878, argh - we'd both be using the exact same VMs ($TOPDIR/Vagrantfile sets this up and we all use the same configuration, for all the platforms). It could also help get the buildbot setups @lberk manages, and scripts like pcp-qa-summary all able to interoperate on the same VMs.

Sounds like the holy grail for QA and release builds doesn't it? :)


Reply to this email directly or view it on GitHub.

----==_mimepart_56cd07ad1c642_10143f8966dad2a039466e-- From kenj@internode.on.net Tue Feb 23 20:20:07 2016 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 960047F75 for ; Tue, 23 Feb 2016 20:20:07 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 14198AC002 for ; Tue, 23 Feb 2016 18:20:00 -0800 (PST) X-ASG-Debug-ID: 1456279422-04bdf07ab3107600001-S8gJnT Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id MeERlYs8QEhVuCeS for ; Tue, 23 Feb 2016 18:03:42 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DxAgA3Ds1WPFBJ0XYNUYQMbYZirFaJKRmICwEBAQEBAQcBAQEBQYEBEgGEF1UwBgIFFgsCCwMCAQIBMScGAgEBthZnjxF7jCiCKoI0gToFh1aGCIkphViKLoxLij6EC4RaVoM/hHYBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Feb 2016 12:33:42 +1030 To: pcp@oss.sgi.com Subject: pcp updates: odds and sods, Makepkgs is the most important piece here From: Ken McDonell X-ASG-Orig-Subj: pcp updates: odds and sods, Makepkgs is the most important piece here Message-ID: <56CD0F7C.9060702@internode.on.net> Date: Wed, 24 Feb 2016 13:03:40 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1456279422 X-Barracuda-URL: https://192.48.157.11:443/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.27288 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (4): qa/574: a couple of remade .out files to track recent changes Makepkgs: rework configopts logic fmt(1) is different on NetBSD ... make some uses conditional qa/031 and qa/574: Darwin .outs remade Makepkgs | 152 +++++++++++++++++++++++------------------ qa/031.out.darwin | 2 qa/338 | 2 qa/574.out.darwin | 3 qa/574.out.netbsd | 1 qa/574.out.openbsd | 3 src/pcp/pcp.sh | 2 src/pcp/summary/pcp-summary.sh | 2 src/pmlogconf/pmlogconf.sh | 9 ++ 9 files changed, 103 insertions(+), 73 deletions(-) Details ... commit fa8331823fcc9d13bef3cd7b7636b6ddb1825c19 Author: Ken McDonell Date: Wed Feb 24 12:37:57 2016 +1100 qa/031 and qa/574: Darwin .outs remade commit d952bbc394ec68409820835ef6b5be6900b64f21 Author: Ken McDonell Date: Wed Feb 24 12:36:54 2016 +1100 fmt(1) is different on NetBSD ... make some uses conditional qa/338, pcp(1), pcp-summary and pmlogconf(1) commit cbae36b6abea6977f9e89ff23e607f2b803e1771 Author: Ken McDonell Date: Wed Feb 24 09:56:12 2016 +1100 Makepkgs: rework configopts logic Triggered by a recent schizo "I am rpm and I am dpkg" build issue. Clean up the logic, test consistently and allow the command line options --nonrpm and --nondeb to over-ride the default heuristics correctly. commit b548ea3009451487a99c29dc8b247c0178ccd35b Author: Ken McDonell Date: Wed Feb 24 06:45:39 2016 +1100 qa/574: a couple of remade .out files to track recent changes From noreply@github.com Tue Feb 23 20:40:15 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 187957F83 for ; Tue, 23 Feb 2016 20:40:15 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B277F8F8040 for ; Tue, 23 Feb 2016 18:40:08 -0800 (PST) X-ASG-Debug-ID: 1456281604-04bdf07ab5108820001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-66.servers.netregistry.net [202.124.241.66]) by cuda.sgi.com with ESMTP id Q685tTXJHqh9Evjj (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Tue, 23 Feb 2016 18:40:05 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.66 Received: from github-smtp2-ext7.iad.github.net ([192.30.252.198] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYPMt-0004FN-Lu for ; Wed, 24 Feb 2016 13:40:03 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.198 X-Barracuda-RBL-IP: 192.30.252.198 X-Barracuda-BBL-IP: 192.30.252.198 Date: Tue, 23 Feb 2016 18:39:52 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456281592; bh=m3UMsnOz6Q0szetxHv5LNC3MKgOOzC7bsJl3R2cZibU=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=bkuRarEc7lXkGR+v/M4BkSI6a33dzhbcN2JqvNwzBR77jvxRk9ka6DJtYmkXNwnrQ vcLxZET9R7fwrWR3dD34lnzYfFammdZsv58QkUDqln6ENbNCIgpPTs4R1lxvZLFIU4 4In2r2rWRKluXu5lRdoTe9vqoSC7dihOs5CaDYj0= From: Ken McDonell Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Makepkgs fails on 3.11.0 tag (#75) Content-Type: multipart/alternative; boundary="--==_mimepart_56cd17f8302a8_7dad3f84a7e252a012634da"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: kmcdonell X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-66.servers.netregistry.net[202.124.241.66] X-Barracuda-Start-Time: 1456281605 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27289 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56cd17f8302a8_7dad3f84a7e252a012634da Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I've checked in a change to Makepkgs that will hopefully prevent this issue in the future, should we come across another build system with a similar installation setup. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/75#issuecomment-188027129 ----==_mimepart_56cd17f8302a8_7dad3f84a7e252a012634da Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I've checked in a change to Makepkgs that will hopefully prevent this issue in the future, should we come across another build system with a similar installation setup.


Reply to this email directly or view it on GitHub.

----==_mimepart_56cd17f8302a8_7dad3f84a7e252a012634da-- From nscott@redhat.com Tue Feb 23 22:44:54 2016 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 36A377F73 for ; Tue, 23 Feb 2016 22:44:54 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id EB2C430404E for ; Tue, 23 Feb 2016 20:44:47 -0800 (PST) X-ASG-Debug-ID: 1456289078-04bdf07ab310bb70001-S8gJnT Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id lph3HBdTFLluwcR9 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Feb 2016 20:44:39 -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 u1O4ibKZ027388; Tue, 23 Feb 2016 23:44:37 -0500 Date: Tue, 23 Feb 2016 23:44:37 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Martins Innus Cc: PCP Mailing List Message-ID: <808991005.24516201.1456289077202.JavaMail.zimbra@redhat.com> In-Reply-To: <56CCBFB4.3080901@buffalo.edu> References: <56CCBFB4.3080901@buffalo.edu> Subject: Re: [pcp] pmdaslurm updates MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmdaslurm updates Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.68] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmdaslurm updates Thread-Index: iWopoVrJCCAJtKoWPNyk9hjAhDJXKw== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1456289079 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.27291 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 Martins, ----- Original Message ----- > Hi, > Here is an update to the Slurm PMDA that adds a metric for the cores > that have been allocated to the job by the scheduler: > > > https://github.com/ubccr/pcp/tree/pmdaslurm > > We have been running this for a while but haven't had a chance to push > upstream. > I ran into this minor issue on merging ... qa$ ./check 1031 1031 3s ... - output mismatch (see 1031.out.bad) 1a2,3 > Bareword "SHOW_DETAIL" not allowed while "strict subs" in use at pmdaslurm.pl line 104. > Execution of pmdaslurm.pl aborted due to compilation errors. 3,34c5,6 [...] I think this is just a QA test issue, and updated accordingly (but needed to update pmdaslurm itself too - namespace issue?) ... could you double check my tweak is OK? Thanks! cheers. -- Nathan From DoNotReply@ikea.com Wed Feb 24 04:48:02 2016 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,T_TVD_MIME_EPI 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 7B6B87CA2 for ; Wed, 24 Feb 2016 04:48:02 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C0841AC005 for ; Wed, 24 Feb 2016 02:47:55 -0800 (PST) X-ASG-Debug-ID: 1456310834-04cb6c455abe1a0001-S8gJnT Received: from superbox ([82.102.197.194]) by cuda.sgi.com with ESMTP id 3ujLQOn6x3BYpNRB for ; Wed, 24 Feb 2016 02:47:17 -0800 (PST) X-Barracuda-Envelope-From: DoNotReply@ikea.com X-Barracuda-Apparent-Source-IP: 82.102.197.194 Message-ID: Date: Wed, 24 Feb 2016 12:46:57 +0300 From: DoNotReply@ikea.com To: pcp@oss.sgi.com Subject: Thank you for your order! Mime-Version: 1.0 X-ASG-Orig-Subj: Thank you for your order! Content-Type: multipart/mixed; boundary="----=_Part_1853859_2061138650.1418725925456" X-Barracuda-Connect: UNKNOWN[82.102.197.194] X-Barracuda-Start-Time: 1456310835 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, HTML_MESSAGE, MIME_MISSING_BOUNDARY, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27298 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 MIME_MISSING_BOUNDARY RAW: MIME section missing boundary 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 ------=_Part_1853859_2061138650.1418725925456 Content-Type: multipart/alternative; boundary="----=_Part_1132511_950286500.1418725896700" ------=_Part_1132511_950286500.1418725896700 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline ???ORDER_ACK_logo_subtitle??? Order acknowledgement:=20 To print, right click and select print or use keys Ctrl an= d P.
Thank you for ordering with IKEA Shop Online. Your order is now being proce= ssed. Please check your order and contact us as soon as possible if any det= ails are incorrect. IKEA Customer Relations, Kingston Park, Fletton, Peterb= orough, PE2 9ET. Tel: 0203 645 0015 Order/Invoice number: 607656390 Total cost: =A3122.60 Delivery date: 24-02-2016 Delivery method: Parcelforce We will confirm your delivery date by text,email or telephone within 72 hrs= . Order time: 8:31am GMT Order/Invoice date: 24-02-2016=20 Legal information Please note that this email does not mean that we have accepted your order = and it does not form a binding contract. A contract will be formed between = You and IKEA at the time we dispatch your order to you, with the exception = of made to order sofas and worktops where order acceptance occurs at the po= int when we send you our Delivery Advice email.=20 Your order is subject to IKEAs Terms of use (http://www.ikea.com/ms/en_GB/c= ustomer_service/terms_conditions.html) and Return Policy (http://www.ikea.c= om/ms/en_GB/customer_service/returns.html) This is an email from IKEA Ltd (Company Number 01986283) whose registered o= ffice address is at Witan Gate House 500-600 Witan Gate West, Milton Keynes= MK9 1SH, United Kingdom. IKEA VAT Number: 527 7733 20 This email is your VAT receipt, please print a copy for your records. IKEA Ltd does not accept responsibility for the accuracy or completeness of= the contents of this email as it has been transmitted over a public networ= k. ------=_Part_1132511_950286500.1418725896700 Content-Type: text/html;charset=iso-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Order acknowledgement:
IKEA

IKEA UNITED KINGDOM

Order acknowledgement:


To print, right click and select print or use keys Ctrl and P.

Thank you for ordering with IKEA Shop Online. Your order is now being processed. Please check your order and contact us as soon as possible if any details are incorrect. IKEA Customer Relations, Kingston Park, Fletton, Peterborough, PE2 9ET. Tel: 0203 645 0015

Total cost:
£122.60

Delivery date:
24-02-2016

Delivery method:
Parcelforce

We will confirm your delivery date by text,email or telephone within 72 hrs.

Order/Invoice number:
607656390

Order time:
8:31am GMT

Order/Invoice date:
24-02-2016

 
Legal information
Please note that this email does not mean that we have accepted your order and it does not form a binding contract. A contract will be formed between You and IKEA at the time we dispatch your order to you, with the exception of made to order sofas and worktops where order acceptance occurs at the point when we send you our Delivery Advice email.
Your order is subject to IKEAs Terms of use and Return Policy
 
------=_Part_1132511_950286500.1418725896700-- ------=_Part_1853859_2061138650.1418725925456_ Content-Type: application/vnd.ms-word.document.macroEnabled.12; name="IKEA receipt 656390.docm" Content-Description: IKEA receipt 656390.docm Content-Disposition: attachment; filename="IKEA receipt 656390.docm"; Content-Transfer-Encoding: base64 UEsDBBQABgAIAAAAIQBqLsFNowEAABsGAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIo oAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0VDtPwzAQ3pH4D5FXlLgwIISaMkAZAYki 5qtzaQ2JbdlHaf89l0ejglpSKCyREud7XS7f8GpZFtECfdDWpOI0GYgIjbKZNrNUPE1u4wsR BQKTQWENpmKFQVyNjo+Gk5XDEDHahFTMidyllEHNsYSQWIeGT3LrSyC+9TPpQL3CDOXZYHAu lTWEhmKqOMRoeIM5vBUUjZf8uHEy1UZE1817lVQqwLlCKyA2KhcmS8oQ2zzXCpPFFB68fUFF Qm4l81iEHrbPluPWbsLIWjHMtQsnnGmHQnWy226Lu+c5e51h9ACe7qDkUPLd+kxmVr2VPJDk e5o2dQVJOkgJytuxgWmBPBPQZu1ypxqP6wYIfiDWInqZA60KDHsQf5l28x27SFVA563CEHgN yyJpePeUf9Y0H+c5b8M+TniL6nk2EhvYfjUkYnv7iPw0bsvca+Edp4//5mKDvNdIzj/qpFrB v//2HXWvCeLyQVlfTw/2UdN8J8nbyqXjApeZ/0XsdcFU6JiX3aEnjV3FbPt5O0VuwoPzYVW1 GWZbtGVd7aMPAAAA//8DAFBLAwQUAAYACAAAACEAHpEat/MAAABOAgAACwAIAl9yZWxzLy5y ZWxzIKIEAiigAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyS20oDQQyG7wXfYch9N9sK ItLZ3kihdyLrA4SZ7AF3Dsyk2r69oyC6UNte5vTny0/Wm4Ob1DunPAavYVnVoNibYEffa3ht t4sHUFnIW5qCZw1HzrBpbm/WLzyRlKE8jDGrouKzhkEkPiJmM7CjXIXIvlS6kBxJCVOPkcwb 9Yyrur7H9FcDmpmm2lkNaWfvQLXHWDZf1g5dNxp+Cmbv2MuJFcgHYW/ZLmIqbEnGco1qKfUs GmwwzyWdkWKsCjbgaaLV9UT/X4uOhSwJoQmJz/N8dZwDWl4PdNmiecevOx8hWSwWfXv7Q4Oz L2g+AQAA//8DAFBLAwQUAAYACAAAACEAXxS2HzsBAAAzBAAAHAAIAXdvcmQvX3JlbHMvZG9j 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 UEsFBgAAAAAPAA8A1AMAAGSiAAAAAA== ------=_Part_1853859_2061138650.1418725925456_-- From myllynen@redhat.com Wed Feb 24 06:43:48 2016 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 1310C7CB7 for ; Wed, 24 Feb 2016 06:43:48 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id BCE3B8F8035 for ; Wed, 24 Feb 2016 04:43:41 -0800 (PST) X-ASG-Debug-ID: 1456317805-04bdf07ab511b700001-S8gJnT Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by cuda.sgi.com with ESMTP id 31pk4jrl9cAuOiF9 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 04:43:26 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.48 Received: by mail-wm0-f48.google.com with SMTP id g62so269613965wme.1 for ; Wed, 24 Feb 2016 04:43:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:subject:references:to:from:organization :message-id:date:user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=iYkQBmxSQaYif8EFZiqcvZJm2eVw1KoykygzvDeaz/w=; b=J6jRynFZ7NHhTMo2TDisTRNlCIm8MrFoZbBp2nyeR4mrTdgISEHEKhVE1Ccg6h2hU8 qzQH1tF3OPd+h3OSL0JikBhk71YjmrYZcObHRhWlsmS6awhZOqq+UvVNPK+UroTyOFWr E6imzXXBcks9hx3HTTLflQkGx86RElOhhpkXVKRTAyyHrlUyC/dSlDNqcGUc+wMoIev0 vHWy+nx60KksYjMol5tAeN3DSUPGYK8BVv2NIzxagLpSFEvDUlM2H296DhriR+ZBEbAW /embXSFGQmTR2o1SkncIr+BXhTt3blPgrNb5RY9SDol90mwZ6Qp54F5IUj8MkQ/3G7cR GOEw== X-Gm-Message-State: AG10YOTi9CW1acIo3A3CVBC/H+Bh3uwcM2kTnFfMDmnvn2u/Gac8vJ1Y2esz3gGwAyjzD5Ac X-Received: by 10.28.173.143 with SMTP id w137mr14263106wme.101.1456317805227; Wed, 24 Feb 2016 04:43:25 -0800 (PST) Received: from ?IPv6:2001:14bb:140:3f71:402:1fcc:a508:2? (dygyd08kfyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:3f71:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id g1sm2909520wmc.0.2016.02.24.04.43.24 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 24 Feb 2016 04:43:24 -0800 (PST) Reply-To: Marko Myllynen Subject: Re: [pcp] Few doc issues References: <5652E148.1090806@redhat.com> <56CA7FA3.70503@internode.on.net> X-ASG-Orig-Subj: Re: [pcp] Few doc issues To: Ken McDonell , pcp@oss.sgi.com From: Marko Myllynen Organization: Red Hat Message-ID: <56CDA56B.4040404@redhat.com> Date: Wed, 24 Feb 2016 14:43:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56CA7FA3.70503@internode.on.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f48.google.com[74.125.82.48] X-Barracuda-Start-Time: 1456317806 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.27299 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi Ken, On 2016-02-22 05:25, Ken McDonell wrote: > On 23/11/15 20:50, Marko Myllynen wrote: > > Sorry Marko, it has taken a few months to get to this ... Certainly better late than never :-) >> I see -O described in PCPIntro(1) as expected but pmprobe(1) and >> pminfo(1) also discuss an -O related timezone issue which is not >> described in PCPIntro(1), pmval(1), or pmdumptext(1). If the issue is a >> general one, could the discussion perhaps moved to PCPIntro(1)? (While >> at it, perhaps it could also be clarified a bit, I had to read it twice >> to get a hang of it.) > > I've culled the text from pmprobe(1) and pminfo(1) and revamped the text > and inserted it into PCPIntro(1). Looks good. >> Also, in few clients I see this kind of code used in preparation for a >> pmSetMode(1) call: >> ... >> I don't think merely by reading the current pmSetMode(1) a client >> developer could instantly see something like this would be needed. As >> per the best cargo-cult practices I already started to use something >> similar in pmrep but might still be nice to have few words about this in >> pmSetMode(1)? > > Fair point ... 1. this code is ugly and 2. the pmSetMode(1) verbage > gives no clue how to use PM_XTB_SET(). > > I've reworked pmSetMode(1) to try and explain better and give a less > convoluted example. And now the magical 24 day mark is explained nicely. > Lemme know if these changes help once my commits percolate back to the > main tree. It's all clear now, thanks a lot. Cheers, -- Marko Myllynen From dave.brolley@rogers.com Wed Feb 24 11:14:54 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2425B7F51 for ; Wed, 24 Feb 2016 11:14:54 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id D8C8F8F8040 for ; Wed, 24 Feb 2016 09:14:47 -0800 (PST) X-ASG-Debug-ID: 1456334084-04cb6c700744100001-S8gJnT Received: from nm7-vm7.access.bullet.mail.gq1.yahoo.com (nm7-vm7.access.bullet.mail.gq1.yahoo.com [216.39.63.185]) by cuda.sgi.com with ESMTP id teyFzGyH4ntYMRPT (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 09:14:45 -0800 (PST) X-Barracuda-Envelope-From: dave.brolley@rogers.com X-Barracuda-Apparent-Source-IP: 216.39.63.185 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rogers.com; s=s2048; t=1456334084; bh=DoQdOVcn47B1A5iAo8mDU0YtuuxP8U/QNMgLHcZnfSs=; h=Date:From:To:Subject:From:Subject; b=r/fdNIhdLOZharyAEMLDzg2J66Sx13j6u0d3cGETTZb2My5SVNqQsXVC5a26A3GB1PNYToH5lAX/oS4nApxgtl2LWSYTQfY2dRcGvwzENjACg6cao2R3DIPMOufstYUm52jrKKydUnPcu/vnCLgbYfz7O9UoEDWwpPqq3WnBUjOnx5gaFexyr6W4pBXurRWbqbWo5UMkDhO8RUT8nAO75vVekGQRUJL5bxLflqJ+7HXlt3skM/ckXttSct0SNjteoljLg5KgwfV1E3lvjAOnsP3PAxGLtOkSHMSFW1P6EyzN+R5bcyhZ73xmzzWPXr17IALvVxlH9/UZX7Yvrcf/aQ== Received: from [216.39.60.175] by nm7.access.bullet.mail.gq1.yahoo.com with NNFMP; 24 Feb 2016 17:14:44 -0000 Received: from [98.138.226.243] by tm11.access.bullet.mail.gq1.yahoo.com with NNFMP; 24 Feb 2016 17:14:44 -0000 Received: from [127.0.0.1] by smtp114.sbc.mail.ne1.yahoo.com with NNFMP; 24 Feb 2016 17:14:44 -0000 X-Yahoo-Newman-Id: 701984.84043.bm@smtp114.sbc.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: xP8MaYkVM1m.7xP7oFX2BZa3KbIm7So0lNMxPx_jK3355uw g12XHdUX_nwTXXmZazExzGykOd4OLFIKeDrz_m0FHFzhxi_yS71DbLIQayj4 91BCbUvMmH76ma.WDqX4tN8.3KeJ3iV6VcYHY8YxQeWc0cfkBHO2rJxkhG0V Lb9ZOtiq6wfqaYynMriN5X.ZUXx_do_sUDt7imGeurVDXp7A18GQrY0xX3SE slPSihNC6LAoVCCC6Psm1rKOPX42Y53.yQfKm7Cb3n_9U4zzvyFrpOKFjSze pGyn19MYmOKLDMz5wosKCopZw3sPm.CZOIfZ_m9AGHVzQaQsj.1lrMfdCynN GmKPhuIKJsP9opuSeHhEVqWu0Wit6R_OUezLJDNrjF6iieLaQ4ZSYryOkhBd AmcqajsqUuOoAsqN90xUFP0NKZFsDAP9MW7Y_Z_p.mDQtfgesFMRadNnEAgu YiED_9fIMvaZ.X3WoLJGeJweJ07HfS_uvIS3zw_dJX7Fa8ZmbqbLWN4NUWr9 hquwrnJNnwJ8BIZmv94t5ZbuaTuLLv38KD3to5BDAuPAffASLLibg X-Yahoo-SMTP: cKoDJc.swBC1fhTcTLf4rteC.qod3unlmdwfqdiazybXWrZ8 Message-ID: <56CDE503.603@rogers.com> Date: Wed, 24 Feb 2016 12:14:43 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PC Updates: brolley/pcp multi-archive: Archive Label and PMNS Consistency Checks Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PC Updates: brolley/pcp multi-archive: Archive Label and PMNS Consistency Checks Content-Transfer-Encoding: 7bit X-Barracuda-Connect: nm7-vm7.access.bullet.mail.gq1.yahoo.com[216.39.63.185] X-Barracuda-Start-Time: 1456334085 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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.27304 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 At Nathan's suggestion, I going to start posting pushes to my branch using traditional PCP Updates emails This is not a request to merge at this time. -------------------------------------------------------------------------------------- Changes committed to git://git.pcp.io/brolley/pcp.git multi-archive Dave Brolley (2): Multgi-archive contexts. Check the archive labels for consistency. Multi-archive contexts: Check PMNS meta data for conflicts. qa/006.out | 12 +-- qa/722.out | 2 src/include/pcp/impl.h | 2 src/include/pcp/pmapi.h | 8 +- src/libpcp/src/context.c | 89 +++++++++++++--------- src/libpcp/src/err.c | 12 +++ src/libpcp/src/logmeta.c | 182 +++++++++++++++++++++++++++-------------------- src/libpcp/src/logutil.c | 57 +++++++++++--- 8 files changed, 231 insertions(+), 133 deletions(-) From alena.makarova6@al035.tmweb.ru Wed Feb 24 11:17:36 2016 Return-Path: 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 526887F51 for ; Wed, 24 Feb 2016 11:17:36 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1AAEB8F8039 for ; Wed, 24 Feb 2016 09:17:29 -0800 (PST) X-ASG-Debug-ID: 1456333457-04cb6c455acb730001-S8gJnT Received: from broadband-46-188-0-15.2com.net (broadband-46-188-0-15.2com.net [46.188.0.15]) by cuda.sgi.com with ESMTP id KToHBBN3sjmBGtzK for ; Wed, 24 Feb 2016 09:04:17 -0800 (PST) X-Barracuda-Envelope-From: alena.makarova6@al035.tmweb.ru X-Barracuda-Apparent-Source-IP: 46.188.0.15 From: "=?UTF-8?B?0JzQsNC60LDRgNC+0LLQsCDQkNC70LXQvdCw?=" Subject: =?UTF-8?B?0J/RgNC+0YHRjNCx0LAg0L4g0L/QvtC80L7RidC4IQ==?= To: "pcp" X-ASG-Orig-Subj: =?UTF-8?B?0J/RgNC+0YHRjNCx0LAg0L4g0L/QvtC80L7RidC4IQ==?= Content-Type: multipart/mixed; charset="utf-8"; boundary="5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Date: Wed, 24 Feb 2016 21:08:14 +0400 X-Barracuda-Connect: broadband-46-188-0-15.2com.net[46.188.0.15] X-Barracuda-Start-Time: 1456333457 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 Message-Id: <20160224170434.0CEB31296087@cuda.sgi.com> This is a multi-part message in MIME format --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: multipart/alternative; boundary="a=_fwG7m9CQLuLLoXdogoK1G3JSaAKm2MU" --a=_fwG7m9CQLuLLoXdogoK1G3JSaAKm2MU Content-Type: text/plain ; charset="utf-8" Content-Transfer-Encoding: quoted-printable =D0=9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2 =D0=98=D0=B2=D0=B0=D0=BD =D0=94=D0=B0=D1=82=D0=B0 =D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1= =8F: 26.01.2016 =D0=94=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7: =D1=82=D1=80=D0=B0=D0=BD=D1= =81=D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D1=8F =D0=BC=D0=B0=D0=B3=D0=B8= =D1=81=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85 =D1=81=D0=BE=D1= =81=D1=83=D0=B4=D0=BE=D0=B2 =D1=81 =D0=B3=D0=B8=D0=BF=D0=BE=D0=BF=D0=BB= =D0=B0=D0=B7=D0=B8=D0=B5=D0=B9 =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B3=D0= =BE =D0=B6=D0=B5=D0=BB=D1=83=D0=B4=D0=BE=D1=87=D0=BA=D0=B0. =D0=9D=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE =D1=81=D0= =BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C =D0=BD=D0=B0 =D0=BB=D0=B5=D1=87=D0=B5= =D0=BD=D0=B8=D0=B5: 3 652 260 =D1=80=D1=83=D0=B1=D0=BB=D0=B5=D0=B9. =D0=9E=D1=81=D1=82=D0=B0=D0=BB=D0=BE=D1=81=D1=8C =D1=81=D0=BE=D0=B1=D1= =80=D0=B0=D1=82=D1=8C: 1 775 116 =D1=80=D1=83=D0=B1=D0=BB=D0=B5=D0=B9.= =20 =D0=97=D0=B4=D1=80=D0=B0=D0=B2=D1=81=D1=82=D0=B2=D1=83=D0=B9=D1=82=D0=B5= , =D0=B4=D0=BE=D1=80=D0=BE=D0=B3=D0=B8=D0=B5 =D0=B1=D0=BB=D0=B0=D0=B3=D0= =BE=D1=82=D0=B2=D0=BE=D1=80=D0=B8=D1=82=D0=B5=D0=BB=D0=B8! =D0=9E=D0=B1=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D0=BC=D1=81=D1=8F =D0=BA =D0= =92=D0=B0=D0=BC =D1=81 =D0=BF=D1=80=D0=BE=D1=81=D1=8C=D0=B1=D0=BE=D0=B9= =D0=BE =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=B8 =D0=B2 =D1=81=D0=B1=D0=BE= =D1=80=D0=B5 =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2 =D0=BD=D0=B0 =D0= =BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8E =D0=BD=D0=B0=D1=88=D0=B5= =D0=BC=D1=83 =D0=BD=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0= =BD=D0=BD=D0=BE=D0=BC=D1=83 =D1=81=D1=8B=D0=BD=D1=83 =D0=9C=D0=B0=D0=BA= =D0=B0=D1=80=D0=BE=D0=B2=D1=83 =D0=92=D0=B0=D0=BD=D0=B5=D1=87=D0=BA=D0= =B5. =D0=92 =D0=BD=D0=B0=D1=88=D0=B5=D0=B9 =D1=81=D0=B5=D0=BC=D1=8C=D0=B5 =D1= =80=D0=B0=D1=81=D1=82=D1=83=D1=82 =D1=82=D1=80=D0=BE=D0=B5 =D0=B7=D0=B0= =D0=BC=D0=B5=D1=87=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D1=85 =D0= =B4=D0=B5=D1=82=D0=B5=D0=B9: =D0=B4=D0=BE=D1=87=D1=8C =D0=9C=D0=B8=D0=BB= =D0=B8=D1=86=D0=B0 (7,5 =D0=BB=D0=B5=D1=82), =D1=81=D1=8B=D0=BD=D0=BE=D0= =BA =D0=95=D0=B3=D0=BE=D1=80 (6,5 =D0=BB=D0=B5=D1=82) =D0=B8 =D0=B4=D0= =BE=D1=87=D0=BA=D0=B0 =D0=9F=D0=BE=D0=BB=D0=B8=D0=BD=D0=B0 (5 =D0=BB=D0= =B5=D1=82). =D0=92=D1=81=D0=B5 =D0=B4=D0=B5=D1=82=D0=B8 =D0=B7=D0=B4=D0= =BE=D1=80=D0=BE=D0=B2=D1=8B. =D0=A1 =D1=80=D0=B0=D0=B4=D0=BE=D1=81=D1=82= =D1=8C=D1=8E =D0=BC=D1=8B =D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BB=D0=B8 =D1= =80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F =D0=B8 =D1=87=D0=B5=D1=82= =D0=B2=D0=B5=D1=80=D1=82=D0=BE=D0=B3=D0=BE =D0=BC=D0=B0=D0=BB=D1=8B=D1= =88=D0=B0. =D0=9D=D0=BE =D0=BD=D0=B0 =D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0= =B4=D0=BD=D0=BE=D0=BC =D0=A3=D0=97=D0=98, =D0=BD=D0=B0 =D1=81=D1=80=D0= =BE=D0=BA=D0=B5 =D0=B2 20 =D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D1=8C, =D0=BD= =D0=B0=D0=BC =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D0=BB=D0=B8 =D1= =81=D1=82=D1=80=D0=B0=D1=88=D0=BD=D1=8B=D0=B9 =D0=B4=D0=B8=D0=B0=D0=B3= =D0=BD=D0=BE=D0=B7 - =D0=B2=D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=BD=D1= =8B=D0=B9 =D0=BF=D0=BE=D1=80=D0=BE=D0=BA =D1=81=D0=B5=D1=80=D0=B4=D1=86= =D0=B0. =D0=9D=D0=B0=D0=BC =D0=BF=D0=BE=D1=81=D0=BE=D0=B2=D0=B5=D1=82=D0=BE=D0= =B2=D0=B0=D0=BB=D0=B8 =D0=BE=D0=B1=D1=80=D0=B0=D1=82=D0=B8=D1=82=D1=8C= =D1=81=D1=8F =D0=BA =D0=B2=D1=80=D0=B0=D1=87=D0=B0=D0=BC =D0=BD=D0=B5=D0= =BC=D0=B5=D1=86=D0=BA=D0=BE=D0=B9 =D0=BA=D0=BB=D0=B8=D0=BD=D0=B8=D0=BA= =D0=B8 =D0=B2 =D0=91=D0=B5=D1=80=D0=BB=D0=B8=D0=BD=D0=B5, =D1=83 =D0=BD= =D0=B8=D1=85 =D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=BE=D0=B9 =D0=BE=D0=BF=D1= =8B=D1=82 =D0=BB=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D1=8F =D0=B4=D0=B5=D1=82= =D0=B5=D0=B9 =D1=81 =D1=82=D0=B0=D0=BA=D0=B8=D0=BC=D0=B8 =D1=81=D0=BB=D0= =BE=D0=B6=D0=BD=D1=8B=D0=BC=D0=B8 =D0=BF=D0=BE=D1=80=D0=BE=D0=BA=D0=B0= =D0=BC=D0=B8, =D0=BA=D0=B0=D0=BA =D1=83 =D0=BD=D0=B0=D1=88=D0=B5=D0=B3= =D0=BE =D0=BC=D0=B0=D0=BB=D1=8B=D1=88=D0=B0. =D0=9C=D1=8B =D1=81=D0=BE= =D0=B1=D1=80=D0=B0=D0=BB=D0=B8 =D0=B2=D1=81=D0=B5 =D1=81=D0=B2=D0=BE=D0= =B8 =D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B8=D0=B5 =D1=81=D1=80= =D0=B5=D0=B4=D1=81=D1=82=D0=B2=D0=B0 (=D0=BE=D1=87=D0=B5=D0=BD=D1=8C =D0= =BF=D0=BE=D0=BC=D0=BE=D0=B3=D0=BB=D0=B8 =D1=80=D0=BE=D0=B4=D0=BD=D1=8B= =D0=B5 =D0=B8 =D0=B4=D1=80=D1=83=D0=B7=D1=8C=D1=8F) =D0=B8 =D0=BF=D0=BE= =D0=B5=D1=85=D0=B0=D0=BB=D0=B8 =D0=B2 =D0=91=D0=B5=D1=80=D0=BB=D0=B8=D0= =BD. =D0=A1=D0=BB=D0=BE=D0=B6=D0=BD=D1=8B=D0=B9 =D0=B4=D0=B8=D0=B0=D0=B3= =D0=BD=D0=BE=D0=B7 =D0=BF=D0=BE=D0=B4=D1=82=D0=B2=D0=B5=D1=80=D0=B4=D0= =B8=D0=BB=D1=81=D1=8F, =D0=BD=D0=BE =D0=B2=D1=80=D0=B0=D1=87=D0=B8 =D0= =B2=D0=B7=D1=8F=D0=BB=D0=B8=D1=81=D1=8C =D0=BF=D1=80=D0=BE=D0=B2=D0=B5= =D1=81=D1=82=D0=B8 =D1=80=D1=8F=D0=B4 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1= =86=D0=B8=D0=B9, =D1=87=D1=82=D0=BE=D0=B1=D1=8B =D1=81=D0=BE=D1=85=D1=80= =D0=B0=D0=BD=D0=B8=D1=82=D1=8C =D0=B6=D0=B8=D0=B7=D0=BD=D1=8C =D1=80=D0= =B5=D0=B1=D0=B5=D0=BD=D0=BA=D1=83. 26 =D1=8F=D0=BD=D0=B2=D0=B0=D1=80=D1=8F 2016 =D0=B3=D0=BE=D0=B4=D0=B0 = =D0=BD=D0=B0 =D1=81=D0=B2=D0=B5=D1=82 =D0=BF=D0=BE=D1=8F=D0=B2=D0=B8=D0= =BB=D1=81=D1=8F =D0=BD=D0=B0=D1=88 =D0=BC=D0=B0=D0=BB=D1=8B=D1=88 =D0=92= =D0=B0=D0=BD=D0=B5=D1=87=D0=BA=D0=B0, =D0=B2=D0=B5=D1=81=D0=BE=D0=BC 3= 750 =D0=B3 =D0=B8 =D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=BC 53 =D1=81=D0=BC= =2E =D0=95=D0=B3=D0=BE =D1=81=D1=80=D0=B0=D0=B7=D1=83 =D0=B6=D0=B5 =D0= =B7=D0=B0=D0=B1=D1=80=D0=B0=D0=BB=D0=B8 =D0=BD=D0=B0 =D0=BE=D1=81=D0=BC= =D0=BE=D1=82=D1=80. =D0=94=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7 =D0=BF=D0= =BE=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D0=BB=D0=B8 =D0=BD=D0=B5=D1=83=D1=82= =D0=B5=D1=88=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9: =D1=82=D1= =80=D0=B0=D0=BD=D1=81=D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D1=8F =D0=BC= =D0=B0=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85= =D1=81=D0=BE=D1=81=D1=83=D0=B4=D0=BE=D0=B2 =D1=81 =D0=B3=D0=B8=D0=BF=D0= =BE=D0=BF=D0=BB=D0=B0=D0=B7=D0=B8=D0=B5=D0=B9 =D0=BF=D1=80=D0=B0=D0=B2= =D0=BE=D0=B3=D0=BE =D0=B6=D0=B5=D0=BB=D1=83=D0=B4=D0=BE=D1=87=D0=BA=D0= =B0, =D0=B4=D0=B5=D1=84=D0=B5=D0=BA=D1=82 =D0=BC=D0=B5=D0=B6=D0=B6=D0=B5= =D0=BB=D1=83=D0=B4=D0=BE=D1=87=D0=BA=D0=BE=D0=B2=D0=BE=D0=B9 =D0=BF=D0= =B5=D1=80=D0=B5=D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=BA=D0=B8 =D0=B8 =D0=BE= =D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=BE=D0=B5 =D0=BE=D0=B2=D0=B0=D0=BB=D1= =8C=D0=BD=D0=BE=D0=B5 =D0=BE=D0=BA=D0=BD=D0=BE. =D0=9D=D0=B0=D1=81 =D1= =83=D1=82=D0=B5=D1=88=D0=B8=D0=BB=D0=BE =D1=82=D0=BE=D0=BB=D1=8C=D0=BA= =D0=BE =D1=82=D0=BE, =D1=87=D1=82=D0=BE =D1=81=D1=80=D0=BE=D1=87=D0=BD= =D0=BE=D0=B9 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 =D0=B2 =D0= =BF=D0=B5=D1=80=D0=B2=D1=8B=D0=B5 =D1=87=D0=B0=D1=81=D1=8B =D0=B6=D0=B8= =D0=B7=D0=BD=D0=B8 =D1=80=D0=B5=D0=B1=D0=B5=D0=BD=D0=BA=D0=B0 =D0=BD=D0= =B5 =D0=BF=D0=BE=D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BB=D0=BE= =D1=81=D1=8C. =D0=9E=D0=BD =D0=B4=D1=8B=D1=88=D0=B8=D1=82 =D1=81=D0=B0= =D0=BC, =D0=BA=D0=B8=D1=81=D0=BB=D0=BE=D1=80=D0=BE=D0=B4=D0=B0 =D0=B2 = =D0=BA=D1=80=D0=BE=D0=B2=D0=B8 =D0=BF=D0=BE=D0=BA=D0=B0 =D1=85=D0=B2=D0= =B0=D1=82=D0=B0=D0=B5=D1=82, =D1=81 =D1=83=D0=B4=D0=BE=D0=B2=D0=BE=D0=BB= =D1=8C=D1=81=D1=82=D0=B2=D0=B8=D0=B5=D0=BC =D0=BA=D1=83=D1=88=D0=B0=D0= =B5=D1=82 =D0=BC=D0=B0=D0=BC=D0=B8=D0=BD=D0=BE =D0=BC=D0=BE=D0=BB=D0=BE= =D0=BA=D0=BE =D0=B8 =D1=83=D0=B6=D0=B5 =D1=83=D0=BB=D1=8B=D0=B1=D0=B0=D0= =B5=D1=82=D1=81=D1=8F. =D0=A1=D0=B5=D0=B9=D1=87=D0=B0=D1=81 =D0=BC=D1=8B =D0=BD=D0=B0=D1=85=D0= =BE=D0=B4=D0=B8=D0=BC=D1=81=D1=8F =D0=B2 =D0=BE=D0=B6=D0=B8=D0=B4=D0=B0= =D0=BD=D0=B8=D0=B8. =D0=92=D0=B0=D0=BD=D0=B5=D1=87=D0=BA=D0=B0 =D0=BF=D1= =80=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0=D0=B5=D1=82 =D0=BD=D0=B5=D0=BE=D0=B1= =D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=8B=D0=B5 =D0=BB=D0=B5=D0=BA=D0=B0=D1= =80=D1=81=D1=82=D0=B2=D0=B0, =D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5= =D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D0=B2=D0=B0=D1=8E=D1= =82 =D0=B8 =D0=BF=D0=BE=D0=BC=D0=BE=D0=B3=D0=B0=D1=8E=D1=82 =D0=B5=D0=B3= =D0=BE =D1=81=D0=B5=D1=80=D0=B4=D1=86=D1=83, =D0=B3=D0=BE=D1=82=D0=BE=D0= =B2=D1=8F=D1=82 =D0=BA =D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=BE=D1=8F= =D1=89=D0=B5=D0=B9 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8. =D0=9C=D1=8B =D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D0=BB=D0=B8 =D1=81=D1= =87=D0=B5=D1=82 =D0=B7=D0=B0 1-=D0=B9 =D1=8D=D1=82=D0=B0=D0=BF =D0=BE=D0= =BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 (41.980,00 =D0=B5=D0=B2=D1=80=D0= =BE). =D0=A1=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C =D1=82=D0=B0=D0=BA=D1= =83=D1=8E =D1=81=D1=83=D0=BC=D0=BC=D1=83 =D1=81=D0=B2=D0=BE=D0=B8=D0=BC= =D0=B8 =D1=81=D0=B8=D0=BB=D0=B0=D0=BC=D0=B8 =D0=BC=D1=8B =D0=BD=D0=B5 = =D1=81=D0=BC=D0=BE=D0=B6=D0=B5=D0=BC! =D0=9D=D0=BE =D0=BB=D0=B8=D1=88=D0= =B0=D1=82=D1=8C =D0=BC=D0=B0=D0=BB=D1=8B=D1=88=D0=B0 =D1=81=D1=87=D0=B0= =D1=81=D1=82=D1=8C=D1=8F =D0=B6=D0=B8=D1=82=D1=8C =D0=BC=D1=8B =D0=BD=D0= =B5 =D0=B2 =D1=81=D0=B8=D0=BB=D0=B0=D1=85! =D0=9C=D1=8B =D0=BE=D1=87=D0=B5=D0=BD=D1=8C =D0=BF=D1=80=D0=BE=D1=81=D0= =B8=D0=BC =D0=BE =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=B8 =D0=B2 =D1=81=D0= =BF=D0=B0=D1=81=D0=B5=D0=BD=D0=B8=D0=B8 =D0=BD=D0=B0=D1=88=D0=B5=D0=B3= =D0=BE =D1=80=D0=B5=D0=B1=D0=B5=D0=BD=D0=BA=D0=B0! =D0=92=D1=80=D0=B0=D1= =87=D0=B8 =D0=BD=D0=B5=D0=BC=D0=B5=D1=86=D0=BA=D0=BE=D0=B3=D0=BE =D1=86= =D0=B5=D0=BD=D1=82=D1=80=D0=B0 =D0=B4=D0=B0=D1=8E=D1=82 =D0=BF=D0=BE=D0= =BB=D0=BE=D0=B6=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9 =D0=BF= =D1=80=D0=BE=D0=B3=D0=BD=D0=BE=D0=B7 =D0=BF=D1=80=D0=B8 =D1=81=D0=B2=D0= =BE=D0=B5=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=BC =D0=BF= =D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8 =D1=80=D1=8F=D0= =B4=D0=B0 =D0=BD=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=8B= =D1=85 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9. =D0=98 =D0=BC=D1=8B =D0=BD=D0=B0=D0=B4=D0=B5=D0=B5=D0=BC=D1=81=D1=8F =D0= =B8 =D0=B2=D0=B5=D1=80=D0=B8=D0=BC, =D1=87=D1=82=D0=BE =D1=81 =D0=92=D0= =B0=D1=88=D0=B5=D0=B9 =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E =D0=BC= =D1=8B =D1=81=D0=BC=D0=BE=D0=B6=D0=B5=D0=BC =D1=81=D0=BE=D1=85=D1=80=D0= =B0=D0=BD=D0=B8=D1=82=D1=8C =D0=B6=D0=B8=D0=B7=D0=BD=D1=8C =D0=BD=D0=B0= =D1=88=D0=B5=D0=B3=D0=BE =D0=B3=D0=BE=D1=80=D1=8F=D1=87=D0=BE =D0=BB=D1= =8E=D0=B1=D0=B8=D0=BC=D0=BE=D0=B3=D0=BE =D0=BC=D0=B0=D0=BB=D1=8B=D1=88= =D0=B0! =D0=A1 =D1=83=D0=B2=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC =D0=B8 =D0= =BD=D0=B0=D0=B4=D0=B5=D0=B6=D0=B4=D0=BE=D0=B9, =D1=81=D0=B5=D0=BC=D1=8C= =D1=8F =D0=9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2=D1=8B=D1=85. =D0=A1=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D1=8B =D0=BE=D0=BA=D0=B0=D0=B7=D0= =B0=D0=BD=D0=B8=D1=8F =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB= =D1=8C=D0=BD=D0=BE=D0=B9 =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=B8: =D0=91=D0=B0=D0=BD=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=B0=D1=8F =D0=BA=D0= =B0=D1=80=D1=82=D0=B0 =D0=A1=D0=B1=D0=B5=D1=80=D0=B1=D0=B0=D0=BD=D0=BA= =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8(Visa) =D0=BD=D0=BE=D0=BC=D0=B5=D1= =80: 5469 6800 1132 3237. =20 =D0=9D=D0=BE=D0=BC=D0=B5=D1=80 =D0=91=D0=B8=D0=BB=D0=B0=D0=B9=D0=BD =D0= =B4=D0=BB=D1=8F =D0=BF=D0=BE=D0=B6=D0=B5=D1=80=D1=82=D0=B2=D0=BE=D0=B2= =D0=B0=D0=BD=D0=B8=D0=B9: +79672263396. (=D0=92=D1=81=D0=B5 =D1=81=D1=80= =D0=B5=D0=B4=D1=81=D1=82=D0=B2=D0=B0 =D1=81=D0=BE=D0=B1=D1=80=D0=B0=D0= =BD=D0=BD=D1=8B=D0=B5 =D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC =D1=81=D0=BF= =D0=BE=D1=81=D0=BE=D0=B1=D0=BE=D0=BC, =D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D1= =8F=D1=82=D1=81=D1=8F =D0=BD=D0=B0 =D1=81=D1=87=D1=91=D1=82 =D0=B2 =D0= =B1=D0=B0=D0=BD=D0=BA=D0=B5) =20 =D0=AF=D0=BD=D0=B4=D0=B5=D0=BA=D1=81 =D0=94=D0=B5=D0=BD=D1=8C=D0=B3=D0= =B8: =D0=BA=D0=BE=D1=88=D0=B5=D0=BB=D1=91=D0=BA: 410013737771655. =20 QIWI =D0=BA=D0=BE=D1=88=D0=B5=D0=BB=D0=B5=D0=BA: 9672262752. =20 =D0=A2=D0=B5=D0=BB. =D0=B4=D0=BB=D1=8F =D1=81=D0=B2=D1=8F=D0=B7=D0=B8:= +79672262752 =D0=9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2=D0=B0 =D0=90=D0= =BB=D0=B5=D0=BD=D0=B0. =20 --a=_fwG7m9CQLuLLoXdogoK1G3JSaAKm2MU Content-Type: text/html ; charset="utf-8" Content-Transfer-Encoding: quoted-printable

=D0= =9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2 =D0=98=D0=B2=D0=B0=D0=BD<= /o:p>

=D0= =94=D0=B0=D1=82=D0=B0 =D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F= : 26.01.2016

=D0= =94=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7: =D1=82=D1=80=D0=B0=D0=BD=D1=81= =D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D1=8F =D0=BC=D0=B0=D0=B3=D0=B8=D1= =81=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85 =D1=81=D0=BE=D1=81= =D1=83=D0=B4=D0=BE=D0=B2 =D1=81 =D0=B3=D0=B8=D0=BF=D0=BE=D0=BF=D0=BB=D0= =B0=D0=B7=D0=B8=D0=B5=D0=B9 =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B3=D0=BE= =D0=B6=D0=B5=D0=BB=D1=83=D0=B4=D0=BE=D1=87=D0=BA=D0=B0.

=D0=9D=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0= =B8=D0=BC=D0=BE =D1=81=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C =D0=BD=D0=B0= =D0=BB=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5: 3 652 260 =D1=80=D1=83=D0=B1=D0=BB=D0= =B5=D0=B9.

=D0=9E=D1=81=D1=82=D0=B0=D0=BB=D0=BE=D1=81=D1= =8C =D1=81=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C: 1 775 116 =D1= =80=D1=83=D0=B1=D0=BB=D0=B5=D0=B9.

 

=D0= =97=D0=B4=D1=80=D0=B0=D0=B2=D1=81=D1=82=D0=B2=D1=83=D0=B9=D1=82=D0=B5,= =D0=B4=D0=BE=D1=80=D0=BE=D0=B3=D0=B8=D0=B5 =D0=B1=D0=BB=D0=B0=D0=B3=D0= =BE=D1=82=D0=B2=D0=BE=D1=80=D0=B8=D1=82=D0=B5=D0=BB=D0=B8!

=D0=9E= =D0=B1=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D0=BC=D1=81=D1=8F =D0=BA =D0=92=D0= =B0=D0=BC =D1=81 =D0=BF=D1=80=D0=BE=D1=81=D1=8C=D0=B1=D0=BE=D0=B9 =D0=BE= =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=B8 =D0=B2 =D1=81=D0=B1=D0=BE=D1=80=D0= =B5 =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2 =D0=BD=D0=B0 =D0=BE=D0=BF= =D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8E =D0=BD=D0=B0=D1=88=D0=B5=D0=BC=D1= =83 =D0=BD=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=BD= =D0=BE=D0=BC=D1=83 =D1=81=D1=8B=D0=BD=D1=83 =D0=9C=D0=B0=D0=BA=D0=B0=D1= =80=D0=BE=D0=B2=D1=83 =D0=92=D0=B0=D0=BD=D0=B5=D1=87=D0=BA=D0=B5.
<= BR>=D0=92 =D0=BD=D0=B0=D1=88=D0=B5=D0=B9 =D1=81=D0=B5=D0=BC=D1=8C=D0=B5= =D1=80=D0=B0=D1=81=D1=82=D1=83=D1=82 =D1=82=D1=80=D0=BE=D0=B5 =D0=B7=D0= =B0=D0=BC=D0=B5=D1=87=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D1=85 = =D0=B4=D0=B5=D1=82=D0=B5=D0=B9: =D0=B4=D0=BE=D1=87=D1=8C =D0=9C=D0=B8=D0= =BB=D0=B8=D1=86=D0=B0 (7,5 =D0=BB=D0=B5=D1=82), =D1=81=D1=8B=D0=BD=D0=BE= =D0=BA =D0=95=D0=B3=D0=BE=D1=80 (6,5 =D0=BB=D0=B5=D1=82) =D0=B8 =D0=B4= =D0=BE=D1=87=D0=BA=D0=B0 =D0=9F=D0=BE=D0=BB=D0=B8=D0=BD=D0=B0 (5 =D0=BB= =D0=B5=D1=82). =D0=92=D1=81=D0=B5 =D0=B4=D0=B5=D1=82=D0=B8 =D0=B7=D0=B4= =D0=BE=D1=80=D0=BE=D0=B2=D1=8B. =D0=A1 =D1=80=D0=B0=D0=B4=D0=BE=D1=81=D1= =82=D1=8C=D1=8E =D0=BC=D1=8B =D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BB=D0=B8= =D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F =D0=B8 =D1=87=D0=B5=D1= =82=D0=B2=D0=B5=D1=80=D1=82=D0=BE=D0=B3=D0=BE =D0=BC=D0=B0=D0=BB=D1=8B= =D1=88=D0=B0. =D0=9D=D0=BE =D0=BD=D0=B0 =D0=BE=D1=87=D0=B5=D1=80=D0=B5= =D0=B4=D0=BD=D0=BE=D0=BC =D0=A3=D0=97=D0=98, =D0=BD=D0=B0 =D1=81=D1=80= =D0=BE=D0=BA=D0=B5 =D0=B2 20 =D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D1=8C, =D0= =BD=D0=B0=D0=BC =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D0=BB=D0=B8= =D1=81=D1=82=D1=80=D0=B0=D1=88=D0=BD=D1=8B=D0=B9 =D0=B4=D0=B8=D0=B0=D0= =B3=D0=BD=D0=BE=D0=B7 - =D0=B2=D1=80=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=BD= =D1=8B=D0=B9 =D0=BF=D0=BE=D1=80=D0=BE=D0=BA =D1=81=D0=B5=D1=80=D0=B4=D1= =86=D0=B0.

=D0=9D=D0=B0=D0=BC =D0=BF=D0=BE=D1=81=D0=BE=D0=B2=D0= =B5=D1=82=D0=BE=D0=B2=D0=B0=D0=BB=D0=B8 =D0=BE=D0=B1=D1=80=D0=B0=D1=82= =D0=B8=D1=82=D1=8C=D1=81=D1=8F =D0=BA =D0=B2=D1=80=D0=B0=D1=87=D0=B0=D0= =BC =D0=BD=D0=B5=D0=BC=D0=B5=D1=86=D0=BA=D0=BE=D0=B9 =D0=BA=D0=BB=D0=B8= =D0=BD=D0=B8=D0=BA=D0=B8 =D0=B2 =D0=91=D0=B5=D1=80=D0=BB=D0=B8=D0=BD=D0= =B5, =D1=83 =D0=BD=D0=B8=D1=85 =D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=BE=D0= =B9 =D0=BE=D0=BF=D1=8B=D1=82 =D0=BB=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D1=8F= =D0=B4=D0=B5=D1=82=D0=B5=D0=B9 =D1=81 =D1=82=D0=B0=D0=BA=D0=B8=D0=BC=D0= =B8 =D1=81=D0=BB=D0=BE=D0=B6=D0=BD=D1=8B=D0=BC=D0=B8 =D0=BF=D0=BE=D1=80= =D0=BE=D0=BA=D0=B0=D0=BC=D0=B8, =D0=BA=D0=B0=D0=BA =D1=83 =D0=BD=D0=B0= =D1=88=D0=B5=D0=B3=D0=BE =D0=BC=D0=B0=D0=BB=D1=8B=D1=88=D0=B0. =D0=9C=D1= =8B =D1=81=D0=BE=D0=B1=D1=80=D0=B0=D0=BB=D0=B8 =D0=B2=D1=81=D0=B5 =D1=81= =D0=B2=D0=BE=D0=B8 =D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B8=D0= =B5 =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2=D0=B0 (=D0=BE=D1=87=D0=B5= =D0=BD=D1=8C =D0=BF=D0=BE=D0=BC=D0=BE=D0=B3=D0=BB=D0=B8 =D1=80=D0=BE=D0= =B4=D0=BD=D1=8B=D0=B5 =D0=B8 =D0=B4=D1=80=D1=83=D0=B7=D1=8C=D1=8F) =D0= =B8 =D0=BF=D0=BE=D0=B5=D1=85=D0=B0=D0=BB=D0=B8 =D0=B2 =D0=91=D0=B5=D1=80= =D0=BB=D0=B8=D0=BD. =D0=A1=D0=BB=D0=BE=D0=B6=D0=BD=D1=8B=D0=B9 =D0=B4=D0= =B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7 =D0=BF=D0=BE=D0=B4=D1=82=D0=B2=D0=B5= =D1=80=D0=B4=D0=B8=D0=BB=D1=81=D1=8F, =D0=BD=D0=BE =D0=B2=D1=80=D0=B0=D1= =87=D0=B8 =D0=B2=D0=B7=D1=8F=D0=BB=D0=B8=D1=81=D1=8C =D0=BF=D1=80=D0=BE= =D0=B2=D0=B5=D1=81=D1=82=D0=B8 =D1=80=D1=8F=D0=B4 =D0=BE=D0=BF=D0=B5=D1= =80=D0=B0=D1=86=D0=B8=D0=B9, =D1=87=D1=82=D0=BE=D0=B1=D1=8B =D1=81=D0=BE= =D1=85=D1=80=D0=B0=D0=BD=D0=B8=D1=82=D1=8C =D0=B6=D0=B8=D0=B7=D0=BD=D1= =8C =D1=80=D0=B5=D0=B1=D0=B5=D0=BD=D0=BA=D1=83.

26 =D1=8F=D0=BD= =D0=B2=D0=B0=D1=80=D1=8F 2016 =D0=B3=D0=BE=D0=B4=D0=B0 =D0=BD=D0=B0 =D1= =81=D0=B2=D0=B5=D1=82 =D0=BF=D0=BE=D1=8F=D0=B2=D0=B8=D0=BB=D1=81=D1=8F= =D0=BD=D0=B0=D1=88 =D0=BC=D0=B0=D0=BB=D1=8B=D1=88 =D0=92=D0=B0=D0=BD=D0= =B5=D1=87=D0=BA=D0=B0, =D0=B2=D0=B5=D1=81=D0=BE=D0=BC 3750 =D0=B3 =D0=B8= =D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=BC 53 =D1=81=D0=BC. =D0=95=D0=B3=D0= =BE =D1=81=D1=80=D0=B0=D0=B7=D1=83 =D0=B6=D0=B5 =D0=B7=D0=B0=D0=B1=D1=80= =D0=B0=D0=BB=D0=B8 =D0=BD=D0=B0 =D0=BE=D1=81=D0=BC=D0=BE=D1=82=D1=80. = =D0=94=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7 =D0=BF=D0=BE=D1=81=D1=82=D0= =B0=D0=B2=D0=B8=D0=BB=D0=B8 =D0=BD=D0=B5=D1=83=D1=82=D0=B5=D1=88=D0=B8= =D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9: =D1=82=D1=80=D0=B0=D0=BD=D1= =81=D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D1=8F =D0=BC=D0=B0=D0=B3=D0=B8= =D1=81=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85 =D1=81=D0=BE=D1= =81=D1=83=D0=B4=D0=BE=D0=B2 =D1=81 =D0=B3=D0=B8=D0=BF=D0=BE=D0=BF=D0=BB= =D0=B0=D0=B7=D0=B8=D0=B5=D0=B9 =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B3=D0= =BE =D0=B6=D0=B5=D0=BB=D1=83=D0=B4=D0=BE=D1=87=D0=BA=D0=B0, =D0=B4=D0=B5= =D1=84=D0=B5=D0=BA=D1=82 =D0=BC=D0=B5=D0=B6=D0=B6=D0=B5=D0=BB=D1=83=D0= =B4=D0=BE=D1=87=D0=BA=D0=BE=D0=B2=D0=BE=D0=B9 =D0=BF=D0=B5=D1=80=D0=B5= =D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=BA=D0=B8 =D0=B8 =D0=BE=D1=82=D0=BA=D1= =80=D1=8B=D1=82=D0=BE=D0=B5 =D0=BE=D0=B2=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE= =D0=B5 =D0=BE=D0=BA=D0=BD=D0=BE. =D0=9D=D0=B0=D1=81 =D1=83=D1=82=D0=B5= =D1=88=D0=B8=D0=BB=D0=BE =D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE =D1=82=D0= =BE, =D1=87=D1=82=D0=BE =D1=81=D1=80=D0=BE=D1=87=D0=BD=D0=BE=D0=B9 =D0= =BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 =D0=B2 =D0=BF=D0=B5=D1=80= =D0=B2=D1=8B=D0=B5 =D1=87=D0=B0=D1=81=D1=8B =D0=B6=D0=B8=D0=B7=D0=BD=D0= =B8 =D1=80=D0=B5=D0=B1=D0=B5=D0=BD=D0=BA=D0=B0 =D0=BD=D0=B5 =D0=BF=D0=BE= =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BB=D0=BE=D1=81=D1=8C. =D0= =9E=D0=BD =D0=B4=D1=8B=D1=88=D0=B8=D1=82 =D1=81=D0=B0=D0=BC, =D0=BA=D0= =B8=D1=81=D0=BB=D0=BE=D1=80=D0=BE=D0=B4=D0=B0 =D0=B2 =D0=BA=D1=80=D0=BE= =D0=B2=D0=B8 =D0=BF=D0=BE=D0=BA=D0=B0 =D1=85=D0=B2=D0=B0=D1=82=D0=B0=D0= =B5=D1=82, =D1=81 =D1=83=D0=B4=D0=BE=D0=B2=D0=BE=D0=BB=D1=8C=D1=81=D1=82= =D0=B2=D0=B8=D0=B5=D0=BC =D0=BA=D1=83=D1=88=D0=B0=D0=B5=D1=82 =D0=BC=D0= =B0=D0=BC=D0=B8=D0=BD=D0=BE =D0=BC=D0=BE=D0=BB=D0=BE=D0=BA=D0=BE =D0=B8= =D1=83=D0=B6=D0=B5 =D1=83=D0=BB=D1=8B=D0=B1=D0=B0=D0=B5=D1=82=D1=81=D1= =8F.

=D0=A1=D0=B5=D0=B9=D1=87=D0=B0=D1=81 =D0=BC=D1=8B =D0=BD=D0= =B0=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=81=D1=8F =D0=B2 =D0=BE=D0=B6=D0=B8= =D0=B4=D0=B0=D0=BD=D0=B8=D0=B8. =D0=92=D0=B0=D0=BD=D0=B5=D1=87=D0=BA=D0= =B0 =D0=BF=D1=80=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0=D0=B5=D1=82 =D0=BD=D0=B5= =D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=8B=D0=B5 =D0=BB=D0=B5=D0= =BA=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B0, =D0=BA=D0=BE=D1=82=D0=BE=D1=80= =D1=8B=D0=B5 =D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D0=B2=D0= =B0=D1=8E=D1=82 =D0=B8 =D0=BF=D0=BE=D0=BC=D0=BE=D0=B3=D0=B0=D1=8E=D1=82= =D0=B5=D0=B3=D0=BE =D1=81=D0=B5=D1=80=D0=B4=D1=86=D1=83, =D0=B3=D0=BE= =D1=82=D0=BE=D0=B2=D1=8F=D1=82 =D0=BA =D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1= =82=D0=BE=D1=8F=D1=89=D0=B5=D0=B9 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86= =D0=B8=D0=B8.

=D0=9C=D1=8B =D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8= =D0=BB=D0=B8 =D1=81=D1=87=D0=B5=D1=82 =D0=B7=D0=B0 1-=D0=B9 =D1=8D=D1=82= =D0=B0=D0=BF =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 (41.980,= 00 =D0=B5=D0=B2=D1=80=D0=BE). =D0=A1=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C= =D1=82=D0=B0=D0=BA=D1=83=D1=8E =D1=81=D1=83=D0=BC=D0=BC=D1=83 =D1=81=D0= =B2=D0=BE=D0=B8=D0=BC=D0=B8 =D1=81=D0=B8=D0=BB=D0=B0=D0=BC=D0=B8 =D0=BC= =D1=8B =D0=BD=D0=B5 =D1=81=D0=BC=D0=BE=D0=B6=D0=B5=D0=BC! =D0=9D=D0=BE= =D0=BB=D0=B8=D1=88=D0=B0=D1=82=D1=8C =D0=BC=D0=B0=D0=BB=D1=8B=D1=88=D0= =B0 =D1=81=D1=87=D0=B0=D1=81=D1=82=D1=8C=D1=8F =D0=B6=D0=B8=D1=82=D1=8C= =D0=BC=D1=8B =D0=BD=D0=B5 =D0=B2 =D1=81=D0=B8=D0=BB=D0=B0=D1=85!
<= BR>=D0=9C=D1=8B =D0=BE=D1=87=D0=B5=D0=BD=D1=8C =D0=BF=D1=80=D0=BE=D1=81= =D0=B8=D0=BC =D0=BE =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=B8 =D0=B2 =D1=81= =D0=BF=D0=B0=D1=81=D0=B5=D0=BD=D0=B8=D0=B8 =D0=BD=D0=B0=D1=88=D0=B5=D0= =B3=D0=BE =D1=80=D0=B5=D0=B1=D0=B5=D0=BD=D0=BA=D0=B0! =D0=92=D1=80=D0=B0= =D1=87=D0=B8 =D0=BD=D0=B5=D0=BC=D0=B5=D1=86=D0=BA=D0=BE=D0=B3=D0=BE =D1= =86=D0=B5=D0=BD=D1=82=D1=80=D0=B0 =D0=B4=D0=B0=D1=8E=D1=82 =D0=BF=D0=BE= =D0=BB=D0=BE=D0=B6=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9 =D0= =BF=D1=80=D0=BE=D0=B3=D0=BD=D0=BE=D0=B7 =D0=BF=D1=80=D0=B8 =D1=81=D0=B2= =D0=BE=D0=B5=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=BC =D0= =BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8 =D1=80=D1=8F= =D0=B4=D0=B0 =D0=BD=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1= =8B=D1=85 =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9.

=D0= =98 =D0=BC=D1=8B =D0=BD=D0=B0=D0=B4=D0=B5=D0=B5=D0=BC=D1=81=D1=8F =D0=B8= =D0=B2=D0=B5=D1=80=D0=B8=D0=BC, =D1=87=D1=82=D0=BE =D1=81 =D0=92=D0=B0= =D1=88=D0=B5=D0=B9 =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E =D0=BC=D1= =8B =D1=81=D0=BC=D0=BE=D0=B6=D0=B5=D0=BC =D1=81=D0=BE=D1=85=D1=80=D0=B0= =D0=BD=D0=B8=D1=82=D1=8C =D0=B6=D0=B8=D0=B7=D0=BD=D1=8C =D0=BD=D0=B0=D1= =88=D0=B5=D0=B3=D0=BE =D0=B3=D0=BE=D1=80=D1=8F=D1=87=D0=BE =D0=BB=D1=8E= =D0=B1=D0=B8=D0=BC=D0=BE=D0=B3=D0=BE =D0=BC=D0=B0=D0=BB=D1=8B=D1=88=D0= =B0!

=D0=A1 =D1=83=D0=B2=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0= =BC =D0=B8 =D0=BD=D0=B0=D0=B4=D0=B5=D0=B6=D0=B4=D0=BE=D0=B9, =D1=81=D0= =B5=D0=BC=D1=8C=D1=8F =D0=9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2=D1=8B= =D1=85.

=D0=A1=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D1=8B =D0=BE=D0=BA=D0= =B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8= =D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9 =D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0= =B8:

=D0=91=D0=B0=D0=BD=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=B0=D1= =8F =D0=BA=D0=B0=D1=80=D1=82=D0=B0 =D0=A1=D0=B1=D0=B5=D1=80=D0=B1=D0=B0= =D0=BD=D0=BA =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8(Visa) =D0=BD=D0=BE=D0= =BC=D0=B5=D1=80: 5469 6800 1132 3237.

 

=D0=9D=D0=BE=D0=BC=D0=B5=D1=80 =D0=91=D0=B8=D0=BB=D0=B0=D0= =B9=D0=BD =D0=B4=D0=BB=D1=8F =D0=BF=D0=BE=D0=B6=D0=B5=D1=80=D1=82=D0=B2= =D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B9: +79672263396. (=D0=92=D1=81= =D0=B5 =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2=D0=B0 =D1=81=D0=BE=D0= =B1=D1=80=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5 =D0=B4=D0=B0=D0=BD=D0=BD=D1=8B= =D0=BC =D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D0=BE=D0=BC, =D0=B2=D1=8B=D0= =B2=D0=BE=D0=B4=D1=8F=D1=82=D1=81=D1=8F =D0=BD=D0=B0 =D1=81=D1=87=D1=91= =D1=82 =D0=B2 =D0=B1=D0=B0=D0=BD=D0=BA=D0=B5)

 

=D0=AF=D0=BD=D0=B4=D0=B5=D0=BA=D1=81 =D0=94=D0=B5=D0=BD=D1= =8C=D0=B3=D0=B8: =D0=BA=D0=BE=D1=88=D0=B5=D0=BB=D1=91=D0=BA: 4100= 13737771655.

 

QIWI =D0=BA=D0=BE=D1=88=D0=B5=D0=BB=D0=B5=D0=BA: 96= 72262752.

 

=D0=A2= =D0=B5=D0=BB. =D0=B4=D0=BB=D1=8F =D1=81=D0=B2=D1=8F=D0=B7=D0=B8: = +79672262752 =D0=9C=D0=B0=D0=BA=D0=B0=D1=80=D0=BE=D0=B2=D0=B0 =D0=90=D0= =BB=D0=B5=D0=BD=D0=B0.

 

<= /BODY> --a=_fwG7m9CQLuLLoXdogoK1G3JSaAKm2MU-- --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_1_302c_ttttthumb_child_water.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_1_302c_ttttthumb_child_water.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUPEAwRGBUaGRgV GBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQLCxQqHBgcKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAARCAOUAnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6GuLq WGRkVVJIBTjr6/yqNr6Q4KBArNhWboOOc1NNcwxOxkQlo8YOBnn0prXFsqmPyiwBACqgIJ68CgBi Xs0rRqipufPJzjjvTEupI0IyCWlYbpCcADFTC6t8xlIiWIO0BBke1MS5i8siWFSTKQFRM5x3oAih vJYbdWc71bcMnJOe1LNcTqs3RWVVJwTxn0GafBdRNCPOiUZ3MMLxx/WiW7QLI4h3EqvDJ6+pzQAr 3kiINpjYqgZsAn9aknu9kAeLazZGVznGaa01uqK0lvj5c8oBgenNSStbwxCRo1KsR0UfhQBDLeyw tIj+XuVQR15OammuGhSOQgbD97244pj3MBLmSE5RcncozjNSyyxAIsiZVxkZAwMDNAFYX8uzJjXc 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 PM+SpweMUUUARLK8NtG0bsMlgRnjtRRRQB//2Q== --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_1_5158_ttttthumb_child_inside.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_1_5158_ttttthumb_child_inside.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBUODAsLDBkSEw8VHhsgHx4b HR0hJTApISMtJB0dKjkqLTEzNjY2ICg7Pzo0PjA1NjP/2wBDAQkJCQwLDBgODhgzIh0iMzMzMzMz MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP/wAARCAJ0AnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDMChcH jaO9KWC5Y9R0ANVZHW3lAK7vQ1E8pkJDEeuBXPYsfNKMk8g9hUC7WUbySc5FKYx99F5HP1qRV2kZ Az3qkAINwy2Qc9BU6Y+YLRHlWPUk/oKfgDPHHfNUSMUNz8xKnqp7UxwA+T8xHep0TnByc+tMZPny Qc0AJt3feJxTWBTO8jrwf6VIVZVb5uvODSn7gBAI69KBEGSDgj5etPBZsADnuakCBiSuWx94gcUq 719Ohx7UARZY53nr6Ug/ujsc80v3t3DZ7e9QbpA52p04oAsAY+fBzVe7cFCMneB27UJIxJYsc56e lVrrkZzwTk+9NCZnMu5sHn696hkG7rjI4zVlmBG7tmq5Q+YR29fatDIEj35XHB79qvWsGWHAIHGT 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 6d0XPfNFFADz8vI70UUUAf/Z --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_2_4bb7_ttttthumb_child_water.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_2_4bb7_ttttthumb_child_water.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAwICQsJCAwLCgsODQwOEh4UEhEREiUbHBYeLCcuLisn KyoxN0Y7MTRCNCorPVM+QkhKTk9OLztWXFVMW0ZNTkv/2wBDAQ0ODhIQEiQUFCRLMisyS0tLS0tL S0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0v/wAARCAPGAnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD06WZ0 YqACeNtNNw38IUAnAJ6U+SVEJLKcr7etI0sQBXZkZ4AXrQA1Z3coFC5bPWkWZlGMgkuRljwKeJo/ lwhJ5xgcimrKm07kB+cgBVoAbHOyRgtyDnk9c0SSSAP0BAGetOjlQoN6AdTwOOKHmXDnZngcFf50 ADTso42nC5OOafJNtjDLgnIyPSml4woLRdv7o4p7mNE3FRg46CgCN53QsG25AyKkkkKBW42nr+VN aWM7iyHIHOR2p7ugChlyG9uKAIhcPtyVGVB3D+VJ9pcK3CkjHI6U8TxY3Yxuznj09aTzYgh/d4Ax kFaAEaR0kYtzhM4HTrTVlk3O2QcAHAPFP81fMYsoC7c5I5601ZlDN+7wuB/Dz+NAC+azMpAGGYhe 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 --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_4_1e40_ttttthumb_child_inside.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_4_1e40_ttttthumb_child_inside.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBUODAsLDBkSEw8VHhsgHx4b HR0hJTApISMtJB0dKjkqLTEzNjY2ICg7Pzo0PjA1NjP/2wBDAQkJCQwLDBgODhgzIh0iMzMzMzMz MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP/wAARCAJVAnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzf09K KbQD9RW5mOPtSZ4ox70oxQA3BP0pdvNOo7YoAMUY5pQAKCcUgEwRR160ufxo96AD9KOT9KSloEIR mgCjr1oLYHrSbGFIeOtJyakSBnxgYHqaly7D5SMsM4ApVRmPAyatJaKvLHJqZAAMKAMelTZvcZVW 2Yct+VSBQo4FWMUED61SVhEH6U4NTyuaayUwFEnPNPDAioGGBSbiKltDsWhyaDxVdZTThKMYqXIa RJkkgAc1DcEqeOh6GpvlA46nqaimxtII61m3ctaFFs5JNJjNOPBxScCkMQ1GetOJ4pvWhCExzUmM ikCcinouZB7dRTESkbcD0FMLY704kZNRyDvQAhYE8GkY0wHFIaYh5zt60zvQDTjxQAg4NSCo80ob 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 --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_6_ea78_ttttthumb_child_inside.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_6_ea78_ttttthumb_child_inside.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBUODAsLDBkSEw8VHhsgHx4b HR0hJTApISMtJB0dKjkqLTEzNjY2ICg7Pzo0PjA1NjP/2wBDAQkJCQwLDBgODhgzIh0iMzMzMzMz MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP/wAARCAHrAnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDcAx+V MfipmGB7UxVDyqOuTWJYsdpPIgZR17HvVeaOaFyssTKR6jiumTCoFwMYp6qVHB3L6HmhoEzjnmCj INVEJkdmY5J5rt3trScES20ZDcH5arHw1p7L+6Voz/stUuLHzHOx9PpVhXOAK2D4ZVBiO4bGOMim /wDCPTgACZePWlysaaKKSsp4PNWY7ogDrUn9g3QBwyHHqaP7KvFX/Vg/Q0WY9CRLwHAIzUq3KHoa pmwvE4aBj7imxwSLcxJKjIHIHIo1GagkJwecVHcSDbwea35LGOGADaNoFYV5aHnjA7GqaJTMeSVm yCeM1GHIqQ2sxfYqkkmlmsriAZeNvwqGXcSObYcdjVqO869sVn5ZeoI+tAPvSQG2LpSo+YGnC5X/ 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 NXFkgSBRQeCMelFWB//Z --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c Content-Type: image/jpeg; name="326_7_f13c_ttttthumb_child_inside.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="326_7_f13c_ttttthumb_child_inside.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBUODAsLDBkSEw8VHhsgHx4b HR0hJTApISMtJB0dKjkqLTEzNjY2ICg7Pzo0PjA1NjP/2wBDAQkJCQwLDBgODhgzIh0iMzMzMzMz MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP/wAARCAKVAnYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDuzjA9 qOQOaXbg9+aM81zmgNzim85IHApSOntSjp0oAjP3uBilAFKeuRxSdenFACtwOM03cSegpQeMYpHG W46UCG4HIJIocBgVGTSnr15pnGPTNADEBU8c+1P6t9ajbg8kj+tSDpnPagZMp4x6VIcYGaZDnHPT FSlSw6CqEUp1HB/HFEQyoPepbhAygkkEHNQx89+B2pAWQuRjPNNLFSO49KXPzcdRQzf7NAyN1Drk Ej6VEARgYycY5qR854ANNOM++OlIBc8DpT84+bJIzTFIxnvQ5zgA0APcBh82MGqzr5PzjscVKGGe fxp4IIwO4waAJba4yAvUfyp8yBjkVn/NEeecd6uwShl29s00xEYwoGelPAz2yKSRByR0pEIAOBxQ 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 --5iUyUAgCNd=_L52bgZUZUMvBI94tTTp35c-- From brolley@redhat.com Wed Feb 24 11:34:01 2016 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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D2D257CA6 for ; Wed, 24 Feb 2016 11:34:00 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5C5FFAC001 for ; Wed, 24 Feb 2016 09:33:54 -0800 (PST) X-ASG-Debug-ID: 1456335218-04bdf07ab41318f0001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 84WnO8wkst6Esgw3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 24 Feb 2016 09:33:38 -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 (Postfix) with ESMTPS id 05900D555A for ; Wed, 24 Feb 2016 17:33:38 +0000 (UTC) Received: from [10.10.54.216] (vpn-54-216.rdu2.redhat.com [10.10.54.216]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1OHXabT024048 for ; Wed, 24 Feb 2016 12:33:37 -0500 Message-ID: <56CDE971.1010404@redhat.com> Date: Wed, 24 Feb 2016 12:33:37 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: Fwd: Metrics With More That One PMID References: <56CDE8D4.5000308@rogers.com> X-ASG-Orig-Subj: Fwd: Metrics With More That One PMID In-Reply-To: <56CDE8D4.5000308@rogers.com> X-Forwarded-Message-Id: <56CDE8D4.5000308@rogers.com> Content-Type: multipart/alternative; boundary="------------060709090009060300040800" 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: 1456335218 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a multi-part message in MIME format. --------------060709090009060300040800 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sent this using the wrong email address and it was rejected by the list ... -------- Forwarded Message -------- Subject: Metrics With More That One PMID Date: Wed, 24 Feb 2016 12:31:00 -0500 From: Dave Brolley To: Ken McDonell CC: PCP Mailing List Hi Ken, Waaaaaay, back when we first started talking about this, you advised me to check the multi-archive meta data for * metrics with more than one PMID * PMIDs with more than one metric name. While looking into this, I realized that the latter case is explicitly supported in the meta data file format. That is, we support PMIDs with more than one name. Was there some other issue that you had in mind with regard to this? The former case, is flagged as an error by AddPMNSNode(), but the error is currently tolerated by __pmLogLoadMeta() -- see line 250 of logmeta.c. The comment there is incorrect. PM_ERR_PMID is returned when the same name has a different PMID. Is there some reason why this would a problem in particular for a multi-archive context? FWIW, there is a a test case (507) for which the metric pmcd.pmie.configfile has a different PMID in the given name space file (src/root_irix) than it does in the given archive (archives/pcpcmd). This test started failing when I added the check for metrics with more than one PMID. Thanks for your advice, Dave --------------060709090009060300040800 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Sent this using the wrong email address and it was rejected by the list ...

-------- Forwarded Message --------
Subject: Metrics With More That One PMID
Date: Wed, 24 Feb 2016 12:31:00 -0500
From: Dave Brolley <dave.brolley@rogers.com>
To: Ken McDonell <kenj@internode.on.net>
CC: PCP Mailing List <pcp@oss.sgi.com>


Hi Ken,

Waaaaaay, back when we first started talking about this, you advised me to check the multi-archive meta data for
  • metrics with more than one PMID
  • PMIDs with more than one metric name.
While looking into this, I realized that the latter case is explicitly supported in the meta data file format. That is, we support PMIDs with more than one name. Was there some other issue that you had in mind with regard to this?

The former case, is flagged as an error by AddPMNSNode(), but the error is currently tolerated  by __pmLogLoadMeta() -- see line 250 of logmeta.c. The comment there is incorrect. PM_ERR_PMID is returned when the same name has a different PMID. Is there some reason why this would a problem in particular for a multi-archive context?

FWIW, there is a a test case (507) for which the metric pmcd.pmie.configfile has a different PMID in the given name space file (src/root_irix) than it does in the given archive (archives/pcpcmd). This test started failing when I added the check for metrics with more than one PMID.

Thanks for your advice,
Dave


--------------060709090009060300040800-- From kenj@internode.on.net Wed Feb 24 15:22:03 2016 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 5B5FB7CB1 for ; Wed, 24 Feb 2016 15:22:03 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3148D8F8033 for ; Wed, 24 Feb 2016 13:22:03 -0800 (PST) X-ASG-Debug-ID: 1456348916-04cbb06add1021e0001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id nODFPPOYEr4tQ1DJ for ; Wed, 24 Feb 2016 13:21:57 -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: A2AyAgAWHs5WPFBJ0XYNUYtbsXiEB4YOAoIVAQEBAQEBBwEBAQFBhQEBAQEDASMEUQEFCwsYAgIFFgsCAgkDAgECATEUBg0IAQGIE64oZ45iAQEBAQEBBAEBAQEBG3uJUYc1gToFjSkBiV2cU45JgmUZgVyINgEBAQ Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail05.adl6.internode.on.net with ESMTP; 25 Feb 2016 07:51:55 +1030 Subject: Re: Metrics With More That One PMID To: Dave Brolley X-ASG-Orig-Subj: Re: Metrics With More That One PMID References: <56CDE8D4.5000308@rogers.com> Cc: PCP Mailing List From: Ken McDonell Message-ID: <56CE1EF3.5030309@internode.on.net> Date: Thu, 25 Feb 2016 08:21:55 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56CDE8D4.5000308@rogers.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1456348917 X-Barracuda-URL: https://192.48.176.25:443/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.27313 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header G'day Dave. On 25/02/16 04:31, Dave Brolley wrote: > Hi Ken, > > Waaaaaay, back when we first started talking about this, you advised me > to check the multi-archive meta data for > > * metrics with more than one PMID > * PMIDs with more than one metric name. > > While looking into this, I realized that the latter case is explicitly > supported in the meta data file format. That is, we support PMIDs with > more than one name. Was there some other issue that you had in mind with > regard to this? The latter case is OK. My advise probably predates the changes I made to allow duplicate names in the PMNS by default ... so ignore the latter one as the infrastructure and tools will all deal with this seamlessly these days. > The former case, is flagged as an error by AddPMNSNode(), but the error > is currently tolerated by __pmLogLoadMeta() -- see line 250 of AddPMNSNode > logmeta.c. The comment there is incorrect. PM_ERR_PMID is returned when > the same name has a different PMID. Is there some reason why this would > a problem in particular for a multi-archive context? My comments related to the way the code was when I first wrote it. I think the comment is correct ... if AddPMNSNode() returns PM_ERR_PMID __pmLogLoadMeta() charges on ... I am not sure this is the correct behaviour (and now we have pmlogrewrite, which also came after this code was last changed, I'd argue the original behaviour should probably be reinstated. Consider foo -> pmid x and later in the metadata we find another entry for foo, but this time for pmid y. Now there is _no_ way the PMNS data structures can support two different "foo" names mapping to different pmids (blah -> pmid x is fine and this is the "latter case" above). The options for foo are: 1. abort (the original behaviour) ... recovery requires the user to choose which of pmid x or pmid y is correct, and then use pmlogrewrite to map x -> y (or vice versa) for all the archives that have the wrong pmid for foo 2. charge on (the current behaviour) and assume the first pmid you saw (x) is really correct ... this means none of the pmResults containing the pmid y version of foo will be visible if you ask for the foo metric (as this will only search for pmid x), and searches for foo may return values for some other metric (that really has pmid x) [see qa/507 comments below] 3. la la land ... build a map, assume x is correct and map y to x on the fly ... pmDesc and pmResults all need to be scanned and potentially rewritten ... this is pmlogrewrite embedded in libpcp and I don't think this is ever going to be the right thing to do. > FWIW, there is a a test case (507) for which the metric > pmcd.pmie.configfile has a different PMID in the given name space file > (src/root_irix) than it does in the given archive (archives/pcpcmd). > This test started failing when I added the check for metrics with more > than one PMID. I think this demonstrates why the original behaviour was more correct than the current behaviour. Consider this ... $ pminfo -mf -a archives/pcpcmd pmcd.pmie.configfile pmcd.pmie.configfile PMID: 2.5.7 inst [2824710 or "2824710"] value "/var/pcp/pmdas/summary/expr.pmie" $ pminfo -n src/root_irix -mf -a archives/pcpcmd pmcd.pmie.configfile pmcd.pmie.configfile PMID: 2.5.0 inst [2824710 or "2824710"] value 0 In the first case we get the correct PMID for pmcd.pmie.configfile and the correct value. In the second case we get the wrong PMID (2.5.0) from the explicit PMNS, then see a different PMID (2.5.7) from the archive and ignore this rather than error and then fetch a value for the WRONG metric based on the WRONG PMID. It is a long shot, but Nathan may be the only who can explain why __pmLogLoadMeta() was changed, er, five and a half years ago. From minnus@buffalo.edu Wed Feb 24 15:44:18 2016 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 B0F917F81 for ; Wed, 24 Feb 2016 15:44:18 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 861B08F8033 for ; Wed, 24 Feb 2016 13:44:18 -0800 (PST) X-ASG-Debug-ID: 1456350256-04cbb06adf1046a0001-S8gJnT Received: from mtareserve1.acsu.buffalo.edu (mtareserve18.acsu.buffalo.edu [128.205.6.23]) by cuda.sgi.com with ESMTP id R12ZHosEQjniFb4T for ; Wed, 24 Feb 2016 13:44:16 -0800 (PST) X-Barracuda-Envelope-From: minnus@buffalo.edu X-Barracuda-Apparent-Source-IP: 128.205.6.23 Received: from localmaile.acsu.buffalo.edu (localmaile.acsu.buffalo.edu [128.205.4.3]) by mtareserve1.acsu.buffalo.edu (Postfix) with ESMTP id 929D099058F; Wed, 24 Feb 2016 16:44:16 -0500 (EST) Received: from localmaile.acsu.buffalo.edu (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 86306160071; Wed, 24 Feb 2016 16:44:16 -0500 (EST) Received: from localmaile.acsu.buffalo.edu (localhost [127.0.0.1]) by localmaile.acsu.buffalo.edu (Postfix) with ESMTP id 62022160082; Wed, 24 Feb 2016 16:44:16 -0500 (EST) Received: from smtp.buffalo.edu (smtp2.acsu.buffalo.edu [128.205.5.254]) by localmaile.acsu.buffalo.edu (Prefixe) with ESMTP id 5FC73160071; Wed, 24 Feb 2016 16:44:16 -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 555DBD0845E; Wed, 24 Feb 2016 16:44:16 -0500 (EST) Subject: Re: [pcp] pmdaslurm updates To: Nathan Scott X-ASG-Orig-Subj: Re: [pcp] pmdaslurm updates References: <56CCBFB4.3080901@buffalo.edu> <808991005.24516201.1456289077202.JavaMail.zimbra@redhat.com> Cc: PCP Mailing List From: Martins Innus Message-ID: <56CE2430.2010103@buffalo.edu> Date: Wed, 24 Feb 2016 16:44:16 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <808991005.24516201.1456289077202.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: mtareserve18.acsu.buffalo.edu[128.205.6.23] X-Barracuda-Start-Time: 1456350256 X-Barracuda-URL: https://192.48.176.25:443/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.27313 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Nathan, On 2/23/16 11:44 PM, Nathan Scott wrote: > Hi Martins, > > ----- Original Message ----- >> Hi, >> Here is an update to the Slurm PMDA that adds a metric for the cores >> that have been allocated to the job by the scheduler: >> >> >> https://github.com/ubccr/pcp/tree/pmdaslurm >> >> We have been running this for a while but haven't had a chance to push >> upstream. >> > > I ran into this minor issue on merging ... > > qa$ ./check 1031 > 1031 3s ... - output mismatch (see 1031.out.bad) > 1a2,3 >> Bareword "SHOW_DETAIL" not allowed while "strict subs" in use at pmdaslurm.pl line 104. >> Execution of pmdaslurm.pl aborted due to compilation errors. > 3,34c5,6 > [...] > > I think this is just a QA test issue, and updated accordingly (but needed to > update pmdaslurm itself too - namespace issue?) ... could you double check my > tweak is OK? Thanks! > Yup, that works here. Thanks. Martins From kenj@internode.on.net Wed Feb 24 16:02:44 2016 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 7B2F37CA3 for ; Wed, 24 Feb 2016 16:02:44 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 505F4304067 for ; Wed, 24 Feb 2016 14:02:44 -0800 (PST) X-ASG-Debug-ID: 1456351356-04cb6c455adb6a0001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id lEvM06HL2DDGu3DN for ; Wed, 24 Feb 2016 14:02:37 -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: A2AyAgBwJ85WPFBJ0XYNUYtbsXiEB4YOAoISAQEBAQEBBwEBAQFBhQIBAQQjFUABEAsYAgIFFgsCAgkDAgECATEUBg0IAQG2RGeOXgEBAQEBAQQBAQEBARt7iVGHNYE6AQSXB48ojSuOSYJlGYFciDYBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail05.adl6.internode.on.net with ESMTP; 25 Feb 2016 08:32:35 +1030 Subject: Re: Metrics With More That One PMID To: Dave Brolley X-ASG-Orig-Subj: Re: Metrics With More That One PMID References: <56CDE8D4.5000308@rogers.com> <56CE1EF3.5030309@internode.on.net> Cc: PCP Mailing List From: Ken McDonell Message-ID: <56CE287B.2060409@internode.on.net> Date: Thu, 25 Feb 2016 09:02:35 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56CE1EF3.5030309@internode.on.net> 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: 1456351356 X-Barracuda-URL: https://192.48.176.15:443/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.27314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 25/02/16 08:21, Ken McDonell wrote: > ... > I think this demonstrates why the original behaviour was more correct than the current behaviour. Consider this ... > > $ pminfo -mf -a archives/pcpcmd pmcd.pmie.configfile > pmcd.pmie.configfile PMID: 2.5.7 > inst [2824710 or "2824710"] value "/var/pcp/pmdas/summary/expr.pmie" This archive is (somehow) wrong ... the PMID for this metric would appear to have always been 2.5.0. So a "wrong" archive has exposed a much more interesting issue! From noreply@github.com Wed Feb 24 16:42:33 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 D7D977F5E for ; Wed, 24 Feb 2016 16:42:33 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8DD81304066 for ; Wed, 24 Feb 2016 14:42:33 -0800 (PST) X-ASG-Debug-ID: 1456353750-04bdf07ab5142000001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id z9x1YtskJQdbCTlP (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 14:42:31 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext4.iad.github.net ([192.30.252.195] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYi8X-0006hR-Al for ; Thu, 25 Feb 2016 09:42:29 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.195 X-Barracuda-RBL-IP: 192.30.252.195 X-Barracuda-BBL-IP: 192.30.252.195 Date: Wed, 24 Feb 2016 14:42:15 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456353735; bh=Q4gr7tBEG2TkzW/bVCkvFOBi+XByS3kBBEQiCTRc80s=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=e7RzInHdNjNkkmwefG/MFonuu5tTW9Pd7d9mlxwgI0elVUnq8cX825yZyZ5BUcJtq PLVBW42CrbAg9oV0PqZF4zqWrNPAA08d3boBKhJZo3Moz/qVwXoGXMfAydFlA09xgf A7kslGRn/Olh2eBFz0IWVUsK/Pp2bccJRpWYjXsE= From: screentan Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmwebapi - graphite emulation - please expose string/text data (#70) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmwebapi - graphite emulation - please expose string/text data (#70) Content-Type: multipart/alternative; boundary="--==_mimepart_56ce31c734a9c_17d03fc9d16912b8417862"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: screentan X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456353751 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ce31c734a9c_17d03fc9d16912b8417862 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Closed #70. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/70#event-564504759 ----==_mimepart_56ce31c734a9c_17d03fc9d16912b8417862 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Closed #70.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ce31c734a9c_17d03fc9d16912b8417862-- From noreply@github.com Wed Feb 24 16:42:38 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 8760D7FB7 for ; Wed, 24 Feb 2016 16:42:38 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3EF2F8F8033 for ; Wed, 24 Feb 2016 14:42:35 -0800 (PST) X-ASG-Debug-ID: 1456353749-04bdf07ab6142000001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id YQrO1fBpzdsajvcP (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 14:42:30 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from github-smtp2-ext3.iad.github.net ([192.30.252.194] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYi8V-0006ex-Ar for ; Thu, 25 Feb 2016 09:42:27 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.194 X-Barracuda-RBL-IP: 192.30.252.194 X-Barracuda-BBL-IP: 192.30.252.194 Date: Wed, 24 Feb 2016 14:42:16 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456353736; bh=j8VQib/FBHQZyuR2HCurO5A8UmSaMg6UBhumxtOiv5k=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=ZUiABRulLgzjaY0NogF97p+COmlBs9kie7Zt+ocYf2eulXInNHNppp14ut+JvFjKV BQOKpbMv3aWDQsX79l61jL5FZIhgTe+k5hQhzkGSk59LhJmOFneyuozxWQ+aZBwV93 JnvE7Y6Qk0n6fjNQ1NmkD/XsH4HNz58CavPb6J5g= From: screentan Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pmwebapi - graphite emulation - please expose string/text data (#70) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmwebapi - graphite emulation - please expose string/text data (#70) Content-Type: multipart/alternative; boundary="--==_mimepart_56ce31c86095_27c83fd5d679129c69635a"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: screentan X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456353750 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ce31c86095_27c83fd5d679129c69635a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I did more research on this and there are only two paths to getting pcp string data into grafana and both are outside of pcp. One would be to add a plugin to grafana that understands pmwebd's native api. The other is to add an input plugin to influxdb/telegraf that pulls pcp data. We put a request in to the influxdb team for the later. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/70#issuecomment-188493005 ----==_mimepart_56ce31c86095_27c83fd5d679129c69635a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

I did more research on this and there are only two paths to getting pcp string data into grafana and both are outside of pcp. One would be to add a plugin to grafana that understands pmwebd's native api. The other is to add an input plugin to influxdb/telegraf that pulls pcp data. We put a request in to the influxdb team for the later.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ce31c86095_27c83fd5d679129c69635a-- From noreply@github.com Wed Feb 24 16:55:41 2016 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=2.0 required=5.0 tests=HTML_IMAGE_ONLY_16, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 9EA1D7F37 for ; Wed, 24 Feb 2016 16:55:41 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4B16B304043 for ; Wed, 24 Feb 2016 14:55:41 -0800 (PST) X-ASG-Debug-ID: 1456354538-04bdf07ab61427d0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id NN2Qce8xTfiUrmDA (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 14:55:39 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext2.iad.github.net ([192.30.252.193] helo=github-smtp2b-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYiL0-0002Nz-Be for ; Thu, 25 Feb 2016 09:55:37 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.193 X-Barracuda-RBL-IP: 192.30.252.193 X-Barracuda-BBL-IP: 192.30.252.193 Date: Wed, 24 Feb 2016 14:55:11 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456354511; bh=nf2UI1rSFSZxvxLfP7UsCeQEEXJQjSCBVA1gNNG2xfU=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=sLrqzSEByxPyOXdk/B92w+l0LI4kxI4zbgGyoYbQ4ffQcgYwAI+l23w0ZRO51Lkvb H9A8ByXLhPN9K2C+wHfEtB5hyOwuk3lQ5QfApSV2Q19MCvDNV/aFTChL0el/qmhHQv kY6zS0QwlgSvayOcQOQOjZ9zIOpwgtKP3YtgqgRk= From: screentan Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: Subject: [pcp] pcp2graphite - pcmd hostname in prefix under pmmgr (#78) Mime-Version: 1.0 X-ASG-Orig-Subj: [pcp] pcp2graphite - pcmd hostname in prefix under pmmgr (#78) Content-Type: multipart/alternative; boundary="--==_mimepart_56ce34cf68e2e_28be3fd5d679129c1147331"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: screentan X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456354538 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.63 X-Barracuda-Spam-Status: No, SCORE=0.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_16, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.63 HTML_IMAGE_ONLY_16 BODY: HTML: images with 1200-1600 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ce34cf68e2e_28be3fd5d679129c1147331 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Now that pcp2graphite is supported under pmmgr we would like to use it to put data directly into graphite or graphite compatible data store. The prefix defaults to "pcp." and though it can be changed via "-m", there does not appear to be a way to automatically change it while using pmmgr. So 100 instances of pcp2graphite would dump the data under "pcp." instead of "pcp.host.". Assuming I didn't miss something I would like to see a change in the way the prefix is handled. The default should be "pcp." as it is currently. I'm reqeusting that If the "-h " option is used then the prefix should be "pcp..". Another option would be to have some kind of variable expansion within the pmmgr configuration files. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/78 ----==_mimepart_56ce34cf68e2e_28be3fd5d679129c1147331 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Now that pcp2graphite is supported under pmmgr we would like to use it to put data directly into graphite or graphite compatible data store. The prefix defaults to "pcp." and though it can be changed via "-m", there does not appear to be a way to automatically change it while using pmmgr. So 100 instances of pcp2graphite would dump the data under "pcp." instead of "pcp.host.". Assuming I didn't miss something I would like to see a change in the way the prefix is handled.

The default should be "pcp." as it is currently. I'm reqeusting that If the "-h " option is used then the prefix should be "pcp..". Another option would be to have some kind of variable expansion within the pmmgr configuration files.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ce34cf68e2e_28be3fd5d679129c1147331-- From noreply@github.com Wed Feb 24 17:01:38 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 D159E7FB5 for ; Wed, 24 Feb 2016 17:01:38 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7B04E8F8035 for ; Wed, 24 Feb 2016 15:01:35 -0800 (PST) X-ASG-Debug-ID: 1456354892-04bdf07ab6142b60001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id TZCpuEcn6FEP6V4v (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 15:01:33 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from github-smtp2-ext4.iad.github.net ([192.30.252.195] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYiQm-0005Hb-Kg for ; Thu, 25 Feb 2016 10:01:32 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.195 X-Barracuda-RBL-IP: 192.30.252.195 X-Barracuda-BBL-IP: 192.30.252.195 Date: Wed, 24 Feb 2016 15:01:09 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456354869; bh=eo/FPUS28U7BGGi/XHzM7rGqCJcFpOVkqdygzKC5i8w=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=hb1kiL8FYrHWkudgcQ76gwPFyKXrJbcmNBwPnICQBkMM5a4ciQuDbHB3Z/FjpTQw3 xcZXO+q2aDLWQxXU9MlNS01+P4AwyicoPoOtkfEyJW4RK9uXKJ1wbtH7A9m824eCX+ TUN6d+Bt3O/hKjIgStoryfPXAniSynhFGpNOj6nA= From: "Frank Ch. Eigler" Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] pcp2graphite - pcmd hostname in prefix under pmmgr (#78) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pcp2graphite - pcmd hostname in prefix under pmmgr (#78) Content-Type: multipart/alternative; boundary="--==_mimepart_56ce363533367_52c3fc6847fd2a0102167"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: fche X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1456354893 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ce363533367_52c3fc6847fd2a0102167 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit This could be accomplished with a small auxiliary shell script invoked by /etc/pcp/pmmgr/monitor #! /bin/sh # assume pmmgr invocation as -h $HOSTSPEC host="$2" graphitehost=`pmprobe -v -h "$host" pmcd.hostname | awk '{print $3}' ` # or something like that exec pcp2graphite [...options...] -m "pcp.$graphitehost" -h "$host" --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/issues/78#issuecomment-188499829 ----==_mimepart_56ce363533367_52c3fc6847fd2a0102167 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

This could be accomplished with a small auxiliary shell script invoked by /etc/pcp/pmmgr/monitor

#! /bin/sh

assume pmmgr invocation as -h $HOSTSPEC

host="$2"
graphitehost=pmprobe -v -h "$host" pmcd.hostname | awk '{print $3}' # or something like that
exec pcp2graphite [...options...] -m "pcp.$graphitehost" -h "$host"


Reply to this email directly or view it on GitHub.

----==_mimepart_56ce363533367_52c3fc6847fd2a0102167-- From noreply@github.com Thu Feb 25 00:30:17 2016 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=1.4 required=5.0 tests=HTML_IMAGE_ONLY_12, HTML_MESSAGE,T_DKIM_INVALID autolearn=no 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 954737FA8 for ; Thu, 25 Feb 2016 00:30:17 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6A51D30404E for ; Wed, 24 Feb 2016 22:30:14 -0800 (PST) X-ASG-Debug-ID: 1456381810-04cb6c455ce9f00001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id HhZtxT5FrfEfAqE2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 24 Feb 2016 22:30:11 -0800 (PST) X-Barracuda-Envelope-From: noreply@github.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from github-smtp2-ext1.iad.github.net ([192.30.252.192] helo=github-smtp2a-ext-cp1-prd.iad.github.net) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYpR3-0003f3-BB for ; Thu, 25 Feb 2016 17:30:09 +1100 X-DKIM-Result: Domain=github.com Result=Good and Known Domain X-Barracuda-Apparent-Source-IP: 192.30.252.192 X-Barracuda-RBL-IP: 192.30.252.192 X-Barracuda-BBL-IP: 192.30.252.192 Date: Wed, 24 Feb 2016 22:29:54 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1456381794; bh=Av+LK/plVNg36/NMbCqQdD9ICL624RiJCXG7w7+X67I=; h=From:Reply-To:To:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=r4wqN9KsHnSJw1ve2YjYjSMHH2TH7++AH2B5UPXbDi9YCZUhgQDZWn8WO7U3vmjku Js1aokno7A/D/D4b67LXSH3nyjYUgEN1nQ5yf7CBVeSTNDLi3wjzPtgcgQS+EN6Yr4 Pd2cSZesVD5AptPP6giOnVPxl09G95mRcE0z8iso= From: Nathan Scott Reply-To: performancecopilot/pcp To: performancecopilot/pcp Message-ID: In-Reply-To: References: Subject: Re: [pcp] Update old PCP_VAR_LIB references in manual page (#77) Mime-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Update old PCP_VAR_LIB references in manual page (#77) Content-Type: multipart/alternative; boundary="--==_mimepart_56ce9f6223bfc_6ee23fc2277d72a033779d7"; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: list X-GitHub-Sender: natoscott X-GitHub-Recipient: pcpemail List-ID: performancecopilot/pcp List-Archive: https://github.com/performancecopilot/pcp List-Post: List-Unsubscribe: , X-Auto-Response-Suppress: All X-GitHub-Recipient-Address: pcp@kenj.com.au X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456381811 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.63 X-Barracuda-Spam-Status: No, SCORE=1.63 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_12, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27328 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.63 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message ----==_mimepart_56ce9f6223bfc_6ee23fc2277d72a033779d7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Merged #77. --- Reply to this email directly or view it on GitHub: https://github.com/performancecopilot/pcp/pull/77#event-565027745 ----==_mimepart_56ce9f6223bfc_6ee23fc2277d72a033779d7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Merged #77.


Reply to this email directly or view it on GitHub.

----==_mimepart_56ce9f6223bfc_6ee23fc2277d72a033779d7-- From nscott@redhat.com Thu Feb 25 00:31:52 2016 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 979027FA8 for ; Thu, 25 Feb 2016 00:31:52 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 60591304053 for ; Wed, 24 Feb 2016 22:31:52 -0800 (PST) X-ASG-Debug-ID: 1456381908-04cbb06ade11da60001-S8gJnT Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by cuda.sgi.com with ESMTP id 3nLTl2Ue5tufAKzi (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 24 Feb 2016 22:31:49 -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 u1P6Vm0c039246 for ; Thu, 25 Feb 2016 01:31:48 -0500 Date: Thu, 25 Feb 2016 01:31:48 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Mailing List Message-ID: <395879882.24920113.1456381908331.JavaMail.zimbra@redhat.com> Subject: pcp updates: rvernica merge, pmdaoracle MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: rvernica merge, pmdaoracle Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.68] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: rvernica merge, pmdaoracle Thread-Index: 5+uObw2qpFiEZSttmrIXvnI+c5Kn7Q== X-Barracuda-Connect: mx5-phx2.redhat.com[209.132.183.37] X-Barracuda-Start-Time: 1456381909 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/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.27328 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 master Nathan Scott (3): pmdaoracle: complete rewrite of all instance domain handling pmdaoracle: remove unused values hash in name-based lookup table pmdaoracle: cleanup, consolidate the final table lookup hash Rares Vernica (2): Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment. Fix wrong pointer to pmDesc Example for mmv_metric_t books/PCP_PG/pcp-programmers-guide.xml | 2 man/man1/pmlogger.1 | 18 src/pmdas/oracle/Install | 2 src/pmdas/oracle/pmdaoracle.pl | 1471 +++++++++++++++++++++------------ src/pmlogger/pmlogger_daily.sh | 2 5 files changed, 971 insertions(+), 524 deletions(-) commit 8e2daeee43b918fcc5bb0b5269faee997c885912 Author: Nathan Scott Date: Thu Feb 25 17:16:32 2016 +1100 pmdaoracle: cleanup, consolidate the final table lookup hash commit aab8dc9a5bd8b7f100d24854f11cfeb9135010c5 Author: Nathan Scott Date: Thu Feb 25 16:11:40 2016 +1100 pmdaoracle: remove unused values hash in name-based lookup table commit f2daad3ce1ae6aa635f655868260c470171ce7c4 Author: Nathan Scott Date: Thu Feb 25 16:08:56 2016 +1100 pmdaoracle: complete rewrite of all instance domain handling Rework the way pmdaoracle manages instance domains. Main goal here is to evaluate instance domains (esp external names) once, wherever possible, and not redo that on every fetch. The fetch queries now have smaller payloads. To achieve this we now respond to instance PDUs from pmcd, separate to the refresh() for values. Note that some instance names are now more complete - previously the code to expand (for example) datafile names was not used, but now is - which results in clearer metrics. The v$db_object_cache values are now accumulated correctly once more. The v$backup status code (numeric form) is re-instated here too, and the fetch_callback uses a faster lookup into the value array (before we were inadvertently doing deep copies there). commit 592a7a04ca5315bee8cfdd0d697575e6e9c297b0 Author: Rares Vernica Date: Tue Feb 23 10:50:14 2016 -0800 Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment. commit 2f40fbdae29c2f7e49ebc9e6fbf24a695aace337 Author: Rares Vernica Date: Fri Feb 5 16:30:00 2016 -0800 Fix wrong pointer to pmDesc Example for mmv_metric_t From kenj@internode.on.net Thu Feb 25 03:00:30 2016 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 665837FA8 for ; Thu, 25 Feb 2016 03:00:30 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2A14A8F8039 for ; Thu, 25 Feb 2016 01:00:29 -0800 (PST) X-ASG-Debug-ID: 1456390804-04bdf07ab5156790001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id ezipBm1TA2CXonJX for ; Thu, 25 Feb 2016 01:00:04 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.143 Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail05.adl6.internode.on.net with ESMTP; 25 Feb 2016 19:29:40 +1030 To: pcp@oss.sgi.com Subject: pcp updates: Rares Vernica commits from github and small pcp-daily change From: Ken McDonell X-ASG-Orig-Subj: pcp updates: Rares Vernica commits from github and small pcp-daily change Message-ID: <56CEC27B.6060302@internode.on.net> Date: Thu, 25 Feb 2016 19:59:39 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1456390804 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com 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.27331 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (1): qa/admin/pcp-daily: fix some missed escapes in the "hereis" documents Rares Vernica (1): Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment. Rares Vernica (cessna) (1): Fix wrong pointer to pmDesc Example for mmv_metric_t books/PCP_PG/pcp-programmers-guide.xml | 2 +- man/man1/pmlogger.1 | 18 +++++++++--------- qa/admin/pcp-daily | 10 +++++----- src/pmlogger/pmlogger_daily.sh | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) Details ... commit b365e2670530605023219f300c9f28523db901a5 Author: Ken McDonell Date: Thu Feb 25 19:55:54 2016 +1100 qa/admin/pcp-daily: fix some missed escapes in the "hereis" documents Was using $MAKE from the shell where pcp-daily was run, not from the remote shell where daily.script is doing the real work. commit 592a7a04ca5315bee8cfdd0d697575e6e9c297b0 Author: Rares Vernica Date: Tue Feb 23 10:50:14 2016 -0800 Replace PCP_VAR_LIB with PCP_VAR_DIR in manual page and script comment. commit 2f40fbdae29c2f7e49ebc9e6fbf24a695aace337 Author: Rares Vernica (cessna) Date: Fri Feb 5 16:30:00 2016 -0800 Fix wrong pointer to pmDesc Example for mmv_metric_t From myllynen@redhat.com Thu Feb 25 04:21:05 2016 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 30C837F9D for ; Thu, 25 Feb 2016 04:21:05 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B4B4FAC001 for ; Thu, 25 Feb 2016 02:21:01 -0800 (PST) X-ASG-Debug-ID: 1456395652-04bdf07ab4158ec0001-S8gJnT Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by cuda.sgi.com with ESMTP id gWrfsFYeCyFHRp4F (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 25 Feb 2016 02:20:53 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.50 Received: by mail-wm0-f50.google.com with SMTP id b205so25036387wmb.1 for ; Thu, 25 Feb 2016 02:20:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-type:content-transfer-encoding; bh=Hb43syPTgoxxM8RxSHMwbC+2PQRK/sOkrSdZSHKrnlo=; b=Unn5UiSolXtFmRwU6iCNLLIA/sigaQmR3VY1Gr6/E8HlAcWS+5/m1JgHtpGBLlSbLl gsCEW47RTDIEsPDc2m0zzWRF26+W48e4RrxFq87DcH8uHd6FMy6evu9Amwbg7SGLmO6g LUTevXWR7KULdxRLGZdXmEFLTfWk7SjBsOhnLBqrnleAj/ghep+zzypZlZb88o21D9fu IjVjms6ENBq4veKwz5AiiFibV2Qeue48XDdBp1FUlBaz/tC90a7ogV1itM1Y/OCdC/Or ggbHJL5v5ipc+Bm4g/ijfKpVF/RGPGIZwSkEvPTf+/D0q4TrkSNYBbX2b1bmCLXynPNb svlw== X-Gm-Message-State: AG10YORGKAepVXgmli0bZ/uEgC1MGFA3su+b0mREwpSTgE+FcJ4Tdz1xfPkW6LTQ75wAKJq/ X-Received: by 10.194.236.233 with SMTP id ux9mr43226117wjc.161.1456395652022; Thu, 25 Feb 2016 02:20:52 -0800 (PST) Received: from ?IPv6:2001:14bb:140:5617:402:1fcc:a508:2? (dygygpg4fyks85lkkyyby-4.rev.dnainternet.fi. [2001:14bb:140:5617:402:1fcc:a508:2]) by smtp.gmail.com with ESMTPSA id 198sm2500197wml.22.2016.02.25.02.20.50 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 25 Feb 2016 02:20:51 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmda persistent indom cache access issues, part 2 Organization: Red Hat X-ASG-Orig-Subj: pmda persistent indom cache access issues, part 2 Message-ID: <56CED581.8020305@redhat.com> Date: Thu, 25 Feb 2016 12:20:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f50.google.com[74.125.82.50] X-Barracuda-Start-Time: 1456395652 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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.27332 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On RHEL 7 / PCP 3.10.6 I'm hitting the same issue Ken reported in http://oss.sgi.com/archives/pcp/2013-05/msg00005.html. Below is a compact reproducer: use strict; use warnings; use PCP::PMDA; our $pmda; sub test_fetch { my %timeslices = ('sec' => 42, 'min' => \&min_func, 'hour' => '0'); $pmda->replace_indom(0, \%timeslices); } sub test_fetch_callback { return (PM_ERR_AGAIN, 0); } $pmda = PCP::PMDA->new('test', 496); $pmda->add_metric(pmda_pmid(0, 0), PM_TYPE_32, 0, PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0), 'test.test', '', ''); $pmda->add_indom(0, {}, '', ''); $pmda->set_fetch(\&test_fetch); $pmda->set_fetch_callback(\&test_fetch_callback); $pmda->set_user('nobody'); $pmda->run(); And this is what the log says after installing the PMDA: pmda cache persistance failed: Permission denied at /var/lib/pcp/pmdas/test/pmdatest.pl line 9. Should PMDAs running as non-root/non-pcp work? Is this is RHEL 7 packaging issue or a general problem with PMDAs? Thanks, -- Marko Myllynen From bugzilla@redhat.com Thu Feb 25 08:16:09 2016 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 5633D7F8B for ; Thu, 25 Feb 2016 08:16:09 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0E5F08F8035 for ; Thu, 25 Feb 2016 06:16:08 -0800 (PST) X-ASG-Debug-ID: 1456409761-04bdf07ab6160040001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id hbPmgOPqs0uCEy3R (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 25 Feb 2016 06:16:03 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYwhw-0002Fx-A6 for ; Fri, 26 Feb 2016 01:16:00 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PEFkMR048598 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 09:15:47 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PEFkrZ018637 for ; Thu, 25 Feb 2016 09:15:46 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1PEFksX018628; Thu, 25 Feb 2016 09:15:46 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Date: Thu, 25 Feb 2016 14:15:44 +0000 X-ASG-Orig-Subj: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: lvrabec@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: cc component assigned_to X-Bugzilla-Comment: public X-Bugzilla-Reporter: pcfe@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456409762 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_RULE_7580G, BSF_SC0_MISMATCH_TO, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27336 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.75 BSF_RULE_7580G Custom Rule 7580G https://bugzilla.redhat.com/show_bug.cgi?id=3D1286361 Lukas Vrabec changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |brolley@redhat.com, | |fche@redhat.com, | |lberk@redhat.com, | |mgoodwin@redhat.com, | |nathans@redhat.com, | |pcp@kenj.com.au, | |scox@redhat.com Component|selinux-policy |pcp Assignee|mgrepl@redhat.com |nathans@redhat.com --- Comment #3 from Lukas Vrabec --- pcp folks,=20 Any help here? --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3D5e98k5u= rwB&a=3Dcc_unsubscribe= From bugzilla@redhat.com Thu Feb 25 08:40:24 2016 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 0ABA57F91 for ; Thu, 25 Feb 2016 08:40:24 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 60BD0AC005 for ; Thu, 25 Feb 2016 06:40:21 -0800 (PST) X-ASG-Debug-ID: 1456411215-04cb6c455af7630001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-69.servers.netregistry.net [202.124.241.69]) by cuda.sgi.com with ESMTP id ZGJtFLupMLBB1Wru (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 25 Feb 2016 06:40:16 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.69 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aYx5N-0004Bl-Jx for ; Fri, 26 Feb 2016 01:40:14 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PEdxg4060437 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 09:39:59 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PEdxKh036130 for ; Thu, 25 Feb 2016 09:39:59 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1PEdxQ2036129; Thu, 25 Feb 2016 09:39:59 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Date: Thu, 25 Feb 2016 14:39:58 +0000 X-ASG-Orig-Subj: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: lberk@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: pcfe@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-69.servers.netregistry.net[202.124.241.69] X-Barracuda-Start-Time: 1456411216 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27336 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1286361 --- Comment #4 from Lukas Berk --- (In reply to Miroslav Grepl from comment #1) > Is "pmlogger_daily.pid" created by cron? cron runs a pmlogger admin/maintenance script (pmlogger_daily), which is wh= at leads to this pmlogger_daily.pid file being created and (attempted to be) r= ead. $ cat /etc/cron.d/pcp-pmlogger # Performance Co-Pilot crontab entries for a monitored site # with one or more pmlogger instances running # # daily processing of archive logs (with compression enabled) 10 0 * * * pcp /usr/libexec/pcp/bin/pmlogger_daily -X xz -x 3 # every 30 minutes, check pmlogger instances are running 25,55 * * * * pcp /usr/libexec/pcp/bin/pmlogger_check -C --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DTcmlcLh= ksn&a=3Dcc_unsubscribe= From brolley@redhat.com Thu Feb 25 10:43:07 2016 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 011677F8B for ; Thu, 25 Feb 2016 10:43:07 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 741D6AC006 for ; Thu, 25 Feb 2016 08:43:06 -0800 (PST) X-ASG-Debug-ID: 1456418581-04cbb06add132010001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id khMMc98OZfGDpGW0 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 08:43:02 -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-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 8A996627FB for ; Thu, 25 Feb 2016 16:43:01 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PGh1Mw011881 for ; Thu, 25 Feb 2016 11:43:01 -0500 Message-ID: <56CF2F16.40404@redhat.com> Date: Thu, 25 Feb 2016 11:43:02 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: Multi-Archive Consistency and Config Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: Multi-Archive Consistency and Config Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 25 Feb 2016 16:43:01 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456418582 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/brolley/pcp.git multi-archive Dave Brolley (2): Multi-archive contexts: Check PMNS meta data for conflicts. Implement the libpcp feature string "multi_archive_contexts". qa/006.out | 12 +-- qa/722.out | 2 src/include/pcp/pmapi.h | 7 + src/libpcp/src/config.c | 1 src/libpcp/src/context.c | 65 +++++++--------- src/libpcp/src/err.c | 10 ++ src/libpcp/src/logmeta.c | 182 +++++++++++++++++++++++++++-------------------- src/libpcp/src/logutil.c | 10 +- 8 files changed, 165 insertions(+), 124 deletions(-) Changes committed to git://git.pcp.io/brolley/pcp.git multi-archive Dave Brolley (1): Fix order of freeing resources upon error in initarchive(). src/libpcp/src/context.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) From kenj@internode.on.net Thu Feb 25 13:39:33 2016 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 1F3657F95 for ; Thu, 25 Feb 2016 13:39:33 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 83AE6AC002 for ; Thu, 25 Feb 2016 11:39:29 -0800 (PST) X-ASG-Debug-ID: 1456429159-04bdf002eb06210001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id d7FxRzYye8DKwvmf for ; Thu, 25 Feb 2016 11:39:20 -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: A2CdAgCbV89WPFBJ0XYNUYQMbbwxIYVsAoIPAQEBAQEBBwEBAQFBgQESAYNuAQEEgQkLGAklDwIyFAYBDAgBAYgprTiPWQEBAQEGAQEBAQEbikyCV4YYBZcIhViWe45JgmUZgVxWAYMvhGgBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 26 Feb 2016 06:09:19 +1030 Subject: Re: [pcp] pmda persistent indom cache access issues, part 2 To: Marko Myllynen , pcp developers X-ASG-Orig-Subj: Re: [pcp] pmda persistent indom cache access issues, part 2 References: <56CED581.8020305@redhat.com> From: Ken McDonell Message-ID: <56CF5866.20407@internode.on.net> Date: Fri, 26 Feb 2016 06:39:18 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56CED581.8020305@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1456429159 X-Barracuda-URL: https://192.48.157.11:443/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.27342 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 25/02/16 21:20, Marko Myllynen wrote: > Hi, > > On RHEL 7 / PCP 3.10.6 I'm hitting the same issue Ken reported > in http://oss.sgi.com/archives/pcp/2013-05/msg00005.html. This is how we install the indom cache directory ... $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d $(PCP_VAR_DIR)/config/pmda so unless the PMDA is running as root or pcp, it is not going to be able to _create_ the indom files. For real PMDAs that need to run as some other uid, there only real option is to create the indom files and chown/chmod them in the Install script (that does run as root). If this is not possible, then the only options I can think of (assuming mode 777 and mode 1777 directories in /var are unpalatable) would be a libpcp_pmda extension to use (a new) $PCP_PMDA_CACHE_DIR variable from the environment or possibly a new method in libpcp_pmda to change the indom cache directory (for just the caller PMDA), e.g. pmdaCacheInit(char *dir) Either would be trivial if the use case is compelling ... the environment variable would not require any library ABI or wrapper code changes. From nscott@redhat.com Thu Feb 25 15:04:14 2016 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 60DE47CA6 for ; Thu, 25 Feb 2016 15:04:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id D6445AC001 for ; Thu, 25 Feb 2016 13:04:10 -0800 (PST) X-ASG-Debug-ID: 1456434243-04bdf002ec0a660001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id K2LZY1dNJlnlEZpP (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 25 Feb 2016 13:04: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 u1PL40V8022825; Thu, 25 Feb 2016 16:04:00 -0500 Date: Thu, 25 Feb 2016 16:04:00 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell , Marko Myllynen Cc: pcp developers Message-ID: <1103034979.25126919.1456434240088.JavaMail.zimbra@redhat.com> In-Reply-To: <56CF5866.20407@internode.on.net> References: <56CED581.8020305@redhat.com> <56CF5866.20407@internode.on.net> Subject: Re: [pcp] pmda persistent indom cache access issues, part 2 MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmda persistent indom cache access issues, part 2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.126] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmda persistent indom cache access issues, part 2 Thread-Index: 5PhjlzrQJZFCgfDwDWyqL3k8kkwy+w== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456434244 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.27344 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 guys, ----- Original Message ----- > On 25/02/16 21:20, Marko Myllynen wrote: > > Hi, > > > > On RHEL 7 / PCP 3.10.6 I'm hitting the same issue Ken reported > > in http://oss.sgi.com/archives/pcp/2013-05/msg00005.html. > > This is how we install the indom cache directory ... > > $(INSTALL) -m 775 -o $(PCP_USER) -g $(PCP_GROUP) -d > $(PCP_VAR_DIR)/config/pmda > > so unless the PMDA is running as root or pcp, it is not going to be able to > _create_ the indom files. > > For real PMDAs that need to run as some other uid, there only real option is > to create the indom files > and chown/chmod them in the Install script (that does run as root). > The pmdaoracle Install script does this sort of thing, as an example. cheers. -- Nathan From bugzilla@redhat.com Thu Feb 25 15:19:25 2016 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 39E977CA6 for ; Thu, 25 Feb 2016 15:19:25 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 92003AC001 for ; Thu, 25 Feb 2016 13:19:24 -0800 (PST) X-ASG-Debug-ID: 1456435157-04cbb00b71065a0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-67.servers.netregistry.net [202.124.241.67]) by cuda.sgi.com with ESMTP id HJ59PhJvUQ2YynDL (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 25 Feb 2016 13:19:18 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.67 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aZ3JX-0001Tw-MB for ; Fri, 26 Feb 2016 08:19:16 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PLJ18j022773 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 16:19:01 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PLJ1Qu032409 for ; Thu, 25 Feb 2016 16:19:01 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1PLJ12S032408; Thu, 25 Feb 2016 16:19:01 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Date: Thu, 25 Feb 2016 21:18:58 +0000 X-ASG-Orig-Subj: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: nathans@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: cc X-Bugzilla-Comment: public X-Bugzilla-Reporter: pcfe@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-67.servers.netregistry.net[202.124.241.67] X-Barracuda-Start-Time: 1456435158 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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_MISMATCH_TO, BSF_SC7_SA298e, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27344 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.20 BSF_SC7_SA298e Custom Rule SA298e https://bugzilla.redhat.com/show_bug.cgi?id=3D1286361 Nathan Scott changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martincigorraga@gmail.com --- Comment #5 from Nathan Scott --- *** Bug 1259127 has been marked as a duplicate of this bug. *** --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DEATpIym= qcd&a=3Dcc_unsubscribe= From bugzilla@redhat.com Thu Feb 25 15:28:04 2016 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 C6A567F80 for ; Thu, 25 Feb 2016 15:28:04 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7B73C304043 for ; Thu, 25 Feb 2016 13:28:04 -0800 (PST) X-ASG-Debug-ID: 1456435681-04bdf002ec0f5b0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-71.servers.netregistry.net [202.124.241.71]) by cuda.sgi.com with ESMTP id 9LEse0aI4DC7HD49 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Thu, 25 Feb 2016 13:28:02 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.71 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aZ3Ry-0007Yp-C5 for ; Fri, 26 Feb 2016 08:28:01 +1100 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (bugweb-04.app.bz.hst.phx2.redhat.com [10.5.117.34]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PLRkV2025816 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 16:27:46 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-04.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PLRkuG035069 for ; Thu, 25 Feb 2016 16:27:46 -0500 Received: (from apache@localhost) by bugweb-04.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1PLRkHx035068; Thu, 25 Feb 2016 16:27:46 -0500 X-Authentication-Warning: bugweb-04.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Date: Thu, 25 Feb 2016 21:27:45 +0000 X-ASG-Orig-Subj: [Bug 1286361] SELinux is preventing pmcd from 'read' accesses on the file pmlogger_daily.pid. Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 23 X-Bugzilla-Keywords: X-Bugzilla-Severity: medium X-Bugzilla-Who: nathans@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: medium X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: pcfe@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-71.servers.netregistry.net[202.124.241.71] X-Barracuda-Start-Time: 1456435682 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27344 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1286361 --- Comment #6 from Nathan Scott --- I believe this will be coming from pmdapmcd which lives as a DSO inside pmc= d, and the "pmcd.services" PCP metric. We can restrict evaluation of those PID files to a subset of core services = for that metric - we don't really need to report on pmlogger_daily.pid, so its = not a problem that the access fails here (other than the AVC denial warnings its generating of course). I'll fix this up in PCP. --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DBfJG3Ok= iXx&a=3Dcc_unsubscribe= From nscott@redhat.com Thu Feb 25 15:36:09 2016 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 1C8DC7CA4 for ; Thu, 25 Feb 2016 15:36:09 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 74DF4AC002 for ; Thu, 25 Feb 2016 13:36:08 -0800 (PST) X-ASG-Debug-ID: 1456436165-04cb6c583307110001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id 5Qk4Wwf4YbVokREN (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 13:36:06 -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 u1PLZwOP027180; Thu, 25 Feb 2016 16:35:58 -0500 Date: Thu, 25 Feb 2016 16:35:58 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell , Marko Myllynen Cc: pcp developers Message-ID: <493414340.25135361.1456436158824.JavaMail.zimbra@redhat.com> In-Reply-To: <56CF5866.20407@internode.on.net> References: <56CED581.8020305@redhat.com> <56CF5866.20407@internode.on.net> Subject: Re: [pcp] pmda persistent indom cache access issues, part 2 MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmda persistent indom cache access issues, part 2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.126] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmda persistent indom cache access issues, part 2 Thread-Index: rAQaWzmHx58PLSCfOWzU142cRQPOtA== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1456436166 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/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.27344 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 ----- Original Message ----- > [...] > If this is not possible, then the only options I can think of (assuming mode > 777 and mode 1777 directories in /var are unpalatable) would be a > libpcp_pmda extension to use (a new) $PCP_PMDA_CACHE_DIR variable from the > environment or possibly a new method in libpcp_pmda to change the indom > cache directory (for just the caller PMDA), e.g. pmdaCacheInit(char *dir) > > Either would be trivial if the use case is compelling ... the environment > variable would not require any library ABI or wrapper code changes. FWIW, from oracle experience - its a slight pain to go the Install script route and a bit of a maintenance headache (apart from being obscure / non-obvious) - have to remember to update the ./Install script every time an indom is added to the PMDA. An option to explicitly set the directory for an individual PMDA sounds good. cheers. -- Nathan From brolley@redhat.com Thu Feb 25 17:13:57 2016 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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 356D67CA1 for ; Thu, 25 Feb 2016 17:13:57 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 91393AC002 for ; Thu, 25 Feb 2016 15:13:53 -0800 (PST) X-ASG-Debug-ID: 1456442028-04cb6c58310b070001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EK159iW4SuhrRp4U (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 15:13:49 -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-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id C18C08E3E4 for ; Thu, 25 Feb 2016 23:13:48 +0000 (UTC) Received: from [10.15.17.216] (unused-10-15-17-216.yyz.redhat.com [10.15.17.216]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PNDmCW024148 for ; Thu, 25 Feb 2016 18:13:48 -0500 Message-ID: <56CF8AAD.6040603@redhat.com> Date: Thu, 25 Feb 2016 18:13:49 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: Multi-Archive Contexts: Tools Audit and Testing Content-Type: multipart/alternative; boundary="------------060105020207010308030701" X-ASG-Orig-Subj: Multi-Archive Contexts: Tools Audit and Testing 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: 1456442029 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a multi-part message in MIME format. --------------060105020207010308030701 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi All, I have completed an audit of the PCP tools with respect to how they interact with the multi-archive context support, which included testing of each tool. The scripts I used for testing will eventually become the qa tests for these tools. Here is a summary: The following tools Just Work(tm), which is to say that using them against sets of archives produces the same output as if the archives were combined using pmlogextract and the tools were run against the resulting archive: pmcollectl, pmevent, pmval, pmstat, pmchart, pmatop, pminfo, pmlogsummary, pmclient, pmclient_fg, pmdiff, pmiostat, pmprobe, pmrep, pmlogrewrite, pmlogreduce, pmlogextract (yes, even pmlogextract correctly hands a set of archives among its arguments as if it were a single archive). pmie and pmdumptext both do their own parsing of comma-separated lists of archives (I knew there were more precedents for this!), which is good, because for those tools, each comma-separated archive must be from a different host. As expected and desired, however, specifying a directory as one of the comma-separated items works for both tools. pmwebd's -I option accepts directory names and correctly serves the archives within. pmloglabel, pmlogcheck and pmlogmv do their own checking for valid archive names and, as such, will only work against single archives. It is my opinion that pmloglabel and pmlogcheck can, and should, be enhanced to work against multi-archive contexts in the near future. That leaves one last tool which we have already talked about; namely pmdumplog. This tool works correctly against multi-archive contexts in all respects except when dumping the temporal indices. It even dumps the virtual records when the -M option is specified. However, it will dump only the time indices from the first archive in the set. With a little work and the implementation of some kind of __pmGetFirstTimeIndex(), __pmGetNextTimeIndex() API, this tool could also be made fully compatible with multi-archive contexts. All the tools continue to work as before for single archive contexts. If no one feels that any of the above is a show stopper, I would like to merge my branch in the next day or so. Decisions on how to handle the few stray tools can still be finalized before the release (scheduled March 18) and I will also have enough time to add the qa and man/book updates. Dave --------------060105020207010308030701 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hi All,

I have completed an audit of the PCP tools with respect to how they interact with the multi-archive context support, which included testing of each tool. The scripts I used for testing will eventually become the qa tests for these tools. Here is a summary:

The following tools Just Work(tm), which is to say that using them against sets of archives produces the same output as if the archives were combined using pmlogextract and the tools were run against the resulting archive:
pmcollectl, pmevent, pmval, pmstat, pmchart, pmatop, pminfo, pmlogsummary, pmclient, pmclient_fg, pmdiff, pmiostat, pmprobe, pmrep, pmlogrewrite, pmlogreduce, pmlogextract (yes, even pmlogextract correctly hands a set of archives among its arguments as if it were a single archive).
pmie and pmdumptext both do their own parsing of comma-separated lists of archives (I knew there were more precedents for  this!), which is good, because for those tools, each comma-separated archive must be from a different host. As expected and desired, however, specifying a directory as one of the comma-separated items works for both tools.

pmwebd's -I option accepts directory names and correctly serves the archives within.

pmloglabel, pmlogcheck and pmlogmv do their own checking for valid archive names and, as such, will only work against single archives. It is my opinion that pmloglabel and pmlogcheck can, and should, be enhanced to work against multi-archive contexts in the near future.

That leaves one last tool which we have already talked about; namely pmdumplog. This tool works correctly against multi-archive contexts in all respects except when dumping the temporal indices. It even dumps the virtual <mark> records when the -M option is specified. However, it will dump only the time indices from the first archive in the set. With a little work and the implementation of some kind of __pmGetFirstTimeIndex(), __pmGetNextTimeIndex() API, this tool could also be made fully compatible with multi-archive contexts.

All the tools continue to work as before for single archive contexts.

If no one feels that any of the above is a show stopper, I would like to merge my branch in the next day or so. Decisions on how to handle the few stray tools can still be finalized before the release (scheduled March 18) and I will also have enough time to add the qa and man/book updates.

Dave
--------------060105020207010308030701-- From mgoodwin@redhat.com Thu Feb 25 17:18:51 2016 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 366777CA1 for ; Thu, 25 Feb 2016 17:18:51 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id EBCC3304032 for ; Thu, 25 Feb 2016 15:18:50 -0800 (PST) X-ASG-Debug-ID: 1456442329-04cb6c58300b330001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ZPb5km4udkcgDDer (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Feb 2016 15:18:50 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id 878717EBB1 for ; Thu, 25 Feb 2016 23:18:49 +0000 (UTC) Received: from [10.64.48.98] (vpn1-48-98.bne.redhat.com [10.64.48.98]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1PNImVN004683 for ; Thu, 25 Feb 2016 18:18:48 -0500 Subject: Re: [pcp] pmda persistent indom cache access issues, part 2 To: pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] pmda persistent indom cache access issues, part 2 References: <56CED581.8020305@redhat.com> <56CF5866.20407@internode.on.net> <493414340.25135361.1456436158824.JavaMail.zimbra@redhat.com> From: Mark Goodwin Message-ID: <56CF8BD7.8030704@redhat.com> Date: Fri, 26 Feb 2016 10:18:47 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <493414340.25135361.1456436158824.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset=windows-1252; 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: 1456442329 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 02/26/2016 08:35 AM, Nathan Scott wrote: > > > ----- Original Message ----- >> [...] >> If this is not possible, then the only options I can think of (assuming mode >> 777 and mode 1777 directories in /var are unpalatable) would be a >> libpcp_pmda extension to use (a new) $PCP_PMDA_CACHE_DIR variable from the >> environment or possibly a new method in libpcp_pmda to change the indom >> cache directory (for just the caller PMDA), e.g. pmdaCacheInit(char *dir) >> >> Either would be trivial if the use case is compelling ... the environment >> variable would not require any library ABI or wrapper code changes. > > FWIW, from oracle experience - its a slight pain to go the Install script route > and a bit of a maintenance headache (apart from being obscure / non-obvious) - > have to remember to update the ./Install script every time an indom is added to > the PMDA. > > An option to explicitly set the directory for an individual PMDA sounds good. > This gets pretty messy for mortal users using local contexts - they can read the global system cache, but only write it back out where they have permissions, e.g. in their $home. If a private cache diverges from global, reconcilliation could get messy. IMO it'd be better to just not have alternate caches - the global cache needs to function read-only. IIRC there was also a mutex issue with the PMDA caches - readers are not protected from concurrent updates - did that ever get fixed? Regards From nscott@redhat.com Thu Feb 25 17:51:31 2016 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 9ACD87CB5 for ; Thu, 25 Feb 2016 17:51:31 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 132FBAC003 for ; Thu, 25 Feb 2016 15:51:30 -0800 (PST) X-ASG-Debug-ID: 1456444288-04bdf002ee19210001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id xviheis2BZWBb2vK (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 25 Feb 2016 15:51:29 -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 u1PNpSaj006136; Thu, 25 Feb 2016 18:51:28 -0500 Date: Thu, 25 Feb 2016 18:51:28 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Dave Brolley Cc: PCP Mailing List Message-ID: <1085727119.25155195.1456444288623.JavaMail.zimbra@redhat.com> In-Reply-To: <56CF8AAD.6040603@redhat.com> References: <56CF8AAD.6040603@redhat.com> Subject: Re: [pcp] Multi-Archive Contexts: Tools Audit and Testing MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Multi-Archive Contexts: Tools Audit and Testing Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.126] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Multi-Archive Contexts: Tools Audit and Testing Thread-Index: yf92Ol8szGaUJFRJ/iRCBWx7m5KCVg== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456444289 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27350 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain ----- Original Message ----- > [...] > All the tools continue to work as before for single archive contexts. > > If no one feels that any of the above is a show stopper, I would like to > merge my branch in the next day or so. Decisions on how to handle the few > stray tools can still be finalized before the release (scheduled March 18) > and I will also have enough time to add the qa and man/book updates. Provided QA isn't regressing and we have some multi-archive coverage, that all sounds good to me FWIW (QA week is good for extra QA+docs). Nice work Dave, go for it! cheers. -- Nathan From kenj@internode.on.net Thu Feb 25 18:14:14 2016 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 A04A57F87 for ; Thu, 25 Feb 2016 18:14:14 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 732AA8F8035 for ; Thu, 25 Feb 2016 16:14:11 -0800 (PST) X-ASG-Debug-ID: 1456445644-04cbb00b72145a0001-S8gJnT Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 0nplhXDigMxliwxZ for ; Thu, 25 Feb 2016 16:14:04 -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: A2BjBAAmmM9WPFBJ0XYNUYQ4hyO1UYYNAoIOAQEBAQEBBwEBAQFBgQESAYNtAQEBAwE4QAYLCw4KCRYPCQMCAQIBMRQGAQwIAQGIE61Ij1kBAQEBBgEBAQEBG4pMiG8BBJcIjz2HaYUtjkmCZRmBXIQGhGgBAQE Received: from ppp118-209-73-80.lns20.mel4.internode.on.net (HELO [192.168.1.100]) ([118.209.73.80]) by ipmail06.adl2.internode.on.net with ESMTP; 26 Feb 2016 10:43:58 +1030 Subject: Re: [pcp] pmda persistent indom cache access issues, part 2 To: Mark Goodwin , pcp@oss.sgi.com X-ASG-Orig-Subj: Re: [pcp] pmda persistent indom cache access issues, part 2 References: <56CED581.8020305@redhat.com> <56CF5866.20407@internode.on.net> <493414340.25135361.1456436158824.JavaMail.zimbra@redhat.com> <56CF8BD7.8030704@redhat.com> From: Ken McDonell Message-ID: <56CF98C6.8050001@internode.on.net> Date: Fri, 26 Feb 2016 11:13:58 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56CF8BD7.8030704@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: 1456445644 X-Barracuda-URL: https://192.48.176.25:443/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.27350 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 26/02/16 10:18, Mark Goodwin wrote: > ... > > This gets pretty messy for mortal users using local contexts - they can > read > the global system cache, but only write it back out where they have > permissions, > e.g. in their $home. I think this is likely to be a real corner case ... (a) only DSO pmdas are in the frame for local contexts, (b) most of the "odd" uid case pmdas are not DSOs, (c) the status quo works with read-only access for most of these pmdas provided they are started first from pmcd (so the files get created and populated, with their 644 mode) > If a private cache diverges from global, reconcilliation could get messy. > IMO it'd be better to just not have alternate caches - the global cache > needs > to function read-only. I was thinking the PMDA code might decide where to put the cache files (so the API option, not the environment variable option) ... so the caches would not diverge, but this would not help the Mary the Mortal with a local context use (it is not better/worse than /var/lib/pcp/config/pmda) > IIRC there was also a mutex issue with the PMDA caches - readers are not > protected > from concurrent updates - did that ever get fixed? It never was addressed ... because for the most common use cases, just one PMDA is ever updating a particular indom cache file. Now if DSOs with local contexts can start to write into a shared indom cache, the assumption is broken and the issue would have to be revisited. Personally I'd rather not do this. From nscott@redhat.com Fri Feb 26 01:55:32 2016 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 2E37E7F8D for ; Fri, 26 Feb 2016 01:55:32 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E8FA88F8035 for ; Thu, 25 Feb 2016 23:55:31 -0800 (PST) X-ASG-Debug-ID: 1456473325-04cb6c58331a790001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id 7TPZKWfRjpLspIhU (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 25 Feb 2016 23:55:26 -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 u1Q7tPNC012896 for ; Fri, 26 Feb 2016 02:55:25 -0500 Date: Fri, 26 Feb 2016 02:55:25 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Mailing List Message-ID: <61288988.25244158.1456473325510.JavaMail.zimbra@redhat.com> Subject: pcp updates: qa, mmv MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: qa, mmv Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.126] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: qa, mmv Thread-Index: jh+uOtkblvy6/iVENsHljnAWP5TaLQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456473326 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27359 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 master Nathan Scott (3): pmdammv: name mmv control metrics with standard convention qa: updates to pmdaoracle test, resolving possible oraenv hang qa: updates to mmv tests catering to recent control metrics changes qa/1035 | 69 ++----------------------------------------- qa/213 | 6 +-- qa/213.out | 6 +-- qa/241.out | 2 - qa/647.out | 26 ++++++++++++---- qa/648.out | 13 ++++++-- qa/649.out | 19 ++++++----- qa/704.out | 13 ++++++-- src/pmdas/mmv/src/mmv.c | 59 +++++++++++++++++++++--------------- src/pmdas/oracle/sample.conf | 5 --- 10 files changed, 97 insertions(+), 121 deletions(-) commit 513351092043fa2b4b5d2de1344becb88f771a17 Author: Nathan Scott Date: Fri Feb 26 16:17:21 2016 +1100 qa: updates to mmv tests catering to recent control metrics changes commit 9aa75fa54826c4adfbf83553187e50fdf61d07a5 Author: Nathan Scott Date: Fri Feb 26 14:21:59 2016 +1100 qa: updates to pmdaoracle test, resolving possible oraenv hang Also update sample config to not implicitly suggest ORACLE_SID and some other Oracle variables need to be set, as they do not. commit 86d2bd914d28fe504d2fa5ff573d81579ef78023 Author: Nathan Scott Date: Fri Feb 26 14:19:42 2016 +1100 pmdammv: name mmv control metrics with standard convention Move the debug and reset mmv metrics into a mmv.control sub-tree. Add a file count metric, giving a runtime test of presence of any MMV metrics (for possible automated logging via pmlogconf probe). Simplify the fetch callback slightly for control metrics (the use of pmdaMetric m_user field there was prevoiusly overlooked). From brolley@redhat.com Fri Feb 26 10:50:20 2016 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 522997CA3 for ; Fri, 26 Feb 2016 10:50:20 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 14407304043 for ; Fri, 26 Feb 2016 08:50:17 -0800 (PST) X-ASG-Debug-ID: 1456505415-04cbb00b7238b10001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id lo8uscIJSFJAUShS (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 26 Feb 2016 08:50:16 -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-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 81FEE139847 for ; Fri, 26 Feb 2016 16:50:15 +0000 (UTC) Received: from [10.10.54.155] (vpn-54-155.rdu2.redhat.com [10.10.54.155]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1QGoEjV011314 for ; Fri, 26 Feb 2016 11:50:15 -0500 Message-ID: <56D08248.3060506@redhat.com> Date: Fri, 26 Feb 2016 11:50:16 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: qa for multi-archive contexts Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: qa for multi-archive contexts Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 26 Feb 2016 16:50:15 +0000 (UTC) X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1456505416 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes committed to git://git.pcp.io/brolley/pcp.git multi-archive Dave Brolley (1): New qa tests for multi-archive contexts. qa/1036 | 77 qa/1036.out | 76 qa/1037 | 77 qa/1037.out | 835 +++++++++ qa/1038 | 78 qa/1038.out | 2866 ++++++++++++++++++++++++++++++++ qa/809 | 77 qa/809.out | 67 qa/810 | 77 qa/810.out | 1921 +++++++++++++++++++++ qa/814 | 77 qa/814.out | 835 +++++++++ qa/817 | 77 qa/817.out | 667 +++++++ qa/818 | 78 qa/818.out | 2911 +++++++++++++++++++++++++++++++++ qa/887 | 77 qa/887.out | 1840 ++++++++++++++++++++ qa/970 | 77 qa/970.out | 58 qa/archives/multi/20150508.11.44.0 |binary qa/archives/multi/20150508.11.44.index |binary qa/archives/multi/20150508.11.44.meta |binary qa/archives/multi/20150508.11.46.0 |binary qa/archives/multi/20150508.11.46.index |binary qa/archives/multi/20150508.11.46.meta |binary qa/archives/multi/20150508.11.50.0 |binary qa/archives/multi/20150508.11.50.index |binary qa/archives/multi/20150508.11.50.meta |binary qa/archives/multi/20150508.11.57.0 |binary qa/archives/multi/20150508.11.57.index |binary qa/archives/multi/20150508.11.57.meta |binary qa/group | 13 33 files changed, 12861 insertions(+) From brolley@redhat.com Fri Feb 26 13:32:14 2016 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 23E807CA4 for ; Fri, 26 Feb 2016 13:32:14 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id A8E5BAC001 for ; Fri, 26 Feb 2016 11:32:10 -0800 (PST) X-ASG-Debug-ID: 1456515128-04bdf002ee3dc80001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CGvpKdNSOcYsPysV (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 26 Feb 2016 11:32:09 -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-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 4E1E3C0ED312 for ; Fri, 26 Feb 2016 19:32:08 +0000 (UTC) Received: from [10.10.57.111] (vpn-57-111.rdu2.redhat.com [10.10.57.111]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1QJW5E8018026 for ; Fri, 26 Feb 2016 14:32:06 -0500 Message-ID: <56D0A836.2060801@redhat.com> Date: Fri, 26 Feb 2016 14:32:06 -0500 From: Dave Brolley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: PCP Mailing List Subject: PCP Updates: brolley: multi-archive contexts in libpcp Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: PCP Updates: brolley: multi-archive contexts in libpcp Content-Transfer-Encoding: 7bit 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: 1456515128 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is it! My multi-archive context branch has now been pushed to the mainline. Still to come are the man/book updates and the status of a couple of tools with respect to how they should interact wiith multi-archive contexts is still undecided (pmloglabel, pmlogcheck, pmdumplog). The behaviour of single-archive contexts remains unchanged. Dave --------------------------------------------- Changes committed to git://git.pcp.io/pcp.git master Dave Brolley (61): libcpp: __pmAddOptArchive(), __pmAddOptArchiveList() Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE. Update qa test 728: Multiple archives no longer an error. context.c: rename archctl to acp for consistency with other libpcp code. __pmBoundaryOptions(): Handle multiple archives in a single context. Fix off-by-oine error in __pmBoundaryOptions(). libcpp: __pmAddOptArchive(), __pmAddOptArchiveList() Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE. Update qa test 728: Multiple archives no longer an error. context.c: rename archctl to acp for consistency with other libpcp code. __pmBoundaryOptions(): Handle multiple archives in a single context. Fix off-by-oine error in __pmBoundaryOptions(). Basic read forward through multiple archives. libcpp: __pmAddOptArchive(), __pmAddOptArchiveList() Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE. Update qa test 728: Multiple archives no longer an error. context.c: rename archctl to acp for consistency with other libpcp code. __pmBoundaryOptions(): Handle multiple archives in a single context. Fix off-by-oine error in __pmBoundaryOptions(). libcpp: __pmAddOptArchive(), __pmAddOptArchiveList() Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE. __pmBoundaryOptions(): Handle multiple archives in a single context. Basic read forward through multiple archives. Fix typos in comments. qa fallout from initial multi-archive changes More qa fallout from multi-archive work. Multi-archive: Don't reset c_origin and c_mode when switching to the next archive. Fix memory leak in __pmAddOptArchiveFolio(). Initial implementation of reading multiple archives in reverse. Change multi-archive delimeter to ':' from ','. __pmAddOptArchive(), __pmAdOptArchiveList(): Allow directories to be specified. Reading multiple archives in reverse: Fix expected output of qa tests 722 and 728 after latest upstream merge. Factor out code from pmlogextract for creating records. Use a single c_archctl->ac_log pointer for multi-archive contexts. Generate MARK records at multi-archive boundaries. No need for a separate mark record done flag for each multi-arch ctl. Generate MARK records between archives in INTERP mode. __pmBoundaryOptions(): Streamline determination of boundares. __pmBoundaryOptions(): Preserve the initial state of the context. Fix context->c_lock imbalances. qa test 443: Multiple archives are now supported. Handle virtual MARK records in INTERP mode. pmNetContext(3): Detect duplicate archives for multi-archive contexts. Fix bug in interp mode record caching. Multi-archive contexts: support for directories Revert creation of __pmLogCreateMark() function. multi-archive: Check for temporal overlap between archives when switching. Multi-archive Contexts: Use a single PMNS tree for all archives. Handle directories of archives within pmNewContext(3). Clean up error handling in initarchive(). Clean up error path for failure to change archives (multi-archive). Leave multi-archive in a consistent state after detecting temporal overlap. Multi-archive: pmGetArchiveLabel(3) and pmGetArchiveEnd(3). Multi-archive: Share hash tables among archives. Time index positioning for multi-archive contexts. Multgi-archive contexts. Check the archive labels for consistency. Multi-archive contexts: Check PMNS meta data for conflicts. Implement the libpcp feature string "multi_archive_contexts". Fix order of freeing resources upon error in initarchive(). New qa tests for multi-archive contexts. Frank Ch. Eigler (1): Improve archive name suffixing to allow archive directories. qa/006.out | 14 qa/1036 | 77 qa/1036.out | 76 qa/1037 | 77 qa/1037.out | 835 +++++++++ qa/1038 | 78 qa/1038.out | 2866 ++++++++++++++++++++++++++++++++ qa/443.out | 2 qa/722 | 2 qa/722.out | 8 qa/728.out | 160 - qa/809 | 77 qa/809.out | 67 qa/810 | 77 qa/810.out | 1921 +++++++++++++++++++++ qa/814 | 77 qa/814.out | 835 +++++++++ qa/817 | 77 qa/817.out | 667 +++++++ qa/818 | 78 qa/818.out | 2911 +++++++++++++++++++++++++++++++++ qa/887 | 77 qa/887.out | 1840 ++++++++++++++++++++ qa/970 | 77 qa/970.out | 58 qa/998.out | 8 qa/archives/multi/20150508.11.44.0 |binary qa/archives/multi/20150508.11.44.index |binary qa/archives/multi/20150508.11.44.meta |binary qa/archives/multi/20150508.11.46.0 |binary qa/archives/multi/20150508.11.46.index |binary qa/archives/multi/20150508.11.46.meta |binary qa/archives/multi/20150508.11.50.0 |binary qa/archives/multi/20150508.11.50.index |binary qa/archives/multi/20150508.11.50.meta |binary qa/archives/multi/20150508.11.57.0 |binary qa/archives/multi/20150508.11.57.index |binary qa/archives/multi/20150508.11.57.meta |binary qa/group | 13 src/include/pcp/impl.h | 134 + src/include/pcp/pmapi.h | 9 src/libpcp/src/config.c | 1 src/libpcp/src/context.c | 1930 +++++++++++++++------ src/libpcp/src/err.c | 16 src/libpcp/src/exports | 8 src/libpcp/src/getopt.c | 1234 +++++++++---- src/libpcp/src/interp.c | 244 +- src/libpcp/src/logmeta.c | 193 +- src/libpcp/src/logutil.c | 1704 ++++++++++++++----- src/pmlogextract/pmlogextract.c | 70 src/pmwebapi/pmgraphite.cxx | 31 51 files changed, 16725 insertions(+), 1904 deletions(-) From bugzilla@redhat.com Fri Feb 26 13:52:43 2016 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 D62E87F52 for ; Fri, 26 Feb 2016 13:52:43 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8995630404E for ; Fri, 26 Feb 2016 11:52:40 -0800 (PST) X-ASG-Debug-ID: 1456516353-04bdf002ee3e3f0001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-68.servers.netregistry.net [202.124.241.68]) by cuda.sgi.com with ESMTP id EmQ4C9Fe6q4iytbF (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 26 Feb 2016 11:52:34 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.68 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aZORA-00016P-CW for ; Sat, 27 Feb 2016 06:52:32 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1QJqJ9N046054 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 26 Feb 2016 14:52:19 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1QJqJHS013172 for ; Fri, 26 Feb 2016 14:52:19 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1QJqJxx013171; Fri, 26 Feb 2016 14:52:19 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1262723] Can't specify multiple archives with Python PMAPI Date: Fri, 26 Feb 2016 19:52:18 +0000 X-ASG-Orig-Subj: [Bug 1262723] Can't specify multiple archives with Python PMAPI Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: brolley@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-68.servers.netregistry.net[202.124.241.68] X-Barracuda-Start-Time: 1456516354 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.157.11:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27372 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1262723 --- Comment #2 from Dave Brolley --- Marko, can you pull from upstream to pick up the latest multi-archive chang= es and retest? --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3DnEDE6Th= lZG&a=3Dcc_unsubscribe= From kenj@internode.on.net Fri Feb 26 14:12:20 2016 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 0B45E7F52 for ; Fri, 26 Feb 2016 14:12:20 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D208E304048 for ; Fri, 26 Feb 2016 12:12:16 -0800 (PST) X-ASG-Debug-ID: 1456517532-04cbb00b713d950001-S8gJnT Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id n0QxsFLXxnF1vcwM for ; Fri, 26 Feb 2016 12:12:13 -0800 (PST) X-Barracuda-Envelope-From: kenj@internode.on.net X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CbCADbsNBWPDJ30XZegzqBP4ZjpCiRNYYNBAICgUVNAQEBAQEBBwEBAQFBQIRBAQEBBAgCGQUuGBcBAwIGAxEEAQEDAiMDAgIZIAoDCQgCBAESCwWIDq9LjmABCgEBARx7iVGHNYE6BZcIAYFEmw+OSYRaKC6ISwEBAQ Received: from ppp118-209-119-50.lns20.mel4.internode.on.net (HELO bozohorize) ([118.209.119.50]) by ipmail04.adl6.internode.on.net with ESMTP; 27 Feb 2016 06:40:58 +1030 From: "Ken McDonell" To: "'Dave Brolley'" , "'PCP Mailing List'" References: <56CCBA62.3050702@redhat.com> In-Reply-To: <56CCBA62.3050702@redhat.com> Subject: RE: [pcp] Multi-archive Contexts Getting Close to Merge Date: Sat, 27 Feb 2016 07:10:48 +1100 X-ASG-Orig-Subj: RE: [pcp] Multi-archive Contexts Getting Close to Merge Message-ID: <001a01d170d1$c8cb7db0$5a627910$@internode.on.net> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQFK1HqbLxipoIl/C5DceElHoM7hyKBL+IJg Content-Language: en-au X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1456517533 X-Barracuda-URL: https://192.48.176.25:443/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.27372 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 Excellent work Dave, I look forward to taking this new functionality = through the QA maze. > -----Original Message----- > From: pcp-bounces@oss.sgi.com [mailto:pcp-bounces@oss.sgi.com] On > Behalf Of Dave Brolley > Sent: Wednesday, 24 February 2016 7:01 AM > To: PCP Mailing List > Subject: [pcp] Multi-archive Contexts Getting Close to Merge >=20 > ... > As discussed on this mailing list, there are some tools for which > older versions will be broken with respect to the handling of time > indices when paired with a multi-archive-enabled version of libpcp. > These tools will still work correctly when a single archive is > specified. The tools in question are pmdumplog(1) and pmlogcheck(1). > It has been suggested that perhaps these tools should be restricted to > working against single archives going forward. I disagree. I believe > that these tools could be updated to work with multi-archive contexts > and I see no reason to penalize the users of these tools if that is > the case. I think there is an argument to say the use cases for pmdumplog and = pmlogcheck (and pmloglabel) are ones where knowing which archive you're = processing is important, so the convenience of the multi-archive = abstraction is less important ... but this is more of a religious issue = than a technical one. > * Whether to use a comma or a colon (or either?) to separate the > names in the list passed to pmNewContext(3). I'd vote for comma, simply to avoid confusion over the host: syntax we = use in some other places. > * Whether to restrict pmdumplog(1) and pmlogcheck(1) to single > archive contexts. I'd be happy to see these restricted in the first instance, and then = revisited once we've shaken the core functionality down. Once again, well done. From kenj@kenj.com.au Sat Feb 27 00:49:37 2016 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 43AF17CA2 for ; Sat, 27 Feb 2016 00:49:37 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 08BF68F8037 for ; Fri, 26 Feb 2016 22:49:33 -0800 (PST) X-ASG-Debug-ID: 1456555767-04cb6c58323e4f0001-S8gJnT Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id uHNnJiS5WnQuUXb2 for ; Fri, 26 Feb 2016 22:49:27 -0800 (PST) X-Barracuda-Envelope-From: kenj@kenj.com.au X-Barracuda-Apparent-Source-IP: 150.101.137.143 Received: from ppp118-209-119-50.lns20.mel4.internode.on.net (HELO kenj) ([118.209.119.50]) by ipmail05.adl6.internode.on.net with ESMTP; 27 Feb 2016 17:19:26 +1030 Received: by kenj (Postfix, from userid 1000) id EEE63A110F; Sat, 27 Feb 2016 17:49:12 +1100 (AEDT) To: pcp@oss.sgi.com Subject: pcp updates: multi-archive qa fixups Cc: , Brolley@kenj.com.au, Dave@kenj.com.au X-ASG-Orig-Subj: pcp updates: multi-archive qa fixups Message-Id: <20160227064912.EEE63A110F@kenj> Date: Sat, 27 Feb 2016 17:49:12 +1100 (AEDT) From: kenj@kenj.com.au (Ken McDonell) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1456555767 X-Barracuda-URL: https://192.48.176.15:443/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.27386 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- These are the only issues I've found to date ... these are all trivial fixes. Changes committed to git://git.pcp.io/kenj/pcp master Ken McDonell (1): qa assorted: timezone grooming for multi-archive tests qa/1036 | 12 ++++++------ qa/1036.out | 12 +++++++++--- qa/817 | 12 ++++++------ qa/817.out | 12 +++++++++--- qa/818 | 12 ++++++------ qa/818.out | 9 ++++++--- qa/887 | 12 ++++++------ qa/887.out | 12 +++++++++--- qa/970 | 14 +++++++------- qa/970.out | 12 +++++++++--- 10 files changed, 73 insertions(+), 46 deletions(-) Details ... commit 78bc3556e48a153a935309482e65856155617364 Author: Ken McDonell Date: Sat Feb 27 17:44:25 2016 +1100 qa assorted: timezone grooming for multi-archive tests Lots of these need -z to work in a timezone different to Dave's timezone. From saldes@diba.cat Sun Feb 28 02:17:34 2016 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 76CA029E05 for ; Sun, 28 Feb 2016 02:17:34 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id E9722304043 for ; Sun, 28 Feb 2016 00:17:30 -0800 (PST) X-ASG-Debug-ID: 1456647441-04bdf002eb6bc20001-S8gJnT Received: from SWCS496.diba.cat (mx6.diba.cat [195.76.107.98]) by cuda.sgi.com with ESMTP id rXiKQA2pu6lFczwQ (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Sun, 28 Feb 2016 00:17:23 -0800 (PST) X-Barracuda-Envelope-From: saldes@diba.cat X-Barracuda-Apparent-Source-IP: 195.76.107.98 Received: from SWCS494.diba.cat (195.76.107.100) by mx6.diba.cat (195.76.107.98) with Microsoft SMTP Server id 14.3.181.6; Sun, 28 Feb 2016 09:17:20 +0100 Received: from SWCS500.corpo.ad.diba.es (192.168.57.224) by mx8.diba.cat (195.76.107.100) with Microsoft SMTP Server (TLS) id 14.3.181.6; Sun, 28 Feb 2016 09:17:20 +0100 Received: from [169.254.123.171] (192.168.32.58) by SWCS500.corpo.ad.diba.es (192.168.57.3) with Microsoft SMTP Server (TLS) id 14.3.266.1; Sun, 28 Feb 2016 09:17:15 +0100 Content-Type: multipart/mixed; boundary="===============1095032800==" MIME-Version: 1.0 Subject: Delivery To: Recipients X-ASG-Orig-Subj: Delivery From: FedEx Express Delivery Service Date: Sun, 28 Feb 2016 09:16:51 +0100 Reply-To: Message-ID: X-Originating-IP: [192.168.32.58] X-Barracuda-Connect: mx6.diba.cat[195.76.107.98] X-Barracuda-Start-Time: 1456647442 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: https://192.48.157.11:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.50 X-Barracuda-Spam-Status: No, SCORE=0.50 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC3_TG321 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.50 BSF_SC3_TG321 Custom Rule TG321 --===============1095032800== Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body See Attached File --===============1095032800== Content-Type: application/pdf; name="DELIVERY DETAILS.pdf" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="DELIVERY DETAILS.pdf" Content-Description: DELIVERY DETAILS.pdf JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDIwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+ Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PC9UeXBlL1BhZ2VzL0NvdW50IDIvS2lkc1sgMyAwIFIgMTIg MCBSXSA+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291 cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUi9GMiA3IDAgUj4+L1hPYmplY3Q8PC9JbWFnZTkgOSAwIFI+ Pi9FeHRHU3RhdGU8PC9HUzEwIDEwIDAgUi9HUzExIDExIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0 L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDU5NS4zMiA4NDEuOTJdIC9D b250ZW50cyA0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNl UkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMD4+DQplbmRvYmoNCjQgMCBvYmoNCjw8L0ZpbHRl ci9GbGF0ZURlY29kZS9MZW5ndGggNDYzOD4+DQpzdHJlYW0NCnicrVxtb9tGEv5uwP9hPxQ9urAZ Lpevh+IAx3baNKmTq+3mg3MfGHFl8cyQKklFEQ73329mlpSWznIZA9cCrUJRw92ZnWeeeWHYi/fs 559f/H7x+pJ5//gHe3l5wTw3DVL2cHx05sduxILUTXwWcd/lLE7xv408Plr+dHzErn6/YEyTwHsJ L2+Pj1684gx+EyTsdnl8xJkH/3ImBHfjkMU8df2I3X4+PvLgQ4xPUx9+OT66d9jJv9jtb8dHV7eG h/ijh/j4kDQaPQRWHCUsSkPX8+kZY4kcn9bfE4UuDxgXkZuEjIfTWxPaU588J4rdVG2FtoFbAB16 np/A3hf3zqXMGuuOAoPsOHVjL9CEw1UU9ucJ95ysPDlLnE32qZRWwaFBMAcLcH3V984FSWu7+vPJ WezI5tQmMzLJTCI3FCOZ1nXF08oMPTcOZowm4B64Hw5nYLVZMv0YIdwgOhiNnaHBeBCQjj9Itsq+ SPZJnpxx7sjKupnUpBDwHN/XH9ObT35dywVI9ZyuqFDbD1bZ3DNqm+Np1YTPqJtzoxRwj3QsZVdv WFezBZ6HuuqyRcfU0WDLusFPDO5oWFn3S5dfi7Yr8Ivqgb3P8MPiMXuQrFtl6qfbrAX74KcHuFWS EJlPGZYLNwxYAGffbljuT1uWR654athA+KT9bdGtGO6GLFA3rF0Va6vmTG7PBSCO/qTetuA9HNyn 6qwSTc7OQ8DYSJM4Z1CjY0cCsFlb1ZkOQmBWsl0jWzrURQ4LLcBkqVOCQRdZfyjrymVw/jv646re PKDFVt3Boh1dkOzuDbs+/CgrGYmqOzDyji5PGDlMYYEhCxLACgBvxOjAYmkT3AyCUpdzzdTKCp/q rMmtyjOhT+K5EaCJJnPOBCZwSYSbek+kPACSoGpQ/awmd2rYgj4oD8tll5EPlS053+Er8rhNe8qK juHhipxsx4oKNCzbDuXRDfCbqu7Q59ApwUoZKyX9Fm5kW/LKdsoY4Go8BYUK/JPV5Uww1wsBPErD gyHuIT61NcvyXObDCvvFNtbAbgS7IHZD/RFz7MCIdSqqjKS8Uou7+mqVZgIajHZJ+pw1GVEk9Vwu xlLWGcInnhZ5ylb1loDzC1gRL20lW2QVmJp02sgsZ4MvLjdECEo4PHA6qg6/iB3SOvtCZytj8jP9 vyinjkIEC0GTBjPg65sQbJARuMDhNJfUwBdDiE1JJkwDehZCUNbk9l5u17cJNKLEjZORKNB3U3zJ FjurLBNacA+4RzSW9YL8TC42TUFmsUs1oQcPBZLikVT7Po3UI4zQYXQhDQFQ1tZVy+AUEQZVuQrG bZdVuToviPAdnKZ1hn9SgRz3ksK2yiUrFJBkbFvYFiVMXhyIGHn2aFVVVeBzgDl8IoyqHtlF1tJC CtlMndIgwPwhEClEOStfN+HAIAMghet4tVjJvzaSbcmdisUKP4H/NMAWavwELmjdshklAlfEo4c9 N9MRRtyAwBnxsdwYyDd+2zzof/qDnvADPw09z8WteR76I9n/7gb/e8n+c3ImnHfXV+z313jh7dvX 764JbV7Rn/+8Yr/eXdOtf1xdTtkEyG4IQSROXHsMERbkAE4vQsN27p3bX9/d3ZzjGq4v2R2u7fr1 7ZVa/s3tufrILt+9fYvfnf/xX6tKTSjjx7Ebi/EanmsqE+T4gO1AsXW5+wzx3jlvKSrahJqwR/DY DWJd6NzSTFgjfFAzH0tR/DWzApcwQY4IALies6TAhBEiiPBEj6Q8VvXWLsnk5gJOYhjqkp5w4ZU9 bQ5M/izS5Ine+1AEROLqq12esXgAkIicRN/upSzxDBeANzt2hR+/rhV4t5MMjntuIFgAGYSwx+3A 4n2QePFUR8Qb2XwpFgCJNT69Ka2MOjCmI76PdQZN9L1zZpVirCz4FM10IduCiNuMCY1hOwxQSSNp eU14CLSKksGeZ9eVRKbNLs4R/m9+ZZ82HXtJ/BrC1CVR2WzZtS8oZBQQyiCMLSh2YSRpSWbWyAmj Id8GUwWA4bHdZtMljCANka9NlDBwL2usD7mUe9zOnXgjkxCc0vHDg/oTv6bd7akqKzDHp/yeDgvk 91vFgSjZRq0A9yPNEgFFXX3aIdWw1q6MGAFBFU/7YUkzSBMa8QFDaDzemAYPd2+sEo21By/8RuI8 Tw2NuOClricmF3ed7dPt0HlrlW7094iI2LcLVYn71HmN4faUfpXYQSY0QcEgJEHqpoHMe+vyTXAQ UkH6IAi4ba3CVo1qscozE/kIi9sjiXaTGYk7YLA3Wte47PQSSxLWompo9D8IiMFocd9zqCJzFp1i wjLa5wdJRA9RqpVVPpTxqAaoiHDLKAHdJ46f5CLbtFIl8+DokCks8IPKFFr4ngCgUmjQVyAwzQYE qqupsxUCbYTznvhu6FvPVjRN6QNIXsNRAMvYzVouCnAUFS1KFVRxLe8adcnK6SMjpwf9RVx/2pwx zAye6rcjKaCeetMgVLJcto+Aj6S1j86d+4b47fXblx9PrI8yubuAIByJ8aNc9oHMmx1KSKuhRtXV LMdyEpVu7TszOjqgSxKNH1e0T0rK9MSJsxBw7CNgeBTztcFoujYYQJroj84D1j6t+zHBQ8ypKqhJ I45WKG3BcbqUayqhNl1f/D2B499htZwV1EzpL+dF1kmWF+066yC9rJf7ghijmg/KwLK5IiNDobYn OlinLRWjyHOq30Iebt2LCaRCjJv6RqZs4FPemkSu8OxYH02XBANICfk3ZfghhgGxoi1iqZN7zqbq GmvSERshTcDR9vUn9ejoWkUZy4MixIK+JmqufzXdf8DwncbflURqShcp6AchIZlj8fF0I1Kkvpto jPDbTuS1qhNTJT9yspa1NdU3Kgafa7wGVrnssZLA6FZm6ghjaXFZNIoeK/MVFZb0uD8kjhiB/wZ8 TzhFBwywLOETU62iEuhe9khthcjZ1lNaiH03BhYVRi63K2E6lRFAVcLpBlDdPCL9pHOXZ7sWEDY4 OfOdBD1wBbtq8cPHE3LhHX5DwAHXVG1WdQTRUVXvo2lAV+MbAb+Lh4q+zaytoNgEoQI4li/0bfTH GrtmGK4JAlqX8OAVLnIAkgmdhiGVizyAMrtOp9FUQIgWsY6mZHrN7KdUOERLU3/6/JaW9yO7wTRk KPMtVlTnax4gP8oIxdhWliWePauajFUQbFsKfWWY1s/nhbGxGBIKzMFHwl5XrerVZNVClUyXEtZ9 6At72BdeZwqjh3j9pLKg20EkbhCSHdIZQ0zDqoD46I9aXt+dtiQmDIVwjUMGmtjvYZiJCUNjnBoZ iepzFaKVEL+suUpiZFt+igMcI5H10Nja2Zdo5F0RRYyRvJfES5Ceg1WXqthhTUsTE/T4AqKlGEu2 r89YhhSpG8ZjKTuFKgnBD/k/0IShqZ72TXXVyXLZda2UoyAe82uE8HW2U6k3NYbwm2KqmCR8jvwg iMEf7KXcxIIWQCC8UZ6nEohcYhKAHkK+FSvfIpc9Ze8bqRZZbBBA+pjzI7soZaZc8EI2XbG0th4S M1JQi1Nb1b2zIMLVSWyttirbAYqqSB08ZNcrUNVzIJRRDKMaz4TePBDOaXBhhjMl0wUdAbloPELZ vi1RtPsSFUYlqnw3qjHPzpfLokRymauAsKlyguGPzuX5K7wCoaySBWi9GRo4BXaIl30TCCIZHZJ2 XVctCY+dW9k0daPu7g1RTGVvftIn0BG66hxjT6ahzU/g8Cf67nuKuFHt8GbnslsCeFAHkQtc9kqW a8pY6YR9qYucqV7SjvXODIS83wOQbtAmAMdS1QwSBde/15XsMkoNE+d8061IIU3R7eAXllzFj/Yp tWcH9NTYEVNCgPEEvnXX1tEjI5sFJwaT6KKf281IzXAc4k5Hcm2NpwGNrA8y4nToIfxoD5pbrnmm RiDaj6R0ioF0c42X1FjQTmME+Wcsy9gT8jwE+ZEUPM5MdWC/7JNAgG27dBPY+UmMsWO8aYK3DkLw DXanyYXgcCOdsco3MiWs0vDn6MDYL0pCN3miA/DOH3z0WFj+3c3lAMrooa+oCvWkyaJ7YgiLouJk MDPD4lk8EXjyfiJ13IC8UU39HaM5yb7euM4AY15XkNgDccDIoBAVDNnHW5oEI8DGPdzIhaKTKOcN jVnKNcaVxHmADUpVElDpsKoJEKI99DW6qYDtQ+bqA/ymwFztIMS96eqZL2LMf7/d+5OeQkdxBmIB QSuuU0UJnKFgnUqNDoDbQviGpDEv5iqz3DPBjR+mmI1ra+u5qfXUcs+EKH4UuDzWZc1Nd3lGmgd8 OeBjMWvKCVN71YF7Rr6XUlV9pP1nAjX3jBiTpphD6oL1vjMOZ32Sig4c8jiw7EAbabaPzh/1GiiB n1mGCYxCL8UO50hd1iyAe8bCFadhm5EY7FZQLjnVsfA5heXQ82cH2zwLKfE9DKXf27LgxnFd6llo kp70LGYmd40RXvUbRjIv6gNvJmzaFu1KtgQqgDsYVdYU/HYKk6jeIdmNNrDE3iAmUQX/QRVsVxkm 65AakYwOh4dyhctIRlUXcCHX3ZQRINZBNpGImdIDt8zz+p5A60+1OTeL1TjB+fem7VhZPCrgpBMN INTSYc9lA0i9T9SXlAUs+qQoK1WNtej6TATxqy/6tHSLmmrtm53UlD+0N8wK4LD1GLttfG5UnRsn jQcp2AOfGWkmeyJ9yBhOZKuiHFZDSixEw8KLjryZ4bgXDhb6Dv2GRgpJVQxtidfBnkqlvqfljCSk JcM/VipSbSsiK9bza6zUJQm9dbHfV4/sOOra9iVwXBLyerNeowiH1gPgETM9I24clR6kpBg89aZR Q/SrlRSYc9TrbhjZpRlLBEKa1y2HhaqpzBklGEEaYlKS6ou4d5abRg3FtasZicZM14uRVo0kzogx cjzOcXp5JAZTLDXqgCNxG8qQWA32x09qHEDzwXVTL2S+aWT/3sC0fwQ4xoe1znTOPaZBmgP9875B CG3Wx6oC49AxHC+fHHYv+XvqYtw4ewxqDL2RrPvRmCh71FB3KdVEhWoQAcFSHdqFLKlZgs2lrBiK Efa1GGeYMEGPx2uZ2ZIJlgQEV8F1MXxPGbmWAeLooZo7PPX2I4isHz20P9YIG76vylIHexv4kp2I GaeMA8hsI39aLfqJhTV4iOiRenvB9o7KdIkM9ud+S8xmLGGkWD4tYy/u3nlTVHm5Y1SxGro9aggf Il6pUnIqn66HKohiIXmRU983hkBQSgwkfVChAEMcEIsqm6afOe/bP1oPANmBKp6sp4rgQKvdRI2T hHNv+EwXymj6Oph2eNXYZgQ8Egtb+dDbtivYPE0duvHokT0SdCsF1KzXQFHa3yMywYyP7JTrwucO gXGq2fdCentRFzPTU+HGkWUklE/XswEGWHUzwow5l8rfnq5qXav+dYHvLtJAiRowZ4VKgCGvBGKm 3odBkzVoQcpUIBxXVJKF4DvdZ0liN/bpLYaZSiy3TCOnHr23OmqzhHE0vMFXgPvk2YnAUjv52ZLh cRCOamrRVExMUzGnEDUF4Pn+7Z1GLiWyb+Hsq/Nq0B6lqVIs7u0lTndBhChavJMu2y1ghDUOeKnt pT+5F/Xn/VRP0bbouZgRfJDl0j61GHtuiHlYgrVuu2qnoS+m0Q6dc7X9SweUcZAuaCYzdYYco6e1 jexU2QE4bI4qUY1Qu16mimRRqq1k1uumsSiM8JxZQ4aIXA4nEod+ZrRmafwliJua1nqY198jU+9/ gfZkSXSC5p1yuc7UcEpK1Ozj4b0nrdEP6Pi+bmfeWzTOY8YBdav3y5tT5cS8No2061LeUcd1WSwU H6JCm12wMYUMID6O5H48OfDYoUGmCL1qjkzlcdi0jWI3nBl/5OZR774kgcik2fABtF8BBpYEe9u/ 2/eno1X/2vuTd+shK8AS5uE5s8YYUOOv4yOKofgP5Fbg6bHLIxamIc1hceGqps6Hn1h1fOTju+mh eqjHXR/ns3GcGV/qFzFbwJNfvP4Mjpyyy5r90/jkASBe/HLDQR0tUjje/60DYUjv+MQgm8fs8+FK BKwLaF55fBTh+9WGC/1v4MIKrglPXQt6Of2FCN92pJtAcKwEP73S/0gJgouRkuTjbZ8PV/DvGOD9 AhIl6cmF/jf/Z0FgddQc7zUnPL/XXK+WGH8L6R38zD0cV8G2eDf+7Q44GcTZb8z6m5vedP8DyF+l xg0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVU eXBlL05hbWUvRjEvQmFzZUZvbnQvVGltZXMjMjBOZXcjMjBSb21hbixJdGFsaWMvRW5jb2Rpbmcv V2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDYgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hh ciAzMi9XaWR0aHMgMzcgMCBSPj4NCmVuZG9iag0KNiAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3Jp cHRvci9Gb250TmFtZS9UaW1lcyMyME5ldyMyMFJvbWFuLEl0YWxpYy9GbGFncyAzMi9JdGFsaWNB bmdsZSAtMTYuNC9Bc2NlbnQgODkxL0Rlc2NlbnQgLTIxNi9DYXBIZWlnaHQgNjk0L0F2Z1dpZHRo IDQwMi9NYXhXaWR0aCAxODMxL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL0xlYWRpbmcgNDIv U3RlbVYgNDAvRm9udEJCb3hbIC00OTggLTIxNiAxMzMzIDY5NF0gPj4NCmVuZG9iag0KNyAwIG9i ag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMi9CYXNlRm9udC9UaW1lcyMy ME5ldyMyMFJvbWFuLEJvbGRJdGFsaWMvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNj cmlwdG9yIDggMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhciAxMjUvV2lkdGhzIDM4IDAgUj4+DQpl bmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvVGltZXMjMjBO ZXcjMjBSb21hbixCb2xkSXRhbGljL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIC0xNi40L0FzY2VudCA4 OTEvRGVzY2VudCAtMjE2L0NhcEhlaWdodCA2NzcvQXZnV2lkdGggNDEyL01heFdpZHRoIDE5NDgv Rm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVhZGluZyA0Mi9TdGVtViA0MS9Gb250QkJveFsg LTU0NyAtMjE2IDE0MDEgNjc3XSA+Pg0KZW5kb2JqDQo5IDAgb2JqDQo8PC9UeXBlL1hPYmplY3Qv U3VidHlwZS9JbWFnZS9XaWR0aCAzNzMvSGVpZ2h0IDEzNS9Db2xvclNwYWNlL0RldmljZVJHQi9C aXRzUGVyQ29tcG9uZW50IDgvRmlsdGVyL0RDVERlY29kZS9JbnRlcnBvbGF0ZSB0cnVlL0xlbmd0 aCA3NTE2Pj4NCnN0cmVhbQ0K/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgK DBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJ CQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAARCACHAXUDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL /8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2Jy ggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo 6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQD BAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom JygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaX mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6 /9oADAMBAAIRAxEAPwDpvslH2Stv7NR9moAxPslH2SoLrxZoVldTW008qzQsVYeUx+YcHnFRf8Jr 4d/5+pf+/Lf4Vr7Cq9VFjsXPslH2Sqf/AAmvh3/n6l/78t/hR/wmvh3/AJ+pf+/Lf4U/q9X+V/cF i59ko+yVT/4TXw7/AM/Uv/flv8KP+E18O/8AP1L/AN+W/wAKPq9X+V/cFi59ko+yVT/4TXw7/wA/ Uv8A35b/AArR0nXNL1uaSKwlaSSJNzZQrxnHepdGpFXcWFiL7JR9krb+zUfZqzEYn2Sj7JW39mo+ zUAYn2Sj7JW39mo+zUAYn2Sj7JW39mo+zUAYn2Sj7JW39mo+zUAYn2Sj7JW39mo+zUAYn2Sj7JW3 9mqO4VLS1knk+WOJSzHGeAMmgDI+yUfZKp/8Jt4d/wCfqX/vw3+FH/Ca+Hf+fqX/AL8t/hW31er/ ACv7h2Ln2Sj7JVeDxhoFxNHBHPK0jnCr5TDn8q1Pt9j/AH2/75Nc9acaDUar5X56GtOhVqK8ItlP 7JR9kq59vsf77f8AfJo+32P99v8Avk1j9bofzr7y/qeI/kf3FP7JR9kq59vsf77f98mj7fY/32/7 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 +00UUAH2mj7TRRQAfaaPtNFFAB9po+00UUAH2mj7TRRQAfaaQ3NFFAETXNQPcUUUAVZJ6pyzUUUA UZZPnooooA//2Q0KZW5kc3RyZWFtDQplbmRvYmoNCjEwIDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0 ZS9CTS9Ob3JtYWwvY2EgMC41MDE5Nj4+DQplbmRvYmoNCjExIDAgb2JqDQo8PC9UeXBlL0V4dEdT dGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFy ZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMiA3IDAgUi9GMyAxNCAwIFIvRjEgNSAwIFI+ Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAg MCA1OTUuMzIgODQxLjkyXSAvQ29udGVudHMgMTMgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1Ry YW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyAxPj4NCmVuZG9i ag0KMTMgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjc0NT4+DQpzdHJlYW0N Cnic5VpLb+M4Er4HyH/gYQ/SzpgRKZKSGo1g8uztnU7S6CTYHXj2oNiKI7QjBbaS7vz7rSrJNmWL kgd73BnErQdZLH714Fek2NFX9vHj0dXZ53MWHB+z0/MzFvBEJWx2eDCSETdMJTyWzAjJBYsS/F1k hwePfz88YBdXZ4xZEkQjQWBv6GdiFgeGy5jJRPAgYkJx5e4um+6nd4cHR5eSwZAqZnePhweCBfC/ YCuZMU8ku3s+PAi4NBGOVl98OjwYe5e+8rLpha+9n8wfJd55Ns/fMn+kvAW8eWdfy2UFL2LvzB9p ryyqdFKxr3idLXzjLaFRWXzA9tT9yq87cub/h9398/Dg4q5D99DSfaWtNDEXoa3u2DttpOUoevZU sX/l86WPavRJVx3SQxXwSLel2ypaRohisKFiMtA8HDKC7hiqkZLU9rBhH3ufYTLX5/4ooqsT+GM3 j4+IZj7JeiEzHSMJGfLY2EPBpOC/PjlRl5zQ8FDZcuo3i9nq6hv5yp0/Cr1s/qFPftwlX0dcyi09 +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 BoE6CwIt4N/keKThXkv408cKL4PjUYJNFFxHTVN8LY5HEp6fmuNRiO0MNQ/C9SW2otsTulVxfavM cUjyark4LLXCP133UmbdQ8V166hubcs7axQ6rRWhV3SP7+pntlKreZzR43qazThnx3vteEMawQp6 gyHkr8LpXYLKi1brfkoWygjPZ/bf+nf5B4wMZBAKNqr0oRI3Ww4CswPfMV0OAuu8cOkwhgICXDSb Ae0CMrJ0H5Zg7W+JcqoqE4PHV5ifZZeqbeVkkqzTbodyVwsgFZx9wlSS+ZBUykWdTZ3HkbgcWUKb +aV4RvKMoVrgVfG6TYq6z28EMuq2uP7D13j3MxcZS/puIeJhUOMR93xjIZLtL10cVpV4fmWcwNWI FZBqhfbSORbeV2mR4inRDB72zEF2fkMAvD1pDeq2v4nr0iLmRmzZf3ewrk8NGjmRQLLkmuAlue0U feICL38yNOwNTruY0wkY2Dqjh3fAKIBFkvnZlS+A8hfpDN8gQ24cq6h6Qen6lAEPX4FAW4oOuIcM O9xD0yYMnqNjNTEAV9c3DCs5ERbqLrgeseT5+bKoKx9gCEKK33xhvNk6MlKEDD2Fzgxli4HtatL1 HYTAk1tlqzIEiNnvYwWpwu6d3F2Jzs8f+j4bk/g5m9n7yPPoUrhFCcF11175uuPOVwh1R5GYjb9v NmZ2Zvtfq1wKUg0KZW5kc3RyZWFtDQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3Vi dHlwZS9UeXBlMC9CYXNlRm9udC9UaW1lcyMyME5ldyMyMFJvbWFuLEJvbGRJdGFsaWMvRW5jb2Rp bmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHMgMTUgMCBSL1RvVW5pY29kZSAzOSAwIFI+Pg0K ZW5kb2JqDQoxNSAwIG9iag0KWyAxNiAwIFJdIA0KZW5kb2JqDQoxNiAwIG9iag0KPDwvQmFzZUZv bnQvVGltZXMjMjBOZXcjMjBSb21hbixCb2xkSXRhbGljL1N1YnR5cGUvQ0lERm9udFR5cGUyL1R5 cGUvRm9udC9DSURUb0dJRE1hcC9JZGVudGl0eS9EVyAxMDAwL0NJRFN5c3RlbUluZm8gMTcgMCBS L0ZvbnREZXNjcmlwdG9yIDE4IDAgUi9XIDQxIDAgUj4+DQplbmRvYmoNCjE3IDAgb2JqDQo8PC9P cmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9i ag0KMTggMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvVGltZXMjMjBOZXcj MjBSb21hbixCb2xkSXRhbGljL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIC0xNi40L0FzY2VudCA4OTEv RGVzY2VudCAtMjE2L0NhcEhlaWdodCA2NzcvQXZnV2lkdGggNDEyL01heFdpZHRoIDE5NDgvRm9u dFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVhZGluZyA0Mi9TdGVtViA0MS9Gb250QkJveFsgLTU0 NyAtMjE2IDE0MDEgNjc3XSAvRm9udEZpbGUyIDQwIDAgUj4+DQplbmRvYmoNCjE5IDAgb2JqDQo8 PC9BdXRob3IoZGVsbCkvQ3JlYXRvcij+/wBNAGkAYwByAG8AcwBvAGYAdACuACAATwBmAGYAaQBj AGUAIABXAG8AcgBkACAAMgAwADAANykvQ3JlYXRpb25EYXRlKEQ6MjAxNjAyMjMxNTQ4MzIpIC9N b2REYXRlKEQ6MjAxNjAyMjMxNTQ4MzIpIC9Qcm9kdWNlcij+/wBNAGkAYwByAG8AcwBvAGYAdACu ACAATwBmAGYAaQBjAGUAIABXAG8AcgBkACAAMgAwADAANyk+Pg0KZW5kb2JqDQoyNSAwIG9iag0K PDwvVHlwZS9PYmpTdG0vTiAxNi9GaXJzdCAxMTMvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA1 ODA+Pg0Kc3RyZWFtDQp4nO2UP2sbQRDFe4O/wyuTJrcz+x+MIU0agRGWO+HCOBeRkNhCOYH97fNm 7yQQjo2KkMYqjsdJMzszv7c36uGgCT5CM6JP0IJYArQiBYUXpFzgFTkKvEcufAsoPltOKQ7MqZKh ihqZ5yAuFqhAhIEaqIkFWEadw8VFN7dYh+tu0S3Wdw/dfAXf3mdwl5fnZ4ch8262hICtICAiIaOg sgjPhSjEQ1gjQhLYhhRItS7YAM9Qbx1otBk5IIfjYOyFc3EmzsMWOQdnsIE4WkVwCALOHlgxIESE hJARCkJFdCCIqGQFjhsjYkIkOmIjModEYorkiQ+J/SYCRCpIFdkhCzJZkmMgUWSOk8kUuYIoi6Ao 2YIGFNJNKJy2oFRUR8qohOxRA1GjkntGJQyjYdjJwxGIIxEXzAY+hOJIxRGLY1zDZtao2cPH7Ilm ER/GGT7yE7PRLCRCIUMxG0lRiFHIUQhSSFKIUshSvBnBOOIU8hQCFRIVIhUyFUIVUhVilWCOhVvs jX9p+pfvq+2m7z7/HD58bP6HdGz8t/5r/6SffqxXU2Z8M3N3A0X/yRUca42HvXZQPibo4BofkbC7 6MeEHtOlvtKl23Hr74epLn+wz6tJHqWMUpvwfjTRUcYEXpQmcZSWfoupzs3zuu8Ww2Z7P9xs+v76 8XHo5neb/qG9GpPm1XLq2Trd/3vVPw2z/hk6nXW1/fV7aUtuLCj29e9rvej/JCc5yTuQaUO1fXWL tgkOt9V/k8O1+JaEv8nhAj0/+wOPeuiTDQplbmRzdHJlYW0NCmVuZG9iag0KMzcgMCBvYmoNClsg MjUwXSANCmVuZG9iag0KMzggMCBvYmoNClsgMjUwIDAgMCAwIDUwMCAwIDc3OCAyNzggMzMzIDMz MyAwIDU3MCAyNTAgMzMzIDI1MCAyNzggNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1 MDAgNTAwIDMzMyAwIDAgMCAwIDAgODMyIDY2NyA2NjcgNjY3IDcyMiA2NjcgNjY3IDcyMiA3Nzgg Mzg5IDAgNjY3IDYxMSA4ODkgNzIyIDcyMiA2MTEgMCA2NjcgNTU2IDYxMSA3MjIgNjY3IDg4OSA2 NjcgNjExIDAgMCAwIDAgMCAwIDAgNTAwIDUwMCA0NDQgNTAwIDQ0NCAzMzMgNTAwIDU1NiAyNzgg Mjc4IDUwMCAyNzggNzc4IDU1NiA1MDAgNTAwIDUwMCAzODkgMzg5IDI3OCA1NTYgNDQ0IDY2NyA1 MDAgNDQ0IDAgMzQ4IDAgMzQ4XSANCmVuZG9iag0KMzkgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURl Y29kZS9MZW5ndGggMjkxPj4NCnN0cmVhbQ0KeJx1UU1vhCAQvfMrOG4PG9HVtZsYk103TTz0I7X9 AQqjJalIEA/++8Jgt02TkgB5b95jhpmoqq+1kpZGL2biDVjaSyUMzNNiONAOBqlInFAhud0Qnnxs NYmcuVlnC2Ot+okUBY1eXXC2ZqW7s5g6uCPRsxFgpBro7r1qHG4WrT9hBGUpI2VJBfTuocdWP7Uj 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 DWsEDT6gqT+ED4Hn8Q0oqVqKXqis1Fb4JpQMbRWs7o7q9xElU1vjm5TNHZv0QnmZtkLPtR2jtG2A 0UMdW0CfYvQZViqb2r+yUduAkZWpbYK0Q+6lqH2zO1kftJ3t2N5VK2XChlsxEvcFa4FtD7iGu8y2 CedUVzP0VhzVd+hH2yTtU9sUG79LqZ5tV11Xulqp7+0SbZucBV022zU1uUuTt9ARHdLSUMfOLh9t XdchWWOj+xJrNby9b5l4jfpV+SqTmY1ZWeyA/7fdpK2WDnTc1nPtF6hs9kusr1Xa1xgp1GMEPV4j tWqF77gLDW/WtviuWrPdpZ3nla3adt81JU/b6bup7NIKfLeV3dpe312lSCvp5JVS9rRKq+yMV/Zp NZ1LlTqttjNZadTM0P8BrbkzFflbO1cqBzWxM0OxaLbOTItR0zrXKw7Np/crHu1Q50bFr/V2blYO a8c6typHtYHOPOW4NqSPKye0U527lJPamc7dymntrM+njGpDnUXKeW2is1S5oE12VimXtKnOfcq0 drWzTpnRrnU2Kte1m50HlFva7c6Dyrx2t9Oi3HPznQ6rwR3f6bFPd/igh1TMVtXKLneqrlgF98pO vzXJndF5GHkyddW63L2+86gy797Yedya5t7cecKa7t7aeVLxuPM6T1tXu3f5iHjWVQgvjbmsc9S6 1r1bH7FmuYv0EfuMl+/MsF/3xgdG7be8SwPn7fPe5MAF+z1vauCSw+BdGZh2CN6MwIwjyZsZuK4c 9q4P3HIs924MzDvSvJsD9xzp3q3dBszXU7rXsdqb50t0rPXu8q0IriIsV5zXfFscWXS8O7K9u31b YGPper0jxzXuF9jKoY3OzsiTi1HWZlnuLQK9w1XYdRteNLtbsKjeUv2iI99bFbjgKPTug1TF3jpI VU55SjPUtzuqvY3dSQ6j90D38mgvKrfSuSloS45670HY2xilpVJq20ins+0481cGr0UfdDRRO4e9 wc4dLYzuozTmF+oN7gRtj9GUj9HRxjyzwLzxVUo7FEo7VOYBkpin1Rh9mdk/1kLdaUq8mtGd7vB6 HfqsNcfr6V4NGeD3HAGvXx9z9HgPd6919HmPdmc5+r3Hu7PFs94T3Tm2Vc6p7lzHIG0RPCoduWbX cOAwNDzVvcO+mY4O2yST0EFHk32996SPWHPcVZ0XrLnufbB8i7vOd826g44CpDd2XrLmuw90TlsL 3Qc7Z6zFbkvndYwjR+ctZdrt6Zy3lrv9utda7T7cec9qdB/1G6z17uN+wdrkPuFPsra4T/qXW664 T/uXW9vco/40q+I+70+3qu4L/tVWr/uSf601QNdp9OrPsva4p/3Z1j73jD/H2u++7s+1Drpv+Xco o5FrvnXYPQ/LHHHfw4jG1V8oJXsMuKZ6BN8pevUXWxVPkr/cOuZZ7q+2jnvS/EbrRU96Z7z1sme1 v956xbPW36Ts9mT5W5Az299mnfXk+BVrNrvmeHL9qvWGZ4ffa53z5PsDyF/o77HeUVf6+2zEU+zv D13jPOX+QaWU0Ymeav+wEu8x+hVl2lPvH0GpJv+YNdfT4h+3LfO0+S9CBsV/2ZbiUfVBcPb6r1iG nVP+WdsKXG+IU54A6FXsusbT45+zrfP0+e/YNnj6u4g13zPYFUd9KXpwi2e4K9G23TPStcy20zPW lYJWjHetsBV4LkL+XM/lrlW2vZ4rXWtsJZ7ZrnW2Ss8N/5wln3Gr8cx1bbDVeu50bbKZQW+xNXeQ ru221o64rp02sSOxq8Bm61jWtdemdaR0ldh8HSu6Km2HOlbBi+7uWIPxWII5opfOEV3HbLc79uo7 bHfZaryyo6RrwM47J7qGGH2KpnedscfTtZB9KV0v2ZMxF5y1zDpbuybonqJrEiv21q4pRl9l6dcY fZOl3xaxNui6a0+lWqJzUIC3r8QKqtUe31HpS7FndNT4FXtmR62eb19P1wnSPjpG7Bvp2kCs6TAH 4iHDzcBS+2aWvrWjOZTOQ86bXc2U1ttoHqw3sDYIJMvX6JwlHaT+x54HPoNYCVR2menaIJBK6cBK +y6UnaLrz0CGclzlA5n23R2g7UUdYiCTpa8X7yJ9I6W/sVy+BnqzdAIzeIu9tMMW2CoVMbqK0nSX FMiDDc8Fdtn3Ub9kr6N+ia46umxSaofm20npwG5KB4oYXUpp/Ya9saMVK3a62p+FTkCzUT9rYT6H ranm0Be+LjPd0QSqKB3Yx+g6+4GOQ7piP9jRi5XJsY5jgUbbCnVl4IC8qmMA6ZaOIbqWZrSD0nZP x6HAQZofebbT/Zrd33FKv0P9la/SfljNCFgoHXDYj4L2sD3dCKM3YyVjC/ilzR10Zqf0YUbvZPRR SvuL7fs6zqKW45B/DDYwEDhOd1tYh+ymaxj7iY4J7KqwKwyckLZ2TPoqsR6Y0gP2k+q0X0BZSp9W /X5BFumaAesErBnsjWzNf0c93jlKZzesvYfpGobSgZOM1piFnEZbrup37KMd19h6A2sMesWser7j pl9xjCvT3eXWJu8l/aJtjfd054xj2Dvane8Y8Z7vLnSMeS90FyuWjnX+eltvx4auGsdF73R3teOy d6bb6Ljivd5d75j13upush/2zne3BHfHjhvee91tdI/ZrdA5t1t1zOmGbm9obxvc1bL97Nv2qrPB /anjji4s2qWyudtJ9KTugDNOX97d40zU07r7nMv09O5+Z4q+Wh93rtDXYrZifJyr9KyuFOcaPbub 1jXRdYzVOxK9j6a7Zt8WuhLuZpJ0jwRXv/cl6R6jMnTdDnpFtkeepbtjlII8vi10z47VxYSa6iNB j8R26yN07ui6TecO/1qa0j1OV4zdw851zsnui0FubN894tyg53RftvYp04HN9C++2PcoSNT3KHj2 PQpDbFVsM4ll36BIY9+geI59g2JVrC/2EHk+9tux3ycb2PclPsq+L7Er/pPxu0lB/G/jf0eK2Ncw XgH395NV5CVCyFbyOZJKSsnXSRZpRyggNmInnyYB0k32kB6Ez5A+cpzsJa+RIZQ8Q14nf0umyVvk S+TfyHXSQG6TBfJVjufWkG9xImchxzmNe538gPsld5X8jr/B/5b8MWZ1zPvIQkxOzDYuJmZXzB7u sZiamC9yT8Y0xnyL+y8xvTFHuHfFHI+5wr07Zibm37jCmN/E/IbbG3Mj5vfcZ2P+tyGTqzA8b3iJ cxk+atjKHTZ8zPBtrifu23F9fGzc9+IG+cfjfhR3in8q7sdxE/wzca/H3eTfF/eHJYT/2JKYJWn8 J5c8tySb/3x8VvyL/DfiN8a/xH8zfib+33npMfLYWt6VYE+w8yOEQ8ur6V/vE/pX78SYBWQDOUAu STVmG3OMucYdxnxjobHYWG6sNhqN9cYmY4uxzagYVcReY8DYY+wz9hsHjcPGEWMb/RYE6zcS+/nY zxM+1hhrJPT/3CzjM/lM9OxGfiPh+Gw+m/D8R/iPkBh+C/9RYuC389tJHP8y/zJZwn+a/zSJ5/fw e8lj/Cv8K+RxvpQvo29c8lUkiX+Vf5U8yX+Z/zJ4NvCN5B3svPYpaLSXpMT8Pub39J0aMkmmWMuW 0S8u1GqktFar9dUequ2tPVY7UDtUe6r2TO3Z2onaydqp2qu112pvArdr75p4U7xpqSnZlGpaacow ZZrWmzaaNpu2mvJMu0y7TUWmUlOVaZ+pztRoOmA6aLKYHCaPyW86bDpqOm46YTppOo0y98PWUCgK hQORcDgURkGPotx54ILpEis1bZoBrptumeZN9+oMpgN1Ql1S3fK6NPq39oaf0v/o8oAl0y8VZxEj 7DKbfAVWvYVZ8idgwcfJy7Dh18hOWPDr5JPkGsIupqNPGT5u+ATJN7xseJl82vApw6fIbsPfGArI HsNuw27yGUORoYjsNZQYSshnDaWGUlJkeNWwj3zO8HVDC3nF0GpoxYjgiA9jhWo5ncRCy6eBUeA8 cAG4RDbVjtWO116svVx7pXa29kbtXO0dEzHFmRJNy0wpphWmVaY1pnWmDaZNpi2m7aadpgLTXtAl pkpTjanWZDY1m1pNoslm0kw+0yFTr+mYacA0ZDplOmM6a5owTZqmTFdN10w3TbdNd+v4uvi6pXXJ dal1K+syoCMu1h2rs6+OCA9o6ysIWeRnCC+SXyNswLh+i3yQzCJsNNQb6smHDPsN+0m2QTSI5MOE S1QTj4JLIllDlhDirARqCFeHUeKsBcyM5rTamFRnibaXoVIrcdZolZF7SlPUajVOs1bLnjdrWENo zQ/kDcei1sqeh+9pPhrTNAr6nILyCsc2TYykU5oinE75hJ+FoWk2hnC5sFw0pqDPfKjTF2oPrf8Q 4l7w6n0Iv2iZFiMsTxiPKvswHNM0Jj+VIZwWlovKcUrzReSmugk/i8YA9B6NcBsWg8pGedD4TEhH Q7incViH9J7WFe6nsC5o34b1GpbnUCim6eH80eXOaocifUzz+ULxUEgGKsuE1sviSe0Y40fLhuNw 3bRcuL9oHJY93JahEJ9w/t6otkS3cUobcF7VhpzXtFMROQ8tastiWcPxYt41Ufdnou6pnqhM4Xgg 6v6mdiZiL9G2GG5H2AZua2edd7WJCM9wXPKQ9lOeD5Mp+j48DsN9i7pcLcG0xXEkD8qqvDapFrnX q6XujRF9+f6M+Myf+Xxxvofp/U/Errao+4FFel+siz8Vn3nwnrb7kXHN/Tiaj0sJ6uk/ilmfhcdA dBzWQ7gdi+RU47Wp8FhTl2pX1WTtGqNDMeu7sE1RGVO1m5E8K7XbtP/UDO1u2A+rmW5eXe+Oj+gs XBb36kb3UnWzO5mmqVvdqSx/nnulusudoe52Zz4wzmGHapV7s7rPvfUB/4JYrXPnqY3uXeoB9271 oLuIPaP5Le5SClfAU+jq8RSrDneVq89T7ur3VLsGPUbqE13DnnrXiKfJNeZpcY172lwXPYrrskel MrquwGeG55XovsQYZjaxuG9m3aURu79xv47I8zmP13XHE4j4nYfZrPkhtvaIvnqbv1r8PKQjjXh6 tDhPX9gGtURPv7bMM6ileIbDuorIULLID4XsRvW49z10foq6V/3uOvWwu1E96j6gHncfVE+4LdHz lHrS7VBPuz3qqNv/AK/QfKaedx+Ont/UC+6jkTk/au5VL7mPs3jafUKdcZ9Ur7tPR+bhKKi33KMM 8+7z6j33BZrmMrgvMQjuaRpHz6WuJPeMa7n7evQc7kpz34rwDLXZle6eD4PpBbK5Vrvv0fbSNrrW egzhdYMryyMw3uEy2Z4kV45nuSvXk+ba4Ul35XtWuwo9a13FnixXuSfbVe3JcRk9ua56z463+cLF c194Llnshx8VL7avkkVxtM9TH2Jvj5qLFs9JsFdWPjxOwmM+en0Rmk9ZvqixHJkzqE5DMZtXaBwe N5WPiP+Er33keKP9WrJoHC2e/8LrEdy7vA/GkXnf9vZ2ROJH9cdieRf1S2SuDM+ri/sv2reH5+no ODy2Ku+vn5i+o9ePUbGryZNPoa3wjND5OLIGD/uSMF9AW+UZe2D8Rq+NQ2Mvsi4OyaKt8Yxr6zwX tQ2ey5GxTtM3ea7QsRcur23xzGrbPTceuu4O17/TM/fAGnuRbwr7oQgPqk863sO+C2l0lx37g9gf EhK/h30ldC6efpmNJ8/9Pz7h+BZZYCcZr7CTjL+NmYn5DaeyMwwPO8M4xM4wJtgZxq/YGcav4769 JJvfwk4mJtnJxCV2MjHNTiau0ZOJGLp/P0yO3t+/V8yS7RWzpZdLr5TOlt4onSu9U0bK4soSy5aV pZStKFtVtqZsHbChbFPZlrLtZTvLCsr2lpWUVVbcKKstM5c1l7WWiWW2irmKOxV3ynorSdlA2VDZ qcq4srNlE2WTZVNlV8uuld0su112t5wvO8XCVYQ1LGxngd6dYqA0QPfisV9j37R8cHfZCJ1/lXwN +8pjCB9iO81s8nMygb3kBYSXuH/mxsjmmIKYPSSHngmhJEcKSXFUe9NJekV6xeqKtRVZFdkVORW5 FTsq8isKK4oryhFXVxgR6iuaKlqAtgqlQq3wgqoG6LW6IoBc+RVNTEZqLU+xtwwJyUDgyGoEHrvZ NSSGZCIYyFryPHbwL5D12OG+SDaSxyDTVvI4yUVYSrYjPEHyEJLYf7V5kv3Pm2XkUySfJMOqCsly 9k3pVFKP8AxpRkgjBxCeJWcRVqDtvyDv5JZyS2GhXFxu3I77bW0fjXm6fbT9fPuF9kvt0+0z7dfb b7XPt9/D5lsQk8TlYpqYLq4W14pZ5nQx+1tpYo6YK+4Q88VCsRihUCzfr4rVolGsF5tw1yK2iYpY /tUMURW94FKPJwGxR+wT+8VB1DMqDrdPM67ZyH0/jInloVAfCkokpRw8gmFcHEHJi2K5VMt4peF+ Fpx34G6aYRqys4BnaawWGii3FjEL8uRDikviZbSgX7xiDrRfF6vb5/dniTfaL4jFFOIc+BaKdySC fHPtl6Q4KRESl0MbLREsBz+KNKSvFb0M4L4/SVoGLdWjRiMDaqOQUqQV0irKN1wL5RgBlQGQ1iC+ JRqldeiNebE+DGmDtAmSN0HvhWKWtMWcJW1vPy/tlApY/YC0t+E0rf+BugGpRKpEf/XQ1ko1jAqD tp+WRq72Uek2k+1teFi6dFu6a057QP4osGfzYouFt8RblprTwhJG42HpNM2SbEmNlj4MpK9smKe9 HASVQ05CS9Pky6yV5vZ5qVlqFftwFaXmhhmm4UuSDT3UJ2nfSpN80qH261IvNNgC6QxIPSYWSuvE 5dKAmCYNSafEy1/NkM6Y0+VqMV862zhjTpcmpMn2C9IU8l5F2rWmOOkmuM6Il+U5+Y5ClDglUVmm pCgrlFXKGjlJWSfOtl9XNtCeRA2FyiYpkaIpriFTbAqWoM+ULcp2ajsRjYa1F+rtiFbCdhXSgrLT HFAKLPHUQpS9kiinKSVyErPV5ZYqVoL2crNYaLknNcsGqbm9UeyTBTlJXs5CmpxuuWC5IKc1YpS3 idDrblhyvbwaumjZnyavlfbKWTJqknPkXMgzKhrkHXI+QqFcjHLlcrVslOv3C/vV/Wr7jNwkoxRy t6E2RVbFcdkrB6D94/uz5B45H1qHfUKKGdTct39cKoBcZ8UWuV8elIflEcm2v1oek8elVvmifFm+ 0j5qyRDnxGJmCZn7cyzrLRsxAgstSy2bLVsteZZdiHc3DYT11ZS4P9tSZCmlrW+fgUTXg6On/ZYl NRijhfsa5i11lkamV/SJmAseBywHLRZzFoPD4mlKtPjh59oiQN9I2xtOWg7vH7YcbWh8mwWnw7dR oG8sxy0nGA5YTrLxtzY4DsM0HY8N86jntGV0f3XjLct59MAlyzTqnAn3KzxqAC3m6ai0XIed58JX UlBrp/4jRxy03LLM729DG3qQVgh/C1+rVCo1Sq1ilmflG7KqNMP7XVBaRcGc3hQnr5WrYQlZ+1UF /QxZvXI588WDik3R9vcrPnm12AKLb5Zz92dJvcoheJ9epVc5Jge+mrG/SRlAHxul3v3VyhDCKeWM gjGhTDTsQ55JZUoJzr4SZrGV/7+veNCSKmJk58v0f6+TPbsJt+cCSd6Tv2d8TyFCMUI5QjWCEaEe oQmhBaENQUFQ91zc40UI7Lm8pwehD6EfYRBhGGFkD/21h4/9ZuxB1BFLtpGPQWcfJ5/ACuBlzONx 5G+gmQTo8HPkHYRLbEt0MInY70JfPka4plLEA4irYlK/3NtU9OVjwAAwBJwCzgBngQlgEpgCrgLX gJvAbeBuU1E9D8QDS4FkIBVYCWQAmcB6YCOwGdgK5AG7gN1AEVAKVAH7gDqgETgAHAQsgAPwAH7g MHAUOA6cAE4Cp4FR4HyIvgBcAqZD7TkVJSuVayYkB8V14FaIpjLNh2S611TUYAAEIAlYDqQFZWlI D8njiSp/8kE0rAbWAllANpAD5AI7gPygLOx5YUhm6KehOChrQ3lIZkpXA8ZgPawP7t4Ha0sIDfVA E9AS7IOGtqC+adyghOSkdaiAN6hL2rdU75Qv67fjQX01BEJxD9AH9Af10zAYjKl9NAwH+VIZqb7C slLbaBgBxoDx0P3FoP6p7mjccBm4AswGbabhRiieC8l+J2hDZhKK40LtPBmMzYnBtpmXhWwK/W1O AVYAq4I2al4TbIN5XTCmfUtlNG8IxZuiZA/rYXEMuzdvCcbUNs3bgZ1AAbAXKAEqg/1jrgmOD3Nt sH5mvweC7ad2HG6/2Qw0/x/2vgesquvKd+99/nBFYgwlxvKMwxBriGMJIuLlgojARUQCV+I4VhnE C6UGhaGOZeDCUOs4jmGsMY4hhFLqWMdSSo211PFZY61jbGKJcaj1WeKjjnVSx2b8jJ9jrbX61vqd A/dc1DQhmWm/9/Xb3157n7XWXnutvddee59zz73Xmj/oyOV6e+10WfbXNVPeYvu30+6W4HVdu42f avu+2/YjvwM3vLR56nZQv7Te6zjvturw/36rrONxozmuO2xfH7OvaVzq+hx45iPfqRuwr9n+Cw4+ G+/0ER5HjH+TXV6y8bdDr7n9IL6OYk3dddtP19i+32qPnb0WWL8QvH1dr4L4Ibt/S+kcc4y1PU6/ rRyaA0dZT3GxYbU1dw0094FGS5+GJkt+w3pbT57/PMvf68kH6rmMsXD1FEfraQ7rE601V++24kZ9 uuU79TTG9XlWvK4nP6+nuFpfbPsdjVm9v3EontaTX9dX2/54wu6bxrSeYm79Wmu+6omvgdZRA/ln PcXf+q22L7JOrY1D8b2eYkg9xeP6ruA6rKcYUr/P8osGWnv1NH4NtOYaaL010FpqoDXUQGuogdZQ A62hBlpDDbSGGmj9NIy3Y6LnHmuR/KqhedgcT7H643jSsMXug8e5Pdiugea0oTO4/hp2WzY29AR9 s8He73gsG/j6mDVuDb3D+rviWKeD5TBfwdiQ/Q3kvw1nrNgRoH2jgdZCA9twKThWDVeGrQ+7L/hP tbX/DO1TPC9HGof2zXpaz/U0f/Wn7JLWbj3td/W0t9W/Y8f8bMvmetqf6mlfq79tx7Emax3xnhHQ Lb8YzCwvEG7nsVb7wDjLBtYtQHtfIM46K3AsDMRbJcaCcoD2uwDNX4D2uwDtd7ynYC+kHMi3yyJr jALkw4ESWy7teQHaPwI11prnPQT7eLWVA7XW3sXrB/vTLbsP2u8CtMcF2F7y4QDz0P4W2O5oQ/tY gPaxAO1jAdrDArR3BUh+gPaowElrn+I4HzgdjIVsH2LVbmsNDpU9dsw5YM3Dby2de07ysFg4uG/G WWuXY7dz70H/jjJw9h74wZhIZeC8tU4CF4N70FA5uA9RGbgceo2SfXHTPUrHvn3P0hFr0e8t204b j7PhCbvsuMf6oTJwrTFk/8PZzlEGblplg3Dgo609YXC93VUOX5eOssE+TzTwOYJia0OkVSJmD98z E239B8vB2J5uxavBtTxU0pw0TLTbHrHXoN9aa7wucebl+Hrd0pPXJOcGGq9GGqNGl+VjjWPsuYm2 7SXZjVGWDzZGWzIbY6x9AuNqr73Gybb9p6x5aJxqzQvHd17rrAfPW2OivfbybJ1Ynrvx7nO3LXtw HcOmE5Z8Xt+cORY1plvnII5DjWRzY54Vr7D2L1rjwn3zOzz4nyjx/9OTbVkhj+Pp51WRQrdgt4Uo PCJEHt1n5YVTHkt5HOUJlGMpx1GOp5xkX3soZ1DOoZxv44ooL3bkEsrlNm8l5RobX0u5kfI6yhsp b6a+T1A+Nazst8v7ZdLZR/r6wq0Mudvsso1wg7rHQveUeQcKzs87PO/YvN55ffPOzBuYd2HepXlX 5l2n61vzbuWpPFfemLwopOi8mLzJeVPzEqnuzkvPy87Ly/PNW18oCm4WCirNecmU1lMtEnAK4RMK E/IW5RWTFH9hQWFuYWZhGvnL2LvfJMV/mun4N7OH8a9l4/CvZR/H/5VNwD+VPYp3SGPwDukn8e9k 0/C/ZEn4R7IZ+EeyZPwXmft/pA8pTVkEb9krniBviaE82c5TKSfapTO7bbrbwZvuqA/P2ZTzKPts vuG8jF9k91VM2U95BeXqYbxWf0/knsg9ldufey737dx37HQV8Ablt3NvD2HfmafPC583lspxdEX4 eWPnTSBM7Lxwan0uyMdPIvAWsMD/0Vn/RGfgLeBwvAX8AP6Jbjz+fW4C/nfuUfzjXAz+WS4W/yk3 Gf8jF/fRypJ1whDFFJly/5D/B7MShpqqEmjlJapEqiepTwkTv9cwNXxneJ/4JM3MWJqZzN+5pr8v WQkdv98h5Lvyl0KTv1IPivDwvwn/Ku2rSncJQ4rfuY5/yH/If8i/u6xEgbDO2H6xgs7YfK7+YzpL vywewy8JPU5n6VO0652jNFOcp+QWFyil0Ln658KDXxVKFb+glEZn7Osk6Yb4lUgXv6aUIX5DaQ5+ cygTvzmURScbU2RLlxwlvHK0HC3m4leIcvErRPPkQ/IhkSc/Jj8m5suH5cMiXz4iHxFP4deJCvDr RIXyUfmo8OE3ihbgN4qK5GPyMfG0/IT8hFgoH5ePiz+VT8gnxCI65zeLP8PvFS2WrbJVfEq2yTax RLbLdrFUdsgOUSy3y+3iz+UOuUOUyJ1yp1gmd8ldolR2yk6xXHbJLuGX3bJblMndcrcol3vkHvFp uVfuFRWyR/aIz8h9cp9Ygd9DekZ+V35XVMpX5Ctipfye/J5YJb8vvy+q8DtJ1fJV+ar4C/xaUo18 Xb4uPit/KH8oVss35BviL+Wb8k2xBr+i9Dn8ilItfkXpr+QZeUbUyX7ZL+rxi0oB/KJSA35RqRG/ qPTXo3486seiKVyGzxOfD58fvk68RqfHRD5JDr5vkbVWPFgVWFFUtbZqQ9Umynuqtla1VvqrOqp2 VnU9k/Dpbv5sTbXyP6Sqr6mv0S77TfVNwrysXhZK7VV7haa+o74jdHVMHROG60nXk8J0/cB1QoQR 12vqgtCpL35vRFT5hKo6R5nKrChcS7qWQ6VF0xyZcb6qCVU5VY1Vx1f0VeVXJVXtr4qt6q66WHWt Km5FRdX56gQbf7Eqvmpv1eXqZPBcq04ewnuIwrgMyper00jaoaqb1Zko91fn2lJvVhVZ/VQVkdxD 1QVVi6uOVovqhdTueLVJcuOq4qsjqpdUlRDX/uqElWJly8rVmTG43ltdunJ11cnqyOqKqvKq/Orx 1auo19PVE6snVVVWnWVNV5pVJXSVVFVDLViXWqun4eUzRyz9Vo639RzUb7Ac7N+Wd7/y3uOW2X/f cWusOk/9JQ+N1zprvAb1uXu87HGi8UE7e3yGj8v7Hg9bjyF9B/sblGPbMzReG1f0raioXk3XNdVT SNJmqpWTjdt4JqsjWD5sKqIytno8t6NaflXbZw5VbSfO7StN6ivjvv5k68XnJfVF9QL5/ovqRTEK /78djn/YfoBoYWq7eoVoR9RxMVG9oX4uHtde1l4WmVgLWVgL2aOvjv4vkY/feZNYeXH47994fncv RDZLDcdqe0m9JIT5efPzQprrzfVCmc+azwrN3GJuE7r5osncv3b9mjT5jes3/J9VkM13u0WiCNKf tHF8n5MuVofgovDOV7mN++i04GixDXArwR7aKYZizcpO4XvG/czUeyVPzb3xSG4nn8W5shP5ntLu J2tlMyebarf0bLdpu0HtgeYtI5rVhZSXYDwTbEwmdtHcEFw8lR5KSSHY8RQlJyFNtPGWHgy3B+cB 96rWP8srY5Wxiubh82a70DEDsZiBx/Cv7pMsuXRXpFSySoPMaTZuAuFi+XuXDpyL5n+MmqImObHy Kt053VC5IbgBul+4oIRKCsG+xv+4FILZR3xn5EF5JAS7ne48jlDaJbtD8BvpnqMLabPcFkKpJjlb 5BrasZ3YxSQnIEsorwnBZxDeTylHFofg40h+HqV4ytkhlDFESUCKklOcFHFNmHIcJ3GT4NgQ2hkq b4oBGR+C5f9bvkB77AU5PgTP/8/Mbz7ukSIEv5XuSnsotVK+GELhJwltSE3iRAilRJh4l3Itrd21 oieExv5WLjpCcOxvPkoh4wd/8yANjl+ovymKBi8KgThgremfjcgLuWUf4BtWzxrFJy1TW4deE21c nNC03Vq8Vh2CjRS61kppvLbYiVc3iVtoPdqBECydM7RKdUnr0HaG4HuFoRVpRapP26BtCqHsJSv3 h2qiOkj2JLUzVBO1kWSP0caozcM0qaFVU6tN0XJCsEtotzinSrUoLSEEnykMOg+9pnLVLW18CIXs V/HqvKaHYMl+1arGq1512YmXN0nOWkpC9ajTIZRztFbeVhVqcgj2OMnxyZPKp8aG4PeSHLdyy/2U b4RQWmkVdaiJqkiF2CvXUgtTblCm8qiMEEoFrZV3KK2S76iYYf3nkVbcf3QINon6OCA98oAKsVpO oPVIp24ZS/mdEIoiiktupJhygeoOCq0dk+LEZVlNbY7bK2mQ1ivCZJEsEn0EN9BJvTeEupvWQY9M kivk+hB8C/U1QbTLCaT5qhBKI/XF9y3rCCbLohBaKUmrEG/LaJkWgs+l1XyCdoIT1GZSCCWeVjNH gCSOADJ8iCYpuvA5QdiYwV0pHKtOmF8w/4b24781N9Ae3Gw2C9PcZG4SYeZz5nPCZb5gviBGma3m SyLcbKeVGYHVyGeVcPWPQ7vao7SrnRaT1Rl1XiSoC7TDpWrdWreYjX0uA/vcHOxzmdjn8kYcAe4d Ud6w40owRvwT4JeE1PuNKLp/iBCV4hEhy2qRhV0Oz6Zd6mVnqTwtNKor1BlfY7c7jbph4wbbLiib VHrdv59yXOluSrdKB/zdlGOXeZZ5Sm8Vh5d0FYcXh9tXtcsTKUdbV6XXl/q5nX3VV3qdct/gVUlX ad9gu2Gc79UOtMEeimuX1RbXlnTx1YyjJV3+7pL+5dHlqiyy9Nbytf79lLdbnMujlvqXRy0fc0+t cbVc2T0cJvsO+ycM9udvc2pGtKHeS3uX1Zb2Bq31bwvh3HVfi0KulmeXrafcwlfF8f4k/zbK3dZY l3QtbSWrdlmc73UVOi7Oq7KEoXFxlUeHXg23j/RoLukq60G7ZNZsqb+spXyMTdtyP9p/h4f4N9I4 bPRvLN39EfrEPbzgvvP+XjP9oee2LK2sYPmYssOlvaVNxLmlbGFZS9lCGsGm0s6yiWVLlnaUHSu7 VDZpeczyPKK1l/WWXaGV2MkWkbzasuuWRaFesDx6aWtZn3//4j3Wlb+EMdas+JPKdlDvQ5xlnZRb 7LFOWp4+SJtxlPC7l9X691s9+OP8Jf64pa1D7XqWRy9Pt9vFlXWWnbF6WH6Q1zPZnkRXnWWZZaX+ 7rLSpVeXb1i6qCy3rMK/v2zAti+3bJX/ctmqslulO5Z5/J6y1WUHyi78+cTyqGUeioOj1JcowgnE TmmupTiuKI7/HUXwZordoyh2t4gHEbsfMr9EMfVjiKMPI/a+jzsS123XbZGPeP0UfmklSkRjB7J2 kukjur+hu0PSdC3tOy2knSS9vsQ4yLxC2To9JNmYAbpriBJvh+CO0xmAEX0hWDq9yokhmB0k94yM CMFtpvIopdBe6rDvOzEV1LZdnA7BFVG5kdKRECzvzntDMFOobanYHoIbRyV/v2mTjZU0U2vNDz52 I9sz2xm6fgp4DicCPnHxSbMA+swAbqrg53n8G/JrHdhxlCfgXqDSxg6e7gct+HDngHvv6extlynx Gc7ytmT+ZXu6w+qnJKXLgdVpNm9gVqW46sAr0S3O0VW/UwKd2VpxbjsWImEfpXWUpdgTIqFS8PcB WkMkNItF4iRdrw+RwN9Sy8ATiuoQCXGik64WheCi6F6M77AGcR/MC2jEzM387UAaMfIFxIAH4BFj 4BEPwiPGkkd8WTwEj0iAR0zD2CaOfnf0u2I6vCPpnt6hYa4rHXbPhIUFYiF5Pz+ZWOfAG6R/mqih xCuh0kExyW9iyXJOsYT1DdFGEjc+SqtpDky3mU4S6TxuWk8P3Gy5GWueNuMIt4hyyxBemeEm3e9Q C2UeM5sc/LuNqwbFEpPuUsyKIbzOsc3oN8j7zDGUCxwtGo3DxjEhjWskq9FMcrTxm35jl0HaGP1E 85vRwVZGs5lubCHKIaLkGLcdraYaNeYkg06gBt2rGheGKIYZaUYai8xwoxjf1JTG8WAr47rhMS4b FAWMaoog143dwXakd78x0egzKHYYRUTtN7YGR8IgwYRPotoV43pQQ/2i0a7TejUoVhhnjIFgC/2E forw/L3iZuOQcdRhVY3eo9OK0S9Sm51Gl0O/RcYivU2nGKqfIFoz2z7UyqM36XSHpe/lulFtrHG0 m2hM1P36CqK2EHWiUWQsduiYrd/QKeLodUQTRpLhCbbUL+hx+lk9nqjF1ON4Y2JwRPTXKEXoh/VI omaQRbcM5WjZpV3Wd2jXiBZLfXTpA7pjFvRN+ibtpL5eo71E14m+ieQcC46OtkejqKNdIKnb9X0O fKvWQfhewm/UdwZt0NbqSdoGovQQpUbf4KBU6NEa+bPWRpRF+mqHrHyN7i21tdS7S0/TixxtLmuJ mptotN/psbo7aJV2itJ4jUZBy+fP8fWJjlb71S2NRkBL4Lr2ju4YDa1da1fnFO3YWhRR27WT2ttB TWil89O960Rp0vZqJxwyy1WnIi9UZ2F7j0NinpanNvNzYHWEaE1am6NVvFqtaPdWu7iu+bUmR7tI LVItUuT9qpmokVqO5g+2VG71jqIIoGjvVNe0OC092JJ2rwnqpKKYpXzUY4QW66AdxLMSWgOK1oC6 opkO2nZ5QbXKS0QbT1K3q1P4Dtag7evUOjxx0ai2T/UGdZHdqlTutZ65qBWqXe11yMyXW1S2pFgk j5KMtSoYlQyVoBLkGhUnA0TtJGq5CjhaRspFKpyfXUqyX0WqHFUc1Ea6JVnMzyNUnkOTWHlaUvyT i2BfkDucn1lSCyWPqQkO/t2041L8kxT/7Gcv6Bufh/bz7ks7trSfvVgtGsVhwf5P8U82yj5HG7/0 i12iGzu2oqv9wVaimfrmGEDxT+bIdkerqaJGThIU/wStErkuODoyUkaKRTJcsNUU/+SKYCtxXXjo dJGB3VqJ6zI/2A4nDP5e+SSc+ZTolwk2dWTn3d/tcxY6p6lW9aWP+HmL80nLG/zMXR7Bt/rw2ewn 6oQobEYpuT48F2UO8UgHr8+XUZBcuLbwROFrhfsWHCvcV3jKd963Oe944R7fadQzfNcKN9DV5gWr 5icX3njaU3jDd+3posJTTy8uPJjnyTvu2/xU5dMl85OpdUdebGEHUTPmJz9V6Tv/VGVh/4Lep8sX FDxdQlKu+i4uWDiUSR7nwiOFNzhze+Zz5vvplnf86crhekEO6TSoz6Au99SD7SO5aEc8vgzShXR6 OmdBhe9iUfWCJbiOJP4aKicVJD9d+3T+gi0LSov8IbqQLNwR3v0Z28ahz9gMfMYWbraZbWI05jsC 8z3yTx6tM0oKvOwlkiThK8/fxeEZ4mBv2sqfDsKb9Ls4U0M4N6st9ueIfC/Cn2zwGwCZpLF4jNrY WXPUB7MaRmf+MRPTizIW+ArXWeX8FVaZu8gq864E6RPXLPB5bf57lUzP9cXGTlxTEDW/Iza2KMdZ DvLd51PP+80Iz0XEe35CzM+MHd+fjR2DLO38yKPbfLveT/bV+Db6an2bOT8V69vma3xqI3It5XWE b/S1EW0754KmpzZyG/tz3S+SXs/z57FqG+3Jmn0iH9IW1obD2tGwNgKf8T4Aa8fA2o/B86Jg7cOw axxmNw33RFYWdMU43rHj7TyIW2j7SrSNG4zKI/t8+QjgvxCsoR2ERzadsojpuW+W98BFFHZQ2lk4 ZijzVUehi6CLrsbYddDmHyjsGJG+I/skf/Dz+jr7/msWdtRVdBe3ka7LHVi+M+XnFgVDuJGO6hd5 FZOft93nbQDmeemD3wEisiiyhE8Je20t04Erx+/FdoTgfHQHy3u/E5eGTy9rQ3BxohG+5sRFiWrH SKSPeCS2Do0EX/2DCL7T8ALgiwxpTCx91zv0nW3r2+TQd7atb41DXwvnx1OsgiHcSPXdHKLvc4Bb 3nMWgxEcb2bQqYr2ofc48zxHZx5+Mjkap50HcNp5ECeOsYhvfBcUIRbxJ1aPxt8/5699b7ojR+bW 5Jv5Yn5lvplbM7+SrtLyM+dXzqeSYKVF+xBaj7wlxzM+n+6g3InRmwMcvyfBTztyxTYHNhGrWKMy UTQ58BwJ+fPCaKQKm/LRPSF6HvCb6CkWs4Pfk8idhCy9e7Bnf1l1wJef5PdCFH/yGEH7/mghvBRX Oc9dgpKvZQ5JHiwpK7vuyzmTkzYn0Xvau9d7yNs4d3LO+hyRVZFxzMac9O7ybqOyOyfSwuQMEO6Q t83b7d2Wkev1eGtz0rxHvd0ZyRnJs1blXGBpOReyKrxHcy7NnTo3kTg3z3XnCO/JnOacK9RTd0ZP ZmzObtR35VzPSZib7r3m3Ts3OzuRU86tnIGsCiqveDd6jxNsy5jI8kIg+rUh+oWu3ZZ8q+3d8P1Y Oicx41jOKsvGuepeNlIvsI7tIk7Y5bTovW2xx9MaSci0xwG6WdbNdXlPs6Xe43Pz5o6h8trcKB5X lsNjS3IamTPnytzojIVzY+bGZLNVd1uEHu/7dtgH2glC/SsrWyjO2TdR8rXMOkV5sDwFPJe+7CvZ t7JqZx3KXp+9Jbsua2NWXPbhOX1zTAuTVZl1NquEyqKsHJvnelYlwSbClKRHZjVmjaP227KKwF3k VSzNq+b0ZW2btdebnt1HnDVeX/ZhanXJ68qqzSpKXzj7iHcR6mezW7zZ3uLsnuz1Xv+sa5y8Y7x5 c/q8UUTfnt3udWU3EY7kOaHVr907+rV7h3yr7d3w/ViaVTvHzJ5i2eiNvp+NbB3bRZywK8Si97TF 6sXWATLtVpZusM4bM+sQW0otVngnU9njncrjCjk0tiSnjjm9Lm9iep3XTSmKJN5lkdXjR+Nfoe8a ZqUJX1ZBZPzvcxrRs4lhdmYuFL7ZF2afuVd6aMK98UgXnHwWZ+ZC5HtKu5+szGRONtVu+VC+TVsC aukI7ZyKvdO2c84qETGn7p5p9ZD8UWqH2kHy/0nRuVJ9XX2d/OpltYfuzd5UbwpT9akfkQ4/Vj8m zn7VL8Kpr6t8hpLFcjXuI6L5ZBS1CllS9mWKzPGZ5gfIEZkTPxD/YI58D3n3k/lBdBupXsPbDu/z t8i9z2fHH9QX9ovDwTPM7FLKLcI3yzMr1l3gPkDlOEoelB73Ac/lWUdnLSZKwSwd2LGAnDam13ku c+Iru9xoJ4e09F6HrMW2nLFBGbO3zm6d3TG7FRJKZpWk19l5FefZO2d3zd4ze58Y2SfGUiTY39CA temrKXeKCI9IPjm7Lflk8kl+bdOqe8Ts7Y5eRuz/oTElPVn4UgeSr6a5Ui+lDjxUkVadOsBl8tXU M4xJHUjLZtzMErq6lHom+SrVzqQpopzhlHyVOIkysyRNWQl0W1rqYacsyCbeoIzZ7tnplLIh7VKa Stk6a0LqQMpWlpKmZufN9s1eNHuRGPxs8UPETg/50NimsU2Jexh6Ot0HrZKhlTydnt3Bq/eXBqVx y6CsDyonfY1VjtDOcn6yTnbmiQeFSNktxIPtVvlBMrWJmNmcctrKnFJOp0ZxPXXTR/CMfOTeGhIN 3CeRfZ6TnvOexZ7NnvMpgeRznvOpmZ6jM3I9RSm+6a3TW5MyPEc9m2d2exbP7HYPpKxICaRGes56 2lJ7Oc3InZGb4kvxEf2snRzSPJWpmWlXB2WxHJYSlEEc5z1F1PZkam/ajdRez0XPRs/Z6a10dTvV tKR42hzPSD9E7Jt5HtmXcjaxK/WdlMuJXSnlbj/Bbrc/aYk7kHwo5WzK5elF7k0p3SnXUipTrs28 ktiVNi71FEeNxHOckpYkLUk+RJzXPPZL4E5pKTUOWZchh6QEZaSUJ3a5AyT7bOI5z4BnkucKlZCd NsFzyZLiER+NtcnXkH0pV1Ii3XtTRErkjJPu2pRILqevmnZw2sGUK+7uxPLUpJTcaQfdje7LM5W7 LdWTcitlysxWgpSmr7I4iXeKnZzSbgZlubvpKpelBGXMOJkSSZTL1IZkpWakTPK8nXLF4/KMSc3x KEvKzNYRW3tORsFaPL9MNoUYfc0qh+d74H2e1Z46T5NnvafZs2VaGsHVnpZpB1IyPO2JxZ7mhDbP Dk9nSsb0y57dMzkedU7b7ekhygFO0yglVSRVEHePnRzSqKUtK6mCrkkOS3HI2OKpo5a7ieuA5zDl Y5R7KPd6+jxnLCnT1o/weemH2CvD9yJHTC9/8tzdKemM4wnnSJ60hfaVgxyRuOLJjmBKKbfKxBUf ZV+j+pEj3Dee7A+mhEqrdN/4kH3dkInB53fJ6iPJvnhX4oTphxMnzChK6p9+eEbRjCK+SjoR74p3 BXEWhmsziuLTKbucienJSzg7pSWdCMrimiUlKMNd5F7sLqFUTvQSSvlWTk7j7K4kao275kM9O/wQ pw7XGOHTtv9+J/sJ4ge0806+cYhafhKwR+fPov9OJ//SNoXxp9dfD0vguikZGucJ/saCYQ8RPGrG Mg9T9e8D32DGCGlEM9R2MEb9m76A4NcYatEWNL7AGI161IBXzcD3on5Fn8FUYxngZvRC0sQm/p6e 3M7PwNV4MZ/gRXwmtfXOUsL33s4lztH4Jl7pHZZzCt/WvMIYYwLXtSSGqpM/eVHPMr/4FUuTS++Q nvIB5tRimEd+lr9jqW4ATrzDb+i1cO+qF/2+JJ4nnhnc9o7b6CFo8jtVd7bizao0Hj2xBO/4tFgY 7RbBHGDKLagNgNMEjAd+OloxZh34BZ2eGM/vYCQC36Lz818f5ihNu4q2/JaXD/zl+lxgLCq/g5ao nWI5YXRXfGcNQ5EG2GLwXU6Pwd8fu2JuBob5txs/JHjI+CbgWwRfM14F9f+AH3WTP605CwnVgIfM H/HsmI+B+gxkfoZgl/Ei2lqt2oDhd3EOhU0AZj+oVwC5r00Mb7VhVNfYMI79E3ANzw7BRB5n1PN5 Xu64wbkL0ATMF1HgyQEk/lsZt2uonskzfvs4wztuwLGA0YCTbl9FPQZwB3gIc/sqWg3Y/CxnDTDd 8J+Pq2Pk+e3GSvKxRH5XzugzyvlXrflNLaPOoPVlnLUh4c3nuK7tZKj/b4Pfi5wIzOsMw04zNNcZ BZBwhGAcZEbhLbwevHv4FfA8Z2QTfJAhteL6TIbGW4BfYKi9qn5DcA+dxKW2nvxa6k1GHdUDXNfe ZX30aI0s0i5qEeTPt/n9OJWCt+R+pG3mz9CY3xyjkc/rcQy14/ytNu0E3mQ7wzxaMd54U2i7kjH6 dOB30GqjMWGoP8ZQa0W/o5hqHOC6moy+lmpTCH4Z2i4FnAX4MOA/Av6E9VT/C700MzQ+ZfdFdb0e 2m7muojDZyNR+ORvImAcYCK/66UuyJ8R/Abfu2h/qcgztbm4j/kx4KvAxwCfxHX5MvAH1Xf427Ya QfkWeE4BLlXfIvgE+Kczleq0grQHua6+xXj1VXDWq33AMM8NSPslJP8D3jc7Jum+jxyG36u6AXhU XuO6ohUtS/hbv/K6eoLgEX0Kv6ktOarclp+j+gaNLJLZ6gf83UtJ61Ql2vDfATsgjXk+yXh5mPEk 4R1Qz6Bfhj8DjOLftVNC/RHxbEM9UX4ddr2Ftl8D/ito9W3S4Y7kUfp7xW997ZSvI2JQTNbX8IrQ XtVK4F1J8C7yE/VleOBx9p87eINZPXLnBI/YnXd5FhijzeW6/FNQv8dUtRz1b6D+M4sT9XLUH0IM P4FWxwDbb/MnfZeA38acRGXYzlRxA/hicD7I9dv7rBge9icET/Bbd3faAffgDbwWowXRlWNvHaDA 57AtRg7ibTTi9iRAppazNIpvq0EtRdwDBjtsNeAhcwv2jhbsHS3YO1oQt38JeBH7xST0a8E/YvmI 8+tAFeok8BsR569id9iFHrFHgKecdxayyAWLXLDIBT3b0cthwAFIOI62HJfGGmdpFtIB9wGuBywC rGCoJqOeBLgZMMBQj0f9OOrR4OwHJgZwALAV1HbUFXg8ehPvy8ZNmpFrqPu5riagXgDYD+puwF5Q L6C+n6FWA54OixPwJGAtQ9kLeI59Tx3kuhYDzG3wuBjq+WE0MrqbodYaNoP9FvVTwDdZ+jNejwZ1 H+pNqAfAGcN11Q94EnAt49UMcOaD82eA3YC3AI8DHrba8mmBbGfYYUM+BTUDrgVmsmUd1+U1YJoB 14JngvEy4VcDHrFhOcZ2GcaNOY8BXrDr3CrbnMQzDskJwJw0MwguZh6tBqe4G8yjn8A4TMcY1rB1 Mpk9U26xZoStkHi/XBuH+hH0kgC42LyACMajXQp7O8F5EfVVkLDN4oQmzdbMoscpNg9GIGwyYXLh OZchIQawAj3eRj0d/BPAf5k55TX+foD6JmN0E2NehNmJBI+LrTZ6cIK9yN8MIB9eyf5gvsJexFTy DW5VwRhtB+rrIWExqJmY5UnA1JoP8M4IPfdBpjJ+wrOJEduNHmshuRk6/6utA+vZBv3X2yN5E3PN 8M94nLWraHUQs3+E/ZlsYd+7yHj9gKUVJHwLI1CLtosxkqcwkn+Pk3wEZjwJuk3B/B4E/ClgJ6ij wDlgLsM62oiVTlQ9BjzNgNmsFfkGc66xRo/5aQyt+iToeRMRgzF7mVN9F/hehioBfV0F9RRkLoal F3FP0QTJRcBY/daCfxzXZSPffdCIPcJzDXy3fQ/CrR7newfyMfaTr2Jse+Gr56CzC3AyNLmG+mbo s41bkZfCq4F/CPVLgOOBOQjJeagn6GGAXJ8B+FXIbDSWE5yKVhnMI49Awxrc0RSD828tu/QHAbme YI8qy1RouwLwCCRswbp4FfLHsI207mA7pC02vs/eZcU6cC6GRc3gP2dGYF54HHZC2mm02sYzS3K+ gVZhWC9snYtbGXHst0YOYBpD7Vm9F3H+J+x7qG8BPgkwF7AIVnhYvt5urTWsu1Ksjsu8XrQIKwZi dhKg7TZEnk74rQf4ZuCzwZ8OP0+HJ8cAFtvrF3XwR4L/j60Ib77FsRrrpcDqkTEUw6ED1ylKT8Zs soQAc1KU2MKr2457XYjzzL8XEgLQeQow2Vbs5bsYGuf9iHguSOhFZK6DbnXw/GXQ2Yrkf41V+dcY MZafBE1qIW0VbL8BW7bBw69jRp7nkXRhvwhDtKdIRTAMq8x8lqHrPxiGrQJmHM+mAYu0OkSnSZA8 Gb10Ii7twMhcZrzrPJ9VqG0U7lMI6gtg6U5EjBlYiUshYRtgB6hJqLtgxSnUL2N1H4T8b2MNzgGM 4XU65dcYN0QetRVevYG9V46B50/DLOAkoI81H+eRB4xhqL7Id5o0Djy/Zfx8QH5bfx4r6OPE/xXT S5gurpP/syaf47pq45VF65dbaYwRLXxPrVfyvBg+3N3Eot4CuA6wz7rrAdyC82oNIu0aUO+gfp5h 2DHwrAZeAHYBJoJnD6j7AfMYusahngyeK5B8i0+P2ps85toO1Ncz1PMhoQmYi0ylkwBOL4D9kDMe nNEWD+om6kkMKe7xPMZz3WgBdRLqcbwPGnWA5fjO3GpAE/AIQ/Ix1vA1ruvvgjMN8Cww0xlSfGbM v6HVftT/xaLy+ZO0YpjPUHsTMEl/kbT6D4b6p0GNB6wHXMoxx+izbWHMDnyTro6/qaVv0W/Q6Clr 3GDFT7Cbf5afb+g/hz6f51bG29DnU9DkdciR/FzCrALPYcj/T3D6wPMXkFmHNVWH+svgXA+dPwG7 llozBepjwHSBpxhrUMOIWaOaA7gMmM9grzzOu4BxCvzX0G85ZrZA/zVp9Yo1YizHvMlPS/Q1bClF S+Y5iFZhOsv5OGKpm/U3M6BPMcZhA7fSpuhfYG9E73hGZKZC8mSjH75EJxnzDDBnIEEz+GlAOvdl dBj8L1xv4hnFn+C5xJs85sYPmCesg3dzo13/EbWKZ06zBdAFbb8H6OJvdJmf4LqxAE9CTnM97Di3 DcvkulnIfakB7BpjgVnAK1p/GXviOqaGvQj8C5BZqT3LVrAOrgrmNPp4ro2fQkMvNH+F9QzbBasF RuMAt1U/MOYQvM1jYjwPafnYv16G/H+Gnq0s00yBnmXwvY9jfudjbF9ni7RLDPV0+Fg666MdAv7f gf9XbmX+Ffa77wFzHtQOwDXAbAIcx1CtZTlmOvh/ifWYxzL1/6sdJLgPvTzDUH1D/yHBhVzXFFO1 J4wsXonW7GMczkJCJqx+ABISuBfjkHaU5w71KB4frQESfgE/WYX6GUg+DFgMu/ZrFLGNUZDjxUm1 k0eeonQydk+OJHug4RbwuNF2CjD/BX2Efo4wb0H+f0K3T0PnOQy1V5mqL0CrAe5LuwgNX+CzB0mm VuqfdboD1W5jBK4yjzmPR5juIrPYati+E5I3wOq1mNMU7ReEl+wPei2oa0AthD8/Bm/ZYGv+/3g7 H3gdqrXvr7Xumdn3vfa2Q2ybkH8J+U9sjiRJkiRJkiQkRDmo5DiShORIkiRJkpAkSUJ/jiRJEpsk SZJSTkfyL7H3e63vjG3Pec/znHOe5/28n/ms31z7+q1Zs+Za61pzrXXPnhFM24lvfowv4NdBd7AH vahEiPSET8jTjvFkJDgjHJMZK2rhm5PQt4jGOnf2HeSZCdsQ/Uw03wdz3RjlVgzMr8RCS7iileEZ GRlKoHmQY5kj+N9Qwh+D20XuSn2WoAnj9stdbODd4FownTE8tdSxaT85TM3jDnU/13KpQ9uae1A3 9AHIiO2/EdYTvDsaq6X8dO5TqWtcrdL6gtsorQs+3o/6VKfm41xvSYyht9/NaJZJnkHMoQ74E4lY nB16cBYiYTMO3/8bUWhjF0mank723yUO2YQ9+/vvS2mXOfTq+hdyh3Xyw6wvvUaeeonnRH7aE9t6 97j/dPV/Ce+YTjazXDzgzXay95zzDum9bi3oCGtHxcEJYBewKtielaKTrBF1R9PTYcIgzwpzuhVg vZ08G8Ga4BpwMDgWnAFOpsz6HDUZXIxmtsP8mU5jWpFzLriYPG1ZZx5Nzi1hyeSc4NaiE30izSA3 86VW7dA8gJxEHsUvI8+hGRNeUVhzjqoJHnEr3lLOHK5rDjV0//mwhWNf56hnOe/PoWVgZzs0rcjf Anwsqrl7yr43pTWNSnMy/zOi53L2PPLsD/NggU3o7+Ast1LOCOqMVc35aD4BP0BzGTgIzXzkFSBr ifpJsA6ledR5IfJ36I8gP4x+F0dVQqZFNK1gkA39RA8kfyk0+dTzMzTXwJZFznK/Q6mXaa9+4DLY 52Dv4dhrwayoX/UXbIncEWwGdgB7cpaXkS8B24LUQSuwL3WuQc5scD96ftHQN4b5ke+jPrSj+gh8 C9wYInloa2lHh+9wbFjnN8O6heUgdwWbU6YCb0EzLewnIN4kfcCxV3FsDhr6oZ4Chva5H+zEuZqE q7JRH3NH1eHXvSC8LrAF7CnYMP914Cvg1NA+YV8i549O9gJn7cSTyL4r04R1TtA6O/FurtGw/myq 0ToTKGcgffgIfX4/OATsje98CXr4Ql3kRuAMjh0LjiB/PnmSebn4oMM95MxE3wVNC4figxWQK+Ap bfDTNpzL4RryV+TYCyl5GvK56JtSzqPoW6Nf4zTirQ6rcY0DwtEP9jeOas9RbcHfaLVq6C/mqBsi 1pX5IkcNRK6MPJk806h5K46qChannEPIF5FzBeU0AqvQOoNcnrTpTg6OOpt7px36eEriKNe7ymHA ar+3gxFpNCWv51rwX7WdnN2dxdRd4DI0X4H8aqAXggsYeT6mTbtzFX3JYygzn9JewD6MNiYT9kj+ PO4U82hZd+xG5JrutwYpx2E25TcmP/XXN1HbIchbwtE+HOfDUT26F7g3JxRD7gW7zrdudYJ75ca0 zWKN6uBa8FlwELgePOkw+M5hYrVDL9T/hvyYw7SPyfNn9O+CVcF3wHLkfBn5UXIOAxs5THrI58FS vn8X59oGvgeOoIRbkB9GPgesBAYOza3gbWgozYynNOrmpXHsGhBNYjeYQ06u0YwkZxX0Ezi2PZpi aGqh+QBsieYrcB+4k5yZyOPAVykT1tQEV4B7yGnADKwXWmYzuIpjv4HV4Gn088G3wT+B+2FT5Mfm hrN7TyNj58RN5FyITFt4W5A3IBcH3yDP18i/0xYJ8lyD/nr09SjzR+Si5FHI28n5IBi2Tg9yovFu BkNr9+NK+6MZQsldkbF/4nEwHzyMfjryQUo7jqYimhrgERAbmvCMXFFQBz35E2GPbce5aBHvSvLQ l4I3qQ89zW8O0l5e2Mr3gtNA6uD1obRf0LyC/CV4AvyMOtAHEj+Qfwxy2JpcqX8Z+nvAZ9Bg4TQs 7F9HrUrCdkbGL7wXyTMZDd4RNAUvpmTqn9bFYXIs5dC+Pvb0/o7cl7rh6YmtaJZRwrkg/u7Rl3yf nGGdaTt/AfK1yBa5FPnfR36I/LSLNxTNT8gN0E/kqENg6MXhiHE7mhDpFQl6ReIBjqI3Juix3lNo rgL/gKYuOJA8od2y0VyC5i8gfTURjkXYzfsEzVEQH/HxxIArCvDHIJ2cS2GngPS0AP/yXgDD0npS Tmvky5GpZyKseUeQEry2YBM0c0HGk0R39KGmNshVJGijdFo2RX9IYxRKMT6kteKoGQ4to26yGjXM BcOxImwdSvAuAu+nZKyXpK+mYZ+0cBwLrUR9/LDHfgRyLzD0DfMW5fwV/Q3kxEN9PNcLfYTxzSuL HPbtRdQKD028DhuOJPSuAMuYPNg70FfmqLD/h2NLkjyfOlS93T1L9fOWuJgQfRc3uxecB7YEV8pR 37q5sN8Z/NChWcjs+C8OvSEOAzSegm0CWw7Nt+75Jb8z+KHDtHJhCU6WUctpwnJ46snbDXsAfJKS KdPT4Cz0TanJFM7yJfor0DwGXo1mBcdeQh7kxDHYF9BnorkPmWMTJxym9SFPX/Aa2CSl3QL+lbNX gv0IvBv9s2AWeD15plHmI2jeRr4QPB/NHcjvgkfBT8GXOLYqee4Ez+EsvcB5aGgF8zX5J4Hb0XDV xiNPdfQ/gT7YFhwEm41cnqvLALuBFvZPsFjep6V86uaRxysDok98gdw2bH3XdjJWDHAWc2iaoCkH LiV/MfLXdmibOn1yn5OTtG+wCHYwmv20Ba0Z0JfSKEd6+wB3LJqp5Kc3eocpvyK1bY3mO/A6Sggt gMZ0Qf6AnDOQD6LHht4q5M8c6sk8wfJ3F+kleoJbeUZlOXHj00SADzj00JgM2Ctgqzv0Qwxz/gh7 FHyeo8hvioAL0bfmLLMo4Xv016F5BrwRzVqOvYo8yMbAvoq+DPqHkDnWeNRhMHmGgjfBloDtB37C 2WvDbgP/hH4BWAm8lTxzKP9JNB8hNwAvQjME+WNkjfwl+DrH1kd/H3geZ7kbXIoGC6ufyD8D3IuG q1ZFyXMx+uNgMbAzOAK2CnINri4b7AtmwY6DxfIJ2iVB3Qx5ZO7jEL3+Djks+R2wHJqmDpO0UXAI pAW9FbAj0RzG2rSXR0/wZ8PSc0wepdXi7B3R/ALeQv7witDILLUb6xUu5zzkE+ixifkQ+Stwmeul Xg+ewhoELmcWVgP5FKs3R5BzmYvtRbOYvs17Qr124VEO/YVoqqBpE66MoRnp5lweT38lskBWpRK5 IUtpq9HPATPQtAKbgrNY++rG2dvyLFZ9ZpctOG81jhpOzqnMs6iJroRmH2wFjrornPnmt3NndHLQ Irwi9Lz1xON9IO47hW72ioZnUzXPlCY6UtoPecMlz3yHieUOZV4/3D3lxWrDFEoYxVUvoQSeSvU2 hfUn536O/RvsJWBOaFVaczxnachZ9pH/aq73CurwHjm7hJYMc4LToxLctYRvNVlGi28O1yjCo5hZ s0bh9Qfb5edQW9dPOpHnZ3oOK4pqWLjCEFmsG5Ys4cbh6FrmsBLl1vTuBdc5lFqVd/cX8Eb3XG4i g7WCE3ljWJ0YQ50d2ydaQ8ilH07DU9w1VsjbwPi2gfnyGDRzsPMGfHyD643uKW7x/VxwDrbKZYbu Vie6Uk5D2Pa0xcz8Y6xOzGFt0Onrkj87KsFZaW501AZstYH1nEHYkPVM8m939TEDsMAeLFY2XOdE rgqGb5rpyvVmo9lJHRiLpP+4sywKS4Ytjv03Ii9ljaIDHsrT73pG6Beu/iZ8N0012A7kfx+cTy/i zbd6RJg/XO9F7oN+O/7SzLWmt9KxfjOOCsIeSK3a0Na87SZhoj7Tjdp2Y83ncYl+GTGSFVzOoBPI s5d+ibDvOUzjuvyToeXxtUaRhw6ibsNdHEWtMvOepGXDNeo5rk+yKnKA/ANor2nYf3XY33gmP1zl ruDeJSSRaJjTnb2LaSKa8qFN8oty33R1WIs1nkNuF66lg8vBQbB7+G+C8uSZQissBNfznDkjlW7E /yBwRuk5k5wv0yKHwJPou4csz64fpCY+murgFyA+q14Mn2VF5g3LGtvqc8G/o+edwPpBkBHShGUW De1Jnl1RCe75h3CMqgxLnb2LkN/gKo6Rkx4VvWe5Mchbm/NXIjO25DMKhe+DNs3C8ROsCPsRSK/L /9phXptIljqoVWiorXqMcmgRdRr5KWTuBfk3g4zzeYyH+fQlRb89/TPyNeiPouGM7t0kKnqjtPkG ZMw3H6N/B/kWZN7NlVgf2dk9ecXYlcgHu9JL05AfJw8jZz4tkvcDJaxyR+Vxj9N3UvIQ8r8NjgXx 8cRLYBNszmiQ2B3VTUrw6DPelyC+4H+LPJAz7gC5dySORFZyluQtYnmLKOdK2GupVWjP+hzFfVlG TyfzPmwZ00+635joz9X47wlsJWN3aM/y9K71LlICFzk0pcDrwQl8hZB7qwpHCfq5v8O9ncqntl5J 6oOVvIfAX0DGKI++5DWIejvP8XKuLyh/Kl8e/NjVxCTQjAJnc6VvUrLJP+xmK1zRzAinMaY59CI7 nOTaT+IpJ/mvkJPEACeJw9dzlDtvHjWpyXUpNQ6vGYevjcMXxuGh4/C1cZSJzH2wNbV6jit6mrqF 8cl7IOOqOU59vocNY4lhUW9xvW4r1qMdE7cjfxL1HNc3biT/ZvT0ebn3OCTmycNP84iLTvPO9dP0 0tP46WnuNaepT14FyuwF4kEGP03guQk83YTe0QEMf0f7IyxeZvCyRHjHYURKMDJ4r4CMYD5X7V3K GQeBzTn258jvTnLvWE/7rnd+QTtORW4S2V/a/RSRZB5xYB7nyi+DDZX0sZXiWV6v+wcPUGXuGHz7 nSqn7+09B6suA24bepfq697QqFS+e/9MEZVUxVRJVUZKrKQuFHWtAjZdZaqUKi5/Z6nz1PmqMv8h VruAT8jxvqrqenSnjle7/wRz2gxpkXR1rgpUKVVWVVBVVHVl1EWqDmwRVVRyuO/eZKvSqpyMhheo GlJSTVVX1etVf0gvXQ2sDzYDW/fqNXCQ7gB2BSeAU3sP6HeHngXOAxeDy8DVve+6e6BeC24AN4Pb +wy+rZfeBe4HD4EnB9x1z0DjgRYsCmYNuLvXAFNWxMGmElgNrA02vNvlaQq2BNuCHQc57Ar2APuA AwZL3czgIQN7DTLDwNHgRHDakPuG9DWzwXlDXf5F4DJwNbhWjO/eFOyr4N+QXH9wcUiWtPB50h7l pJ3Pl1apKK1dWdrmAmm/C6XlqksrXCStUEvat07syLOSkVYtUWjvvrD2z7Ql/ym63pLu/gP8X0hn vgj1f+OZL1b8MzTSs875b/Yyj/0vsDRnTxM/SP1LSUufPoNGvKPYf7lvqu5VI9VYNUnGwVlqnlqs lst9dZ3apLar3RLz/KyOqTwd6Eydpcvrqrq2bqSb69a6k56qZ+q5epFeplfrtXqjztW79D59UB/R p0x909S0NNJzzCgz08w1i8wys9qsNRtNrtklc7VAK2YvjO3mZLhPhu/d0zaI9hnRfli03xTui8wL 95nFo/2gcF+sLX1JF+sQ/T002k+O9oui/fpovy/cF1fRvmxYj+I50X5kpJ8U7ReGLVt8nfBa6VLN o3175WrslepRanCpsaVm8Fe57PrZbbJ7ZA/LnpI9L3t19pbsH0ub0mVLNyzdvnTP0sNKTy49v/Q7 pbeXPlTGlqlQJqdMhzJ9y4wuM7PMijLhG731ebPD0s+bF+1XRvv94b5sNufR5TaHf5evGu2jWtVq E+1PhPs6g6P9bIeyX8Lx2XWW19lQZ0+dE3WL161Wt0XdrnXvrTuh7uy6K+puqftD3bx6WfVq12tT r2e9kfVm1Ftcb229HeFZ6y8LS6u/k79L1D/cwDao0CCnQfsGfRqMaDC1wcIGaxrsaHCoYdCwfMOG Dds17NlweMPJDeeHR188NTy6UVX+Tm/Uv9HoRjMaLWm0rtGuRocbJxuXb9ywcVu5K4sdcrqH9sgZ HtY7Z1q0nxnt54Rl5cyP9uukZ7v99nDfpG+4b5pV6D2b1SizLt/NaefiTv26fl0Zr4fMTt27QIua E+aEuEieyXOrGYlSyvh9/WHK80f6I1VJf7Y/R2X5L/ovqdL+An+BKuu/4r+qyvnL/TWqQlAyyFa1 ktcmr1P1kp2TnVXD5K/JX9XFqU6pG1Sj1I2pG93bBPz+MvYV1ZVMw0Rrr4uMeE1VS9VWdVRdVU/V Xw1Ww3m/7GQ1XWaH8yUGLuyX+9RBdUSd0p7O8HaphLfF2+p9xT7X281+m/c1++3eHtlvFekb9lu9 vexzvW/Zb/P2sd/ufSfXv1Wiv4RwW7zv2W/1fmCf6x1gv837kf127yfJnesdlL+2Se6/sd/q/cw+ 1/s7+23eIfbbJV40sj8sf22X3L+y3+odYZ/rHWW/zTvGfrt3XHJv/weL9FWDJMYf9W9Z5ARXvsX7 LbLMycgyv0eWORVZ5rScZ4uXF9knP7SLTOGwi69Du7jvbjiL+InQIr4XWsT3Q4v4QWgRmV2IRfxk aBE/FVpE5qxYxE8PLeJnhBbxiziL+JmhRfxzQov4RUOL+MVCi/jFQ4v45/4Li/yzsbuQRfwSoUX8 kqFF/KzQIn6p0CJ+dmgRv7SziF8mtIh/Xthj/LKRZcpFlikfWeZ812P8CpF9Kkb2qRTZpXJklyqR RS6ILFI1ssiFkUWqRRapjkVqRBa5KLJIzcgitSKL1I4sUuc/sMhatVHlyixgn/pR5s4ntdHWrxtZ pF5kkfqRRRpEFmkYWeRiLNIoskjjyCI5kUWaRBZpGlnkD1ikWWSRSyKLNI96zKWRZVpElrmMHtMy ss/lkX1aRfa5IrLL1e5K/daRXa6M7NImsstVkV3ahnb5jy1ysMAi7SKLXBNZpH1kkWsji3SILHId FukYWeT6yCKdIovcEFmkc2SRG7FIl8giN0UW6RpZ5ObIIt0ii9yCRbpHFrk1skiPyCK3RT2mZ2SZ XvSY3pFlbo8s0yeyzB2hZdzo7+rtxn49hXee3uVe/CH3gbISU9YVe7VS7VWXVC8Z3fv59yWyUr0j qVTqdqRhousTSaVSd4h0J/n6RlKpVD8kl69/JJXi/YVVJErNkfZopzqrHjKqD5VYa3zqzoIzDSg4 08CCM91VcKa7C840qOBMfyw40+AzZ0r9SaSBfj/RjYikUqk/I90pupGR9N/VaEhBjYYW1Oieghrd W1Cj+wpqNKygRvcX1Gh4QY0eKKjRqIIaPVhQo9EFNZKxVSLK2nKnLeO+SGsqm8q8jzCpdOp37u/t eDN5HTvXvmjn2ZfsfLvALrQv20X2FbvYvmqX2NfsUvu6XWbfsMvtm3aFfcuutKvsavu2fce+a9+z f7Vr7Pt2rf3ArrMf2vX2I7vBfmw32k/sJvup3Ww/s1v4UkJNc5PUY7wZz3fg26iK9mE7wT5ln7Ez 7bN2ln3OPm9n24fsGDvWjrPj7SP2UTvR/sVOso/ZyfZxO8U+YafaJ+00O90+bWfYOfYFru8iXUu6 3i/6uMi/mXPcu1R1Uj1ov7faGpuwnvVtYNNs0qastek2wxaxmfYcW9QWs8XtubaELWmzbCmbbUvb MraqvdBWszVsPdvINrXn2fK2kr3AXmzL2j/ZKvYiW9nWtNVtbVvH1rW1bAPb0Na3ObaJbWzL2f72 AVvB/sGeb6+2N9h+9lLbwl5im9vLbSvbxl5lb7I32272Fnur7WV72z72DjvA3mWH2KH2z3ak7Wyb 2ctsS3uFbW2vtO3stfYa2952sNfZjvZ628neaLvYrra77WFvsz3t7bavvdsOsn+0g+099l473I6y D9rRdpi9z95vR9g7bUXlvseeYr5SRV2iNOPVeTJSPS5zvkXqVdGulK2a3NFyZd63R7YctVe2JjJu 7RO//V62P6gDsjVTP8l2icxVjqnm6oT6TV2qfpftMnVatpZ8I/hyuRN6qpXMZQJ1hU7qlGqt03W6 aqOL6CLqKn2OPke11cV0MXW1Plefq9rpkrqkukaX0qVUe11al1bX6vP0eaqDLqfLqev0+fp81VFX 1BXV9bqyrqw66Qv0BeoGfaG+UHXW1XV1daOeoCeoLnzL5yY9XU9XXfUMPUPdLDOnmaqbnqVnqVv0 bD1bdXdfWVa3ynxqruqh5+l56jY9X89XPd1X2FUvmWUtUr31Yr1Y3a6X6CWqj16ql6o7ZO61TPXV y/Vy1U+/pd9S/fUqvUrdqd/Wb6sB+l39rhqo/6r/KiPe+/p9dbf+QH+gBukP9Yfqj/oj/ZEarD/W H6sh+hP9iRqqP9Wfqnv0Z/ozda/eqreq+/R2vV0N0zv0DnW/3ql3quH6K/2V+pP+Wn+tRuhv9Dfq z/pb/a0a6dXyaqkHUttS2+RuE3rs/9Yr/zuPDz22qxknHvuIeQSPbasqiXc633ReeNZvx4gfO2+d 8A/+6ry1kK9G/u2+DeLJmNRASi5qzlWBKWkuUtZMNBNVRfcdJzX6f+i5lcVTq4j/XhB5cHXx1pri qbXw1Xriq/XFWxuJL+eItzYR766IfzvPTv2D94a+2yry3v//vntDId9tpW4R3+2nHhTffUS2hhKd P68ulvh8iWqs3pItR22TrYn6Rram6lvZ/qC+k62Z+kG2SyQq+1G89qBsl6rjsrVQJ2W7TJ2SraXK U/niuwmdEK/1tS9em6bT1JVaGkF8N0NniO9m6kzx3aK6qPiu+2pVO11ClxDfzdJZ4rvZOlt8t4wu I75bVpcV3y2vy4vvVtAVxHcr6Uriu1V0FfHdqrqq+G41XU18t4auIb77qH5UfPcp/ZT47tP6afHd Z/Qz4rvP6mfFd5/Tz4nvPq+fF999Ad99Sb8kXrtALxCvfVm/LF77in5FvPZV/ap47Wv6NfFaN9fs q9/Qb4jXvqnfFK9dqVeK167Wq8Vr39HviNe+p98Tr12j14jXrtVrxWvX6XXitev1evHaDXqDeO1G vVG8dpPeJF67WW8Wr92it4jX5upc8drP9efitV/oL8Rrv9Rfitfu1rvFa/foPeK1e/VeNVLv0/vU A15tr7Yalfpd7rgPhvdetYp7b3G+jeDmy5Wi9dp63J1Xud997Fd2P+ttWp2ryrKeVEZZu9Xm2m12 u/3c7rBf2J32S7vrH/Okvk/9kDqQ+jH1U+pg6m+pn1N/Tx36xzys0ZVUWaoU66/hmqDkkWMP/aty Ur+kThbk+SV1OPVr6kjqaOpY6njqROo34f7dc/0b5UT1Cb83kVRpqqiU4VaYa4sfNE2dFgtepdql 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 b6/f5oiqJgfbXTQ4LTN76ur97zCX19nHGlwkF2SdpD0SGvzq1iwVQrnLjTA2vWD7T22yHAjuiy49 IuDlOGHC+qnsTiObMyvV0t6/SdolZDmxp+bYitPcVpu/HOdmdFFUgu32pBnWb34pUmG3LnJnmXry PpG09syYzOyg2JQ7cqu+d9VPx+kdi+3p8vnrG6YYbpSs6RH77XnUTq49XXmeWVXNgz3XL0/2wxQZ 0w4PuRRGduTpmMjn8KBqJ9yjF8za7fN7anv4zerzHZob2m29/bPUW9qkrkQ71W+4803L5POBJ9W9 jgmChTEV6vM2VuSwMFWChSn+6CMuOgubBEwT4ajc/rdFAb/OSHCMySWEOOeQ5P+RWUHBLx87QqVP gBfdDOgEXZ/BIHQX/cOInC7VoINNWPChru6pDV+G5Az5Jx/MftJrcqzsrzgb3xzVbYetOfbmtcx7 0X2f7pXwyko1XneZKegbZPpQ+OXVvbvzjD/eyI/Jzko2PzIQZxXcW78AYa7c+iRze8RQ46vNqfX2 m23jkn5fWlx07bPhLHkB3yPta9cqsK/KFPovCosRE1ssv5T3jGlileGyvtNc3B0vahjS/fjq2p6g XbySBbvF1e5SU8QPPM7p25R6s19Y8P3VdWK0a2rqj3rnsyp01s9Z/+E3nmudF33mP2ie6vZ+Yv7z SSLdu9S+LvdwNG9SxH2FekOU13PdXNS2rylDIGyAx87ER5j6vKqfOzFbwUZP6TWmRJQ5289IChVu ze6bMbW986rMrq2OwiyvXJaW5AQL5H8AnAHPTA0KZW5kc3RyZWFtDQplbmRvYmoNCjQxIDAgb2Jq DQpbIDNbIDI1MCAzODldICA2OFsgNTAwXSAgNzBbIDQ0NCA1MDAgNDQ0IDMzM10gIDc1WyA1NTYg Mjc4XSAgODBbIDc3OCA1NTYgNTAwIDUwMF0gIDg1WyAzODkgMzg5IDI3OF0gIDkwWyA2NjddICAx ODJbIDMzM10gXSANCmVuZG9iag0KNDIgMCBvYmoNCjw8L1R5cGUvWFJlZi9TaXplIDQyL1dbIDEg NCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE5IDAgUi9JRFs8REZFQ0QyRDlDRjBBQkE0RDlBMUYwOTI5 RDgwMkU3REI+PERGRUNEMkQ5Q0YwQUJBNEQ5QTFGMDkyOUQ4MDJFN0RCPl0gL0ZpbHRlci9GbGF0 ZURlY29kZS9MZW5ndGggMTUwPj4NCnN0cmVhbQ0KeJw1zs0NAWEQxvF5166PtYjER9TgjISL+Eg2 qwKduGhAGRJNCHcFKEABDuLqsN59/sxhfpnMZGbMfOS587ltVrCHi3Av0dmKbiJ6EVxF/yxGNzEO YSomM7GYwx3eYnmEp1h9zAJ/dmAJNKAOv17TT64f/8pBACUIoQURlKECVahB7HemBz2RnkQWi82u wGVDsy8ynhVxDQplbmRzdHJlYW0NCmVuZG9iag0KeHJlZg0KMCA0Mw0KMDAwMDAwMDAyMCA2NTUz NSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxMjUgMDAwMDAgbg0KMDAwMDAwMDE4OCAw MDAwMCBuDQowMDAwMDAwNDk2IDAwMDAwIG4NCjAwMDAwMDUyMDkgMDAwMDAgbg0KMDAwMDAwNTM4 OCAwMDAwMCBuDQowMDAwMDA1NjM3IDAwMDAwIG4NCjAwMDAwMDU4MjEgMDAwMDAgbg0KMDAwMDAw NjA3NCAwMDAwMCBuDQowMDAwMDEzNzY4IDAwMDAwIG4NCjAwMDAwMTM4MjggMDAwMDAgbg0KMDAw MDAxMzg4MiAwMDAwMCBuDQowMDAwMDE0MTM5IDAwMDAwIG4NCjAwMDAwMTY5NjAgMDAwMDAgbg0K MDAwMDAxNzEwOCAwMDAwMCBuDQowMDAwMDE3MTM4IDAwMDAwIG4NCjAwMDAwMTczMTQgMDAwMDAg bg0KMDAwMDAxNzM4OCAwMDAwMCBuDQowMDAwMDE3NjU5IDAwMDAwIG4NCjAwMDAwMDAwMjEgNjU1 MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQg NjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAw MjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAw MDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAw MDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYN CjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDE4NTcwIDAwMDAw IG4NCjAwMDAwMTg1OTcgMDAwMDAgbg0KMDAwMDAxODk1NCAwMDAwMCBuDQowMDAwMDE5MzIwIDAw MDAwIG4NCjAwMDAwODQ1MjMgMDAwMDAgbg0KMDAwMDA4NDY2NiAwMDAwMCBuDQp0cmFpbGVyDQo8 PC9TaXplIDQzL1Jvb3QgMSAwIFIvSW5mbyAxOSAwIFIvSURbPERGRUNEMkQ5Q0YwQUJBNEQ5QTFG MDkyOUQ4MDJFN0RCPjxERkVDRDJEOUNGMEFCQTREOUExRjA5MjlEODAyRTdEQj5dID4+DQpzdGFy dHhyZWYNCjg1MDE3DQolJUVPRg0KeHJlZg0KMCAwDQp0cmFpbGVyDQo8PC9TaXplIDQzL1Jvb3Qg MSAwIFIvSW5mbyAxOSAwIFIvSURbPERGRUNEMkQ5Q0YwQUJBNEQ5QTFGMDkyOUQ4MDJFN0RCPjxE RkVDRDJEOUNGMEFCQTREOUExRjA5MjlEODAyRTdEQj5dIC9QcmV2IDg1MDE3L1hSZWZTdG0gODQ2 NjY+Pg0Kc3RhcnR4cmVmDQo4NjAzNA0KJSVFT0Y= --===============1095032800==-- From bugzilla@redhat.com Sun Feb 28 08:11:50 2016 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 985B47C8C for ; Sun, 28 Feb 2016 08:11:50 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0C828AC003 for ; Sun, 28 Feb 2016 06:11:49 -0800 (PST) X-ASG-Debug-ID: 1456668702-04cb6c583163b30001-S8gJnT Received: from smtp-mx-server-8.servers.netregistry.net (smtp-outgoing-70.servers.netregistry.net [202.124.241.70]) by cuda.sgi.com with ESMTP id 1o1JC6Q2CyYJxvRT (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 28 Feb 2016 06:11:43 -0800 (PST) X-Barracuda-Envelope-From: bugzilla@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 202.124.241.70 Received: from mx1-phx2.redhat.com ([209.132.183.26]) by smtp-mx-server-8.servers.netregistry.net protocol: esmtps (Exim 4.84 #2 (Debian)) id 1aa24P-0004wb-Ga for ; Mon, 29 Feb 2016 01:11:41 +1100 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (bugweb-03.app.bz.hst.phx2.redhat.com [10.5.117.33]) by mx1-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1SEBRl2007138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 28 Feb 2016 09:11:27 -0500 X-Barracuda-Registry: Level1 [redhat.com/209.132.183.26] X-Barracuda-Apparent-Source-IP: 209.132.183.26 X-Barracuda-RBL-IP: 209.132.183.26 X-Barracuda-BBL-IP: 209.132.183.26 Received: from bugweb-03.app.bz.hst.phx2.redhat.com (localhost [127.0.0.1]) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1SEBRNu024670 for ; Sun, 28 Feb 2016 09:11:27 -0500 Received: (from apache@localhost) by bugweb-03.app.bz.hst.phx2.redhat.com (8.14.4/8.14.4/Submit) id u1SEBQq8024669; Sun, 28 Feb 2016 09:11:26 -0500 X-Authentication-Warning: bugweb-03.app.bz.hst.phx2.redhat.com: apache set sender to bugzilla@redhat.com using -f From: bugzilla@redhat.com To: pcp@kenj.com.au Subject: [Bug 1262723] Can't specify multiple archives with Python PMAPI Date: Sun, 28 Feb 2016 14:11:26 +0000 X-ASG-Orig-Subj: [Bug 1262723] Can't specify multiple archives with Python PMAPI Precedence: bulk Auto-Submitted: auto-generated X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Classification: Fedora X-Bugzilla-Product: Fedora X-Bugzilla-Component: pcp X-Bugzilla-Sub-Component: X-Bugzilla-Version: 22 X-Bugzilla-Keywords: X-Bugzilla-Severity: unspecified X-Bugzilla-Who: myllynen@redhat.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: unspecified X-Bugzilla-Assigned-To: nathans@redhat.com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: X-Bugzilla-Comment: public X-Bugzilla-Reporter: myllynen@redhat.com X-Loop: bugzilla@redhat.com X-BeenThere: bugzilla@redhat.com Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugzilla.redhat.com/ MIME-Version: 1.0 X-Barracuda-Connect: smtp-outgoing-70.servers.netregistry.net[202.124.241.70] X-Barracuda-Start-Time: 1456668703 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.15:443/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, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27417 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header https://bugzilla.redhat.com/show_bug.cgi?id=3D1262723 --- Comment #3 from Marko Myllynen --- Hi Dave, I retested latest upstream with pmrep(1) and it works now all, both of thes= e: $ pmrep -a arch1,arch2 mem.util.free $ pmrep -a . mem.util.free Extended header information looks also good (shows what was passed for -a). I see that pmrep(1) and many other man pages still refer the archive part of "-a archive" as a single file, will you be updating the man pages in one go later? Thanks. --=20 You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=3Dc3tBYFM= 5cW&a=3Dcc_unsubscribe= From nscott@redhat.com Sun Feb 28 21:44:44 2016 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 2708A7C8C for ; Sun, 28 Feb 2016 21:44:44 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EF002304032 for ; Sun, 28 Feb 2016 19:44:40 -0800 (PST) X-ASG-Debug-ID: 1456717473-04cbb00b7287530001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id QG8ApB3oB8tO6fAN (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 28 Feb 2016 19:44:34 -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 u1T3iXRA030823 for ; Sun, 28 Feb 2016 22:44:33 -0500 Date: Sun, 28 Feb 2016 22:44:33 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Mailing List Message-ID: <1302172359.25626068.1456717473160.JavaMail.zimbra@redhat.com> In-Reply-To: <371581223.25626057.1456717451993.JavaMail.zimbra@redhat.com> Subject: pcp updates: merges, docs, qa MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: merges, docs, qa Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.184] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: merges, docs, qa Thread-Index: WxSSIsMtaCSblbmruzQEPtICoH4ZMQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456717474 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.25:443/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.27430 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 master Nathan Scott (3): qa: add testsuite makefiles needed for archives/multi packaging docs: minor tweak to the quick ref guide build: pmdasnmp makefile needs conditional disablement Ken McDonell (1): qa assorted: timezone grooming for multi-archive tests Marko Myllynen (1): pmrep: drop now obsolete rhbz reference man/html/guide.html | 20 +++++++++++--------- qa/1036 | 12 ++++++------ qa/1036.out | 12 +++++++++--- qa/817 | 12 ++++++------ qa/817.out | 12 +++++++++--- qa/818 | 12 ++++++------ qa/818.out | 9 ++++++--- qa/887 | 12 ++++++------ qa/887.out | 12 +++++++++--- qa/970 | 14 +++++++------- qa/970.out | 12 +++++++++--- qa/archives/GNUmakefile | 7 +++++-- qa/archives/GNUmakefile.install | 5 ++++- qa/archives/multi/GNUmakefile | 17 +++++++++++++++++ qa/archives/multi/GNUmakefile.install | 1 + src/pmdas/snmp/GNUmakefile | 15 +++++++++------ src/pmrep/pmrep.py | 2 +- 17 files changed, 121 insertions(+), 65 deletions(-) commit c4555d25f155e14b595c699f29e2e5b11a57ff17 Author: Nathan Scott Date: Mon Feb 29 14:41:55 2016 +1100 build: pmdasnmp makefile needs conditional disablement Make pmdasnmp like the database PMDAs, such that when its not been enabled in the build (via configure.ac) we don't still install it. commit 9e3e931fcfa807e9f5a43d71ace83e4e1c3254a7 Author: Marko Myllynen Date: Mon Feb 29 14:33:23 2016 +1100 pmrep: drop now obsolete rhbz reference commit 10a8c113b86ce5ece14ef0d6150514bc732a81c2 Author: Nathan Scott Date: Mon Feb 29 14:32:45 2016 +1100 docs: minor tweak to the quick ref guide Drop references to demo/qa PMDAs, show other pmcd.services in pcp(1) output too. commit e52c3c7807caea8d9e5adccd51530913cfae9ad7 Author: Nathan Scott Date: Mon Feb 29 14:31:43 2016 +1100 qa: add testsuite makefiles needed for archives/multi packaging commit 78bc3556e48a153a935309482e65856155617364 Author: Ken McDonell Date: Sat Feb 27 17:44:25 2016 +1100 qa assorted: timezone grooming for multi-archive tests Lots of these need -z to work in a timezone different to Dave's timezone. From nscott@redhat.com Sun Feb 28 21:50:26 2016 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 D27B17C8C for ; Sun, 28 Feb 2016 21:50:26 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A744C8F8035 for ; Sun, 28 Feb 2016 19:50:23 -0800 (PST) X-ASG-Debug-ID: 1456717819-04cb6c583371c40001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id 5Rt265H5SYfDHKjw (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 28 Feb 2016 19:50:20 -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 u1T3oG28031268; Sun, 28 Feb 2016 22:50:16 -0500 Date: Sun, 28 Feb 2016 22:50:15 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Ken McDonell , Dave Brolley Cc: PCP Mailing List Message-ID: <2080047040.25626338.1456717815505.JavaMail.zimbra@redhat.com> In-Reply-To: <001a01d170d1$c8cb7db0$5a627910$@internode.on.net> References: <56CCBA62.3050702@redhat.com> <001a01d170d1$c8cb7db0$5a627910$@internode.on.net> Subject: Re: [pcp] Multi-archive Contexts Getting Close to Merge MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] Multi-archive Contexts Getting Close to Merge Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.184] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: Multi-archive Contexts Getting Close to Merge Thread-Index: AQFK1HqbLxipoIl/C5DceElHoM7hyKBL+IJg381kAB8= X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456717820 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.176.15:443/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.27431 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 ----- Original Message ----- > [...] > > * Whether to restrict pmdumplog(1) and pmlogcheck(1) to single > > archive contexts. > > I'd be happy to see these restricted in the first instance, and then > revisited once we've shaken the core functionality down. FWIW, one possible approach for implementing this would be to use the __pmSetInternalState interface. If we tweak the semantics argument to allow a bitfield, we could perhaps add a ... #define PM_STATE_APPL 0x0 #define PM_STATE_PMCS 0x1 #define PM_STATE_ONELOG 0x2 ... without any API/ABI disturbance. Obviously, that flag would need to be set by tools opting-in to that mode, and before they create any contexts. I'm slightly surprised that pmdumplog and pmlogcheck aren't setting PM_STATE_PMCS already, since they're not derived/anon metrics users. (is that an oversight Ken? pmlogreduce & pmlogextract use it) cheers. -- Nathan From myllynen@redhat.com Mon Feb 29 13:27:13 2016 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 66FFC7CA0 for ; Mon, 29 Feb 2016 13:27:13 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 40BA930404E for ; Mon, 29 Feb 2016 11:27:10 -0800 (PST) X-ASG-Debug-ID: 1456774027-04cbb00b71c86a0001-S8gJnT Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by cuda.sgi.com with ESMTP id HnJ0YFpZGv0DXwmv (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Mon, 29 Feb 2016 11:27:08 -0800 (PST) X-Barracuda-Envelope-From: myllynen@redhat.com X-Barracuda-Apparent-Source-IP: 74.125.82.47 Received: by mail-wm0-f47.google.com with SMTP id l68so5487559wml.0 for ; Mon, 29 Feb 2016 11:27:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:reply-to:to:from:subject:organization:message-id :date:user-agent:mime-version:content-transfer-encoding; bh=kqQvBxSbhU6qQSfvssCLKrw7t4b+0rkfwPnDXUPV4Cw=; b=fGevN9l8p8ZV/Az7xfZ59DaRiD6uuiRlH4hQ1Vxv7zZ6kvpdUB3fPSOTIvRUTP254u xhy0Ym+rw6f88d4haa1FT+Kbr7q3ELZdSlSer57pux68OaHUZWzTDsnwgkL9u6QoO2ie ++Y73/jPBkXLcJapIwTPD1bidwpRAtwlR6iTDMPYAFHBCjQiW7FM1fidyjU1txq1RJwN zqlESMQZm/bX7Wqov/6mF5v11QqDL24f9LILQ6vl7wEm6hSyj6bFOrdtuSDvqHLecCLD 2WORgom0EbJf09ESobFVF39+S8YlT4NhMDKxEen/jTAbTI31BLq6v/9J0KokqxYsQUpK In6Q== X-Gm-Message-State: AD7BkJL5YqnmZJNv5zOnnXAt7mW7jdOwuoVIricddJy/pxrPEx4TR3oF7erCTPBeB9SLNJ09 X-Received: by 10.194.116.9 with SMTP id js9mr20164700wjb.112.1456774026938; Mon, 29 Feb 2016 11:27:06 -0800 (PST) Received: from [192.168.1.100] (188-67-111-185.bb.dnainternet.fi. [188.67.111.185]) by smtp.gmail.com with ESMTPSA id gb9sm27351388wjb.26.2016.02.29.11.27.05 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 29 Feb 2016 11:27:06 -0800 (PST) Reply-To: Marko Myllynen To: pcp developers From: Marko Myllynen Subject: pmda leftover processes after pmda removal Organization: Red Hat X-ASG-Orig-Subj: pmda leftover processes after pmda removal Message-ID: <56D49B88.3050205@redhat.com> Date: Mon, 29 Feb 2016 21:27:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wm0-f47.google.com[74.125.82.47] X-Barracuda-Start-Time: 1456774027 X-Barracuda-Encrypted: ECDHE-RSA-AES128-GCM-SHA256 X-Barracuda-URL: https://192.48.176.25:443/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.27449 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On RHEL 7 / PCP 3.10.6 when removing a PMDA using the pipe mechanism I see that even after ./Remove the PMDA and the piped process are still running. I'd expect them both getting killed. Is this a feature or a bug or something that should be handled in the Remove script? # pstree -Aa | grep -B 1 -A 3 '[p]mdatest' |-pmcd -T 3 | |-perl /var/lib/pcp/pmdas/test/pmdatest.pl | | `-datafeed /var/lib/pcp/pmdas/test/datafeed | | `-sleep 1 | |-pmdalinux Below is a simple reproducer, a "data producer" script, and a test PMDA: #!/bin/sh while true; do echo "DATA" sleep 5 done # PMDA use strict; use warnings; use PCP::PMDA; my $pmda; my $pipecmd = "/var/lib/pcp/pmdas/test/datafeed"; sub test_pipe { my (undef, $line) = @_; $pmda->log("Incoming data:" . $line . ":"); } sub test_fetch_callback { return (PM_ERR_AGAIN, 0); } $pmda = PCP::PMDA->new('test', 497); $pmda->add_metric(pmda_pmid(0, 0), PM_TYPE_STRING, 0, PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0), 'test.test', '', ''); $pmda->add_pipe($pipecmd, \&test_pipe, 0); $pmda->set_fetch_callback(\&test_fetch_callback); $pmda->run(); Thanks, -- Marko Myllynen From lagun.t@list.ru Mon Feb 29 19:17:33 2016 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C781C29E05 for ; Mon, 29 Feb 2016 19:17:33 -0600 (CST) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 983968F8033 for ; Mon, 29 Feb 2016 17:17:30 -0800 (PST) X-ASG-Debug-ID: 1456795044-04cb6c583393860001-S8gJnT Received: from mxs.mail.ru (123-217-243-213.terrecablate.net [213.243.217.123]) by cuda.sgi.com with ESMTP id 2p6qf5lo7HqZbmAt for ; Mon, 29 Feb 2016 17:17:25 -0800 (PST) X-Barracuda-Envelope-From: lagun.t@list.ru X-Barracuda-Apparent-Source-IP: 213.243.217.123 Message-ID: From: "=?utf-8?B?0LIg0KDQvtGB0YLQvtCy0LUt0L3QsC3QlNC+0L3Rgw==?=" To: Subject: =?utf-8?B?0KDQtdGE0L7RgNC80LAg0LPQvtGB0L7QsdC+0YDQvtC90LfQsNC60LDQt9CwINC/0L4gMjc1LdCk0JcgLSDRgdC10LzQuNC90LDRgCDQsiDQoNC+0YHRgtC+0LLQtS3QvdCwLdCU0L7QvdGD?= Date: Tue, 1 Mar 2016 04:17:27 +0300 X-ASG-Orig-Subj: =?utf-8?B?0KDQtdGE0L7RgNC80LAg0LPQvtGB0L7QsdC+0YDQvtC90LfQsNC60LDQt9CwINC/0L4gMjc1LdCk0JcgLSDRgdC10LzQuNC90LDRgCDQsiDQoNC+0YHRgtC+0LLQtS3QvdCwLdCU0L7QvdGD?= MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0021_01D17371.43A376E0" X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Mailer: Microsoft Windows Live Mail 15.4.3555.308 X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308 X-Barracuda-Connect: 123-217-243-213.terrecablate.net[213.243.217.123] X-Barracuda-Start-Time: 1456795044 X-Barracuda-URL: https://192.48.176.15:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.60 X-Barracuda-Spam-Status: No, SCORE=0.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, HTML_MESSAGE, RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27455 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Ýòî — ñîîáùåíèå èç íåñêîëüêèõ ÷àñòåé â ôîðìàòå MIME. ------=_NextPart_000_0021_01D17371.43A376E0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =20 =20 =20 28-29 =D0=BC=D0=B0=D1=80=D1=82=D0=B0 | =D0=B3. = =D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83= =D0=9F=D1=80=D0=BE=D0=BC=D0=BE=D0=BA=D0=BE=D0=B4: 306 (=D1=81 10.00 =D0=B4=D0=BE 17.30) = =D0=93=D0=9E=D0=A1=D0=A3=D0=94=D0=90=D0=A0=D0=A1=D0=A2=D0=92=D0=95=D0=9D=D0= =9D=D0=AB=D0=99 =D0=9E=D0=91=D0=9E=D0=A0=D0=9E=D0=9D=D0=9D=D0=AB=D0=99 = =D0=97=D0=90=D0=9A=D0=90=D0=97.=20 =D0=9D=D0=9E=D0=92=D0=9E=D0=95 =D0=92 = =D0=9D=D0=9E=D0=A0=D0=9C=D0=90=D0=A2=D0=98=D0=92=D0=9D=D0=9E-=D0=9F=D0=A0= =D0=90=D0=92=D0=9E=D0=92=D0=9E=D0=9C = =D0=A0=D0=95=D0=93=D0=A3=D0=9B=D0=98=D0=A0=D0=9E=D0=92=D0=90=D0=9D=D0=98=D0= =98, =D0=90=D0=9A=D0=A2=D0=A3=D0=90=D0=9B=D0=AC=D0=9D=D0=AB=D0=95=20 =D0=92=D0=9E=D0=9F=D0=A0=D0=9E=D0=A1=D0=AB = =D0=A6=D0=95=D0=9D=D0=9E=D0=9E=D0=91=D0=A0=D0=90=D0=97=D0=9E=D0=92=D0=90=D0= =9D=D0=98=D0=AF, = =D0=9E=D0=A2=D0=92=D0=95=D0=A2=D0=A1=D0=A2=D0=92=D0=95=D0=9D=D0=9D=D0=9E=D0= =A1=D0=A2=D0=AC =D0=97=D0=90 = =D0=9D=D0=95=D0=98=D0=A1=D0=9F=D0=9E=D0=9B=D0=9D=D0=95=D0=9D=D0=98=D0=95 = =D0=9A=D0=9E=D0=9D=D0=A2=D0=A0=D0=90=D0=9A=D0=A2=D0=9E=D0=92 = _________________________________________________________________________= ___________ =D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B4=D0=BB=D1=8F: = =D1=80=D1=83=D0=BA=D0=BE=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0= =B9 =D0=B8 = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = (=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD=D1=8B=D1=85 = =D0=B1=D1=83=D1=85=D0=B3=D0=B0=D0=BB=D1=82=D0=B5=D1=80=D0=BE=D0=B2, = =D1=8D=D0=BA=D0=BE=D0=BD=D0=BE=D0=BC=D0=B8=D1=81=D1=82=D0=BE=D0=B2, = =D1=8E=D1=80=D0=B8=D1=81=D1=82=D0=BE=D0=B2)=20 = =D0=BF=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8=D0=B9 = =D0=B8 =D0=B8=D0=BD=D1=8B=D1=85 = =D1=8E=D1=80=D0=B8=D0=B4=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D1=85 = =D0=BB=D0=B8=D1=86, = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B8=D1=85 = =D0=B2 =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20 =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0, = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE =D0=93=D0=9E=D0=97 = =D0=BF=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8=D0=B9 = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE-=D0=BF=D1=80=D0=BE=D0=BC= =D1=8B=D1=88=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA=D1=81=D0=B0, = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=BE=D0=B2,=20 =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2 = =D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0=B9 = =D0=93=D0=9E=D0=97. =D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 =E2=80=93 = =D0=BF=D1=80=D0=B5=D0=BA=D1=80=D0=B0=D1=81=D0=BD=D0=B0=D1=8F = =D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C = =D0=B4=D0=BB=D1=8F = =D1=81=D0=BB=D1=83=D1=88=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9 = =D0=B8=D0=B7 =D0=AE=D0=B6=D0=BD=D0=BE=D0=B3=D0=BE = =D1=84=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=BA=D1=80=D1=83=D0=B3=D0=B0 = =D0=BF=D1=80=D0=BE=D0=B9=D1=82=D0=B8 = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 =D0=B1=D0=B5=D0=B7 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=D1=8B=D1=85 =D0=B8 = =D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 = =D0=B7=D0=B0=D1=82=D1=80=D0=B0=D1=82 =D0=BD=D0=B0 = =D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8,= =D0=B2 =D1=81=D0=B2=D0=BE=D0=B5=D0=BC=20 =D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=B5 = (=D0=BE=D0=BA=D1=80=D1=83=D0=B3=D0=B5), = =D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D1=82=D1=8C = =D0=B7=D0=BD=D0=B0=D0=BD=D0=B8=D1=8F =D0=BF=D0=BE = =D1=81=D0=B0=D0=BC=D0=BE=D0=B9 = =D0=B0=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9 = =D1=82=D0=B5=D0=BC=D0=B5 2016 =D0=B3=D0=BE=D0=B4=D0=B0 =D0=BE=D1=82=20 = =D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D0= =B5=D0=B9 =D1=8D=D0=BA=D1=81=D0=BF=D0=B5=D1=80=D1=82=D0=BD=D1=8B=D1=85 = =D0=B3=D1=80=D1=83=D0=BF=D0=BF = =D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0= =B0 =D0=A0=D0=A4, = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = =D0=A3=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20 =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8F = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0 = =D0=A6=D0=B5=D0=BD=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B0=D0=BF=D0=BF=D0=B0=D1=80=D0=B0=D1=82=D0=B0 =D0=A4=D0=90=D0=A1 = =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8. C=D1=80=D0=BE=D0=BA = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F - 3 = =D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D0=B8. =D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B4=D1=8F=D1=82: = =D0=95=D0=BC=D1=86=D0=BE=D0=B2=D0=B0 =D0=9E.=D0=90. - = =D0=9A.=D1=8D.=D0=BD., =D1=87=D0=BB=D0=B5=D0=BD = =D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B5=D0=B9 = =D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B = =D0=AD=D0=BA=D1=81=D0=BF=D0=B5=D1=80=D1=82=D0=BD=D0=BE=D0=B3=D0=BE = =D1=81=D0=BE=D0=B2=D0=B5=D1=82=D0=B0 =D0=BF=D1=80=D0=B8=20 = =D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0= =B5 =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B9=D1=81=D0=BA=D0=BE=D0=B9 = =D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 =D0=BF=D0=BE = =D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=B0=D0=BC = =D1=81=D0=BE=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D1=81=D1=82=D0=B2=D0=BE=D0= =B2=D0=B0=D0=BD=D0=B8=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85 =D0=B7=D0=B0=D0=BA=D1=83=D0=BF=D0=BE=D0=BA=20 =D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85 = =D0=B8=D0=BD=D0=B2=D0=B5=D1=81=D1=82=D0=B8=D1=86=D0=B8=D0=B9. = =D0=90=D0=B2=D0=B8=D0=BB=D0=BE=D0=B2 =D0=92.=D0=AE. - = =D0=97=D0=B0=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D1=82=D0=B5=D0=BB=D1=8C = =D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD=D0=B8=D0=BA=D0=B0 = =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D0=B0 = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B2=D0=BE=D0=B9 =D0=B8=20 =D1=81=D1=83=D0=B4=D0=B5=D0=B1=D0=BD=D0=BE=D0=B9 = =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5 = =D0=93=D0=BE=D1=81=D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=B7=D0=B0=D0=BA=D0= =B0=D0=B7=D0=B0 = =D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9 = =D0=B0=D0=BD=D1=82=D0=B8=D0=BC=D0=BE=D0=BD=D0=BE=D0=BF=D0=BE=D0=BB=D1=8C=D0= =BD=D0=BE=D0=B9 =D1=81=D0=BB=D1=83=D0=B6=D0=B1=D1=8B (=D0=A4=D0=90=D0=A1 = =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8). =20 =D0=9C=D0=B5=D1=81=D1=82=D0=BE = =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F: =D0=B3. = =D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83= , =D0=BF=D1=80. = =D0=91=D1=83=D0=B4=D0=B5=D0=BD=D0=BD=D0=BE=D0=B2=D1=81=D0=BA=D0=B8=D0=B9,= 59, =D0=93=D0=BE=D1=81=D1=82=D0=B8=D0=BD=D0=B8=D1=86=D0=B0 = "=D0=9C=D0=B0=D1=80=D0=B8=D0=BD=D1=81 =D0=9F=D0=B0=D1=80=D0=BA = =D0=9E=D1=82=D0=B5=D0=BB=D1=8C".=20 =D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8F = =D0=B8 = =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D1=8F = =D0=BF=D0=BE =D1=82=D0=B5=D0=BB=D0=B5=D1=84=D0=BE=D0=BD=D1=83 =D0=B2 = =D0=9C=D0=BE=D1=81=D0=BA=D0=B2=D0=B5: 8 =D0=BA=D0=BE=D0=B4 =D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=B0 = (495) =D1=82=D0=B5=D0=BB.: 411 - 90 - 98 = (=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD= =D1=8B=D0=B9) =20 =20 =20 =D0=92 =D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B5: 1. =D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F =D0=B2 = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=B4=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1= =81=D1=82=D0=B2=D0=B5 =D0=BE = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=BC =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=BC = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B5 (=D0=93=D0=9E=D0=97), = =D0=9A=D0=BE=D0=B4=D0=B5=D0=BA=D1=81=D0=B5 =D0=BE=D0=B1=20 = =D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=B8=D0= =B2=D0=BD=D1=8B=D1=85 = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D1=8F=D1=85 =D0=B2 =D0=A0=D0=A4 =D0=B8 =D1=82.=D0=B4. =D0=9D=D0=BE=D1=80=D0=BC=D1=8B =D0=B8 = =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F = =D0=A4=D0=97 =E2=84=96 275-=D0=A4=D0=97 =D0=BE=D1=82 29 = =D0=B4=D0=B5=D0=BA=D0=B0=D0=B1=D1=80=D1=8F 2012 =D0=B3. "=D0=9E = =D0=93=D0=9E=D0=97"; =D0=9D=D0=BE=D0=B2=D0=BE=D0=B5 =D0=B2 = =D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=B5 =D0=93=D0=9E=D0=97 =D0=B2 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81 = =D0=BF=D0=BE=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8 = =D0=A4=D0=97 =E2=84=96 159-=D0=A4=D0=97 =D0=BE=D1=82 29 = =D0=B8=D1=8E=D0=BD=D1=8F 2015 =D0=B3.=20 "=D0=9E =D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9 =D0=B2 = =D0=A4=D0=97 "=D0=9E =D0=93=D0=9E=D0=97" =D0=B8 = =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5 = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=B4=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0= =BD=D1=8B=D0=B5 =D0=B0=D0=BA=D1=82=D1=8B =D0=A0=D0=A4". 2. =D0=9E=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8 = =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=B0, = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F,=20 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F. 3. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8 = =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F. = =D0=9A=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8F = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE=20 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F. 4. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8 = =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F. 5. = =D0=A4=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5 = =D0=BA=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D1=8B=D0=BC=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=93=D0=9E=D0=97. =D0=A3=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D1=8F=20 =D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D0=BC=D1=8B=D1=85 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE =D0=93=D0=9E=D0=97. 6. = =D0=9E=D0=B1=D0=B5=D1=81=D0=BF=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BE=D0=BA = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8, = =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D1=8F = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=BE=D0=B2 =D0=BD=D0=B0 = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BA=D0=B8 = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8. 7. =D0=97=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0. = =D0=92=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B8=D0=B4=D0=B5=D0=BD=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1= =80=D0=B0 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE=20 =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0. 8. =D0=9A=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C =D0=B7=D0=B0 = =D0=BE=D0=B1=D0=B5=D1=81=D0=BF=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0 =D0=B8 = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BE=D0=BA = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8/=D0=B8=D0=BB=D0=B8 = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D1=8B=D0=BC=20 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0=BC.= 9. =D0=9E=D1=82=D0=BA=D0=B0=D0=B7 = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2 = =D0=BA=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 = =D0=BE=D1=82 = =D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 =D0=B2 = =D1=80=D0=B0=D0=BC=D0=BA=D0=B0=D1=85 = =D1=81=D0=BE=D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B6=D0=B4=D0=B0=D0=B5=D0=BC=D0= =BE=D0=B9 =D1=81=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8.=20 =D0=90=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC = =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B =D0=BF=D0=BE = =D1=83=D1=80=D0=B5=D0=B3=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0= =B8=D1=8E = =D1=80=D0=B0=D0=B7=D0=BD=D0=BE=D0=B3=D0=BB=D0=B0=D1=81=D0=B8=D0=B9; = =D0=A0=D0=B5=D0=B6=D0=B8=D0=BC = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1= =8F =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D1=81=D1=87=D0=B5=D1=82=D0=B0 =D0=B8=20 =D0=B7=D0=B0=D0=BF=D1=80=D0=B5=D1=82=D1=8B =D0=BD=D0=B0 = =D1=81=D0=BE=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9; = =D0=9A=D1=80=D0=B8=D1=82=D0=B5=D1=80=D0=B8=D0=B8 = =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9, = =D0=BF=D1=80=D0=B8=D0=BE=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0= =B2=D0=B0=D0=B5=D0=BC=D1=8B=D1=85 =D0=B2 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81=20 =D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=BC "=D0=9E = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=BC =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=BC = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B5" =D0=B8 =D1=82.=D0=B4. 10. =D0=A3=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D1=8F = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2, = =D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D1=8E=D1= =89=D0=B8=D0=B5 =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80 = =D0=BF=D1=80=D0=B8=D0=B1=D1=8B=D0=BB=D0=B8 =D0=B8 (=D0=B8=D0=BB=D0=B8) = =D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA=20 =D0=BA=D0=BE=D0=BC=D0=BF=D0=B5=D0=BD=D1=81=D0=B0=D1=86=D0=B8=D0=B8 = =D0=BF=D0=BE=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 = =D0=B7=D0=B0 =D1=81=D1=87=D0=B5=D1=82 = =D1=81=D0=BE=D0=B1=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 = =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2 = =D1=80=D0=B0=D1=81=D1=85=D0=BE=D0=B4=D0=BE=D0=B2 =D0=BD=D0=B0 = =D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5 = =D0=B7=D0=B0=D0=BF=D0=B0=D1=81=D0=B0=20 =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8, = =D1=81=D1=8B=D1=80=D1=8C=D1=8F, = =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB=D0=BE=D0=B2, = =D0=BF=D0=BE=D0=BB=D1=83=D1=84=D0=B0=D0=B1=D1=80=D0=B8=D0=BA=D0=B0=D1=82=D0= =BE=D0=B2, = =D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA=D1=82=D1=83=D1=8E=D1=89=D0=B8=D1= =85 =D0=B8=D0=B7=D0=B4=D0=B5=D0=BB=D0=B8=D0=B9, = =D0=BD=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=D0=B3=D0=BE = =D0=B4=D0=BB=D1=8F=20 =D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F = =D0=93=D0=9E=D0=97; 11. =D0=98=D1=81=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D0=BA=D0=B8 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0= =B8=D1=8F =D1=80=D0=B0=D0=B1=D0=BE=D1=82 =D0=BF=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0=D0=BC, = =D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC = =D1=81 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8=20 = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=B0=D0=BC=D0=B8. 12. =D0=91=D0=B0=D0=BD=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=BE=D0=B5 = =D1=81=D0=BE=D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0= =B5 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0 =D0=B8 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE =D0=93=D0=9E=D0=97 13. = =D0=93=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D0=B9 =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C = (=D0=BD=D0=B0=D0=B4=D0=B7=D0=BE=D1=80) =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0. 14. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=B0 = =D1=86=D0=B5=D0=BD=D0=BE=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0= =BD=D0=B8=D1=8F =D0=BD=D0=B0 = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D1=8E = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=BD=D0=B0=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F. 15. =D0=9F=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA = =D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F = =D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D1=83=D1=87=D0=B5=D1=82=D0=B0 =D0=B7=D0=B0=D1=82=D1=80=D0=B0=D1=82 = =D0=B8 = =D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=BE=D0=B2 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=D0=BE-=D1=85=D0=BE=D0=B7= =D1=8F=D0=B9=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=20 = =D0=B4=D0=B5=D1=8F=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B2 =D1=81=D1=84=D0=B5=D1=80=D0=B5 =D0=93=D0=9E=D0=97. 16. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=BC=D0=BE=D1=87=D0=B8=D1=8F = =D0=A4=D0=90=D0=A1 =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8 =D0=BF=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8E =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5 =D0=93=D0=9E=D0=97, =D0=B0 = =D1=82=D0=B0=D0=BA=D0=B6=D0=B5 = =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8 = =D1=86=D0=B5=D0=BD =D0=BD=D0=B0=20 =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D1=8E, = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D0=BC=D1=83=D1=8E = =D0=BF=D0=BE =D0=93=D0=9E=D0=97. 17. = =D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=B8=D0= =B2=D0=BD=D0=B0=D1=8F = =D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D1=8C =D0=B2 =D0=9A=D0=BE=D0=B4=D0=B5=D0=BA=D1=81=D0=B5 = =D0=BE=D0=B1 = =D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=B8=D0= =B2=D0=BD=D1=8B=D1=85 = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D1=8F=D1=85 =D0=B2 =D0=A0=D0=A4:=20 =D0=B2=D0=B8=D0=B4=D1=8B = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D0=B9 =D0=B8 =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80 = =D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D0=B8. = =D0=9E=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D1=8C =D0=B7=D0=B0 = =D0=BD=D0=B5=D0=B4=D0=BE=D0=B1=D1=80=D0=BE=D1=81=D0=BE=D0=B2=D0=B5=D1=81=D1= =82=D0=BD=D0=BE=D0=B5=20 =D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=93=D0=9E=D0=97 =D0=B2 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81 = =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8 = =D0=9F=D0=BE=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1= =8F = =D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0= =B0 =E2=84=96 1211 =D0=BE=D1=82 22=20 =D0=BD=D0=BE=D1=8F=D0=B1=D1=80=D1=8F 2012 =D0=B3. ------------------------------------------------------ =D0=A1=D1=82=D0=BE=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=B8=D1=8F: 29800 =D1=80=D1=83=D0=B1. = (=D1=81=D0=BA=D0=B8=D0=B4=D0=BA=D0=B8 2 = =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =E2=80=93 10%, 3 = =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =E2=80=93 15%, 4 = =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =D0=B8=20 =D0=B1=D0=BE=D0=BB=D0=B5=D0=B5 =E2=80=93 20%.!) =D0=94=D0=BB=D1=8F = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2 = =D0=BF=D1=80=D0=B5=D0=B4=D1=83=D1=81=D0=BC=D0=BE=D1=82=D1=80=D0=B5=D0=BD=D0= =BE: = =D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B9 = =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB, = =D0=BE=D0=B1=D0=B5=D0=B4=D1=8B, = =D0=BA=D0=BE=D1=84=D0=B5-=D0=BF=D0=B0=D1=83=D0=B7=D1=8B. = =D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82 =D0=BF=D0=BE=20 =D0=BE=D0=BA=D0=BE=D0=BD=D1=87=D0=B0=D0=BD=D0=B8=D0=B8 = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F: = =D0=BA=D1=83=D1=80=D1=81=D0=BE=D0=B2=D0=BE=D0=B9 = =D1=81=D0=B5=D1=80=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82 =D0=BE = =D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F =D0=BF=D0=BE = =D0=B4=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9 =D1=82=D0=B5=D0=BC=D0=B5. =20 =20 =20 ------=_NextPart_000_0021_01D17371.43A376E0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
      
   


28-29 = =D0=BC=D0=B0=D1=80=D1=82=D0=B0 |
=D0=B3.=20 =D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE= =D0=BD=D1=83
=D0=9F=D1=80=D0=BE=D0=BC=D0=BE=D0=BA=D0=BE=D0=B4: = 306
(
=D1=81 10.00 =D0=B4=D0=BE=20 17.30)


=D0=93=D0=9E=D0=A1=D0=A3=D0=94=D0=90=D0=A0=D0=A1=D0=A2=D0=92=D0=95= =D0=9D=D0=9D=D0=AB=D0=99 = =D0=9E=D0=91=D0=9E=D0=A0=D0=9E=D0=9D=D0=9D=D0=AB=D0=99 = =D0=97=D0=90=D0=9A=D0=90=D0=97.
=D0=9D=D0=9E=D0=92=D0=9E=D0=95 = =D0=92=20 = =D0=9D=D0=9E=D0=A0=D0=9C=D0=90=D0=A2=D0=98=D0=92=D0=9D=D0=9E-=D0=9F=D0=A0= =D0=90=D0=92=D0=9E=D0=92=D0=9E=D0=9C = =D0=A0=D0=95=D0=93=D0=A3=D0=9B=D0=98=D0=A0=D0=9E=D0=92=D0=90=D0=9D=D0=98=D0= =98, =D0=90=D0=9A=D0=A2=D0=A3=D0=90=D0=9B=D0=AC=D0=9D=D0=AB=D0=95 =
=D0=92=D0=9E=D0=9F=D0=A0=D0=9E=D0=A1=D0=AB=20 = =D0=A6=D0=95=D0=9D=D0=9E=D0=9E=D0=91=D0=A0=D0=90=D0=97=D0=9E=D0=92=D0=90=D0= =9D=D0=98=D0=AF, = =D0=9E=D0=A2=D0=92=D0=95=D0=A2=D0=A1=D0=A2=D0=92=D0=95=D0=9D=D0=9D=D0=9E=D0= =A1=D0=A2=D0=AC =D0=97=D0=90 = =D0=9D=D0=95=D0=98=D0=A1=D0=9F=D0=9E=D0=9B=D0=9D=D0=95=D0=9D=D0=98=D0=95 = =
=D0=9A=D0=9E=D0=9D=D0=A2=D0=A0=D0=90=D0=9A=D0=A2=D0=9E=D0=92

_________________________________________________________= ___________________________

=D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B4=D0=BB=D1=8F:=20 = =D1=80=D1=83=D0=BA=D0=BE=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0= =B9 =D0=B8 = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = (=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD=D1=8B=D1=85 = =D0=B1=D1=83=D1=85=D0=B3=D0=B0=D0=BB=D1=82=D0=B5=D1=80=D0=BE=D0=B2, = =D1=8D=D0=BA=D0=BE=D0=BD=D0=BE=D0=BC=D0=B8=D1=81=D1=82=D0=BE=D0=B2,=20 =D1=8E=D1=80=D0=B8=D1=81=D1=82=D0=BE=D0=B2) =
=D0=BF=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8=D0=B9 = =D0=B8 =D0=B8=D0=BD=D1=8B=D1=85 = =D1=8E=D1=80=D0=B8=D0=B4=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D1=85 = =D0=BB=D0=B8=D1=86, = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B8=D1=85 = =D0=B2=20 =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE =
=D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0, = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE=20 =D0=93=D0=9E=D0=97 = =D0=BF=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8=D0=B9 = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE-=D0=BF=D1=80=D0=BE=D0=BC= =D1=8B=D1=88=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA=D1=81=D0=B0, = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=BE=D0=B2,=20 =
=D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2 =D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0=B9 = =D0=93=D0=9E=D0=97.

=D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =E2=80=93 =D0=BF=D1=80=D0=B5=D0=BA=D1=80=D0=B0=D1=81=D0=BD=D0=B0=D1=8F = =D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C = =D0=B4=D0=BB=D1=8F = =D1=81=D0=BB=D1=83=D1=88=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9 = =D0=B8=D0=B7=20 =D0=AE=D0=B6=D0=BD=D0=BE=D0=B3=D0=BE = =D1=84=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE =
=D0=BE=D0=BA=D1=80=D1=83=D0=B3=D0=B0 = =D0=BF=D1=80=D0=BE=D0=B9=D1=82=D0=B8 = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 =D0=B1=D0=B5=D0=B7 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=D1=8B=D1=85 =D0=B8=20 =D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 = =D0=B7=D0=B0=D1=82=D1=80=D0=B0=D1=82 =D0=BD=D0=B0 = =D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B8,= =D0=B2 =D1=81=D0=B2=D0=BE=D0=B5=D0=BC =
=D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=B5 = (=D0=BE=D0=BA=D1=80=D1=83=D0=B3=D0=B5),=20 =D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D1=82=D1=8C = =D0=B7=D0=BD=D0=B0=D0=BD=D0=B8=D1=8F =D0=BF=D0=BE = =D1=81=D0=B0=D0=BC=D0=BE=D0=B9 = =D0=B0=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9 = =D1=82=D0=B5=D0=BC=D0=B5 2016 =D0=B3=D0=BE=D0=B4=D0=B0 =D0=BE=D1=82=20 =
=D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0= =BB=D0=B5=D0=B9 = =D1=8D=D0=BA=D1=81=D0=BF=D0=B5=D1=80=D1=82=D0=BD=D1=8B=D1=85 = =D0=B3=D1=80=D1=83=D0=BF=D0=BF = =D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0= =B0 =D0=A0=D0=A4, = =D1=81=D0=BF=D0=B5=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D1=81=D1=82=D0=BE=D0=B2 = =D0=A3=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F =
=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8F = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0=20 = =D0=A6=D0=B5=D0=BD=D1=82=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B0=D0=BF=D0=BF=D0=B0=D1=80=D0=B0=D1=82=D0=B0 =D0=A4=D0=90=D0=A1 = =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8.
C=D1=80=D0=BE=D0=BA = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F - 3=20 =D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D0=B8.

=D0=9E=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20 =D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B4=D1=8F=D1=82: = =D0=95=D0=BC=D1=86=D0=BE=D0=B2=D0=B0 =D0=9E.=D0=90. - = =D0=9A.=D1=8D.=D0=BD., =D1=87=D0=BB=D0=B5=D0=BD = =D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B5=D0=B9 = =D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B = =D0=AD=D0=BA=D1=81=D0=BF=D0=B5=D1=80=D1=82=D0=BD=D0=BE=D0=B3=D0=BE=20 =D1=81=D0=BE=D0=B2=D0=B5=D1=82=D0=B0 =D0=BF=D1=80=D0=B8 =
=D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0= =B2=D0=B5 =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B9=D1=81=D0=BA=D0=BE=D0=B9 = =D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 =D0=BF=D0=BE = =D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=B0=D0=BC=20 = =D1=81=D0=BE=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D1=81=D1=82=D0=B2=D0=BE=D0= =B2=D0=B0=D0=BD=D0=B8=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85 =D0=B7=D0=B0=D0=BA=D1=83=D0=BF=D0=BE=D0=BA
=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85=20 = =D0=B8=D0=BD=D0=B2=D0=B5=D1=81=D1=82=D0=B8=D1=86=D0=B8=D0=B9. = =D0=90=D0=B2=D0=B8=D0=BB=D0=BE=D0=B2 =D0=92.=D0=AE. - = =D0=97=D0=B0=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D1=82=D0=B5=D0=BB=D1=8C = =D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD=D0=B8=D0=BA=D0=B0 = =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D0=B0=20 =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B2=D0=BE=D0=B9 =D0=B8 =
=D1=81=D1=83=D0=B4=D0=B5=D0=B1=D0=BD=D0=BE=D0=B9 = =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5 = =D0=93=D0=BE=D1=81=D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=B7=D0=B0=D0=BA=D0= =B0=D0=B7=D0=B0 = =D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20 = =D0=B0=D0=BD=D1=82=D0=B8=D0=BC=D0=BE=D0=BD=D0=BE=D0=BF=D0=BE=D0=BB=D1=8C=D0= =BD=D0=BE=D0=B9 =D1=81=D0=BB=D1=83=D0=B6=D0=B1=D1=8B (=D0=A4=D0=90=D0=A1 = =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8).
 

=D0=9C=D0=B5=D1=81=D1=82=D0=BE=20 = =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F: = =D0=B3. = =D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83= , =D0=BF=D1=80. = =D0=91=D1=83=D0=B4=D0=B5=D0=BD=D0=BD=D0=BE=D0=B2=D1=81=D0=BA=D0=B8=D0=B9,= 59, =D0=93=D0=BE=D1=81=D1=82=D0=B8=D0=BD=D0=B8=D1=86=D0=B0=20 "=D0=9C=D0=B0=D1=80=D0=B8=D0=BD=D1=81 = =D0=9F=D0=B0=D1=80=D0=BA =D0=9E=D1=82=D0=B5=D0=BB=D1=8C". =
=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8F= =D0=B8=20 = =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D1=8F =D0=BF=D0=BE = =D1=82=D0=B5=D0=BB=D0=B5=D1=84=D0=BE=D0=BD=D1=83 =D0=B2=20 =D0=9C=D0=BE=D1=81=D0=BA=D0=B2=D0=B5:

8=20 =D0=BA=D0=BE=D0=B4 = =D0=B3=D0=BE=D1=80=D0=BE=D0=B4=D0=B0 (495)=20 =D1=82=D0=B5=D0=BB.: 411 - 90 - 98=20 (=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D1= =8C=D0=BD=D1=8B=D0=B9)

 

 
 
   
   

=D0=92=20 = =D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B5:

1. = =D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F =D0=B2 = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=B4=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1= =81=D1=82=D0=B2=D0=B5 =D0=BE = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=BC=20 =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=BC = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B5 (=D0=93=D0=9E=D0=97), = =D0=9A=D0=BE=D0=B4=D0=B5=D0=BA=D1=81=D0=B5 =D0=BE=D0=B1
   =20 = =D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82= =D0=B8=D0=B2=D0=BD=D1=8B=D1=85 = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D1=8F=D1=85 =D0=B2 =D0=A0=D0=A4 =D0=B8 =D1=82.=D0=B4.

   
=D0=9D=D0=BE=D1=80=D0=BC=D1=8B =D0=B8=20 =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F = =D0=A4=D0=97 =E2=84=96 275-=D0=A4=D0=97 =D0=BE=D1=82 29 = =D0=B4=D0=B5=D0=BA=D0=B0=D0=B1=D1=80=D1=8F 2012 =D0=B3. "=D0=9E = =D0=93=D0=9E=D0=97";
    = =D0=9D=D0=BE=D0=B2=D0=BE=D0=B5 =D0=B2 = =D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=B5 =D0=93=D0=9E=D0=97 =D0=B2 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81=20 =D0=BF=D0=BE=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8 = =D0=A4=D0=97 =E2=84=96 159-=D0=A4=D0=97 =D0=BE=D1=82 29 = =D0=B8=D1=8E=D0=BD=D1=8F 2015 =D0=B3.
    "=D0=9E = =D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9 =D0=B2 = =D0=A4=D0=97 "=D0=9E =D0=93=D0=9E=D0=97" =D0=B8=20 =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5 = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=B4=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0= =BD=D1=8B=D0=B5 =D0=B0=D0=BA=D1=82=D1=8B =D0=A0=D0=A4".


2.
= =D0=9E=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8 = =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE=20 =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=B0, = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F, =
=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F.
3. = =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8=20 =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F. = =D0=9A=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8F = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE=20 =
=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F.
4.=20 =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B0 =D0=B8 = =D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F.
5. = =D0=A4=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8= =D0=B5 =D0=BA=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20 =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D1=8B=D0=BC=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=93=D0=9E=D0=97. =D0=A3=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D1=8F =
=D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D0=BC=D1=8B=D1=85=20 =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE =D0=93=D0=9E=D0=97.

6.=20 = =D0=9E=D0=B1=D0=B5=D1=81=D0=BF=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5= =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BE=D0=BA = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8, = =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D1=8F = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=BE=D0=B2 =D0=BD=D0=B0 = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BA=D0=B8=20 = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8.

7.=20 = =D0=97=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0. = =D0=92=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=B8=D0=B4=D0=B5=D0=BD=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1= =80=D0=B0=20 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE =
=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0.

8. = =D0=9A=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C =D0=B7=D0=B0 = =D0=BE=D0=B1=D0=B5=D1=81=D0=BF=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0 =D0=B8 = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BE=D0=BA=20 =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8/=D0=B8=D0=BB=D0=B8 = =D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BD=D1=8B=D0=BC =
=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0= =BC.

9. = =D0=9E=D1=82=D0=BA=D0=B0=D0=B7 = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20 =D0=BA=D0=BE=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8 = =D0=BE=D1=82 = =D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 =D0=B2 = =D1=80=D0=B0=D0=BC=D0=BA=D0=B0=D1=85 = =D1=81=D0=BE=D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B6=D0=B4=D0=B0=D0=B5=D0=BC=D0= =BE=D0=B9 =D1=81=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8.=20
=D0=90=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC = =D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B =D0=BF=D0=BE = =D1=83=D1=80=D0=B5=D0=B3=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0= =B8=D1=8E = =D1=80=D0=B0=D0=B7=D0=BD=D0=BE=D0=B3=D0=BB=D0=B0=D1=81=D0=B8=D0=B9; = =D0=A0=D0=B5=D0=B6=D0=B8=D0=BC = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1= =8F=20 =D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D1=81=D1=87=D0=B5=D1=82=D0=B0 =D0=B8 =
=D0=B7=D0=B0=D0=BF=D1=80=D0=B5=D1=82=D1=8B =D0=BD=D0=B0 = =D1=81=D0=BE=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9; = =D0=9A=D1=80=D0=B8=D1=82=D0=B5=D1=80=D0=B8=D0=B8 = =D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9,=20 = =D0=BF=D1=80=D0=B8=D0=BE=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0= =B2=D0=B0=D0=B5=D0=BC=D1=8B=D1=85 =D0=B2 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81 =
=D0=A4=D0=B5=D0=B4=D0=B5=D1=80=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC = =D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D0=BE=D0=BC "=D0=9E=20 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=BC =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=BC = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B5" =D0=B8 =D1=82.=D0=B4.

10. = =D0=A3=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D1=8F = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D1=8B=D1=85 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2,=20 = =D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D1=8E=D1= =89=D0=B8=D0=B5 =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80 = =D0=BF=D1=80=D0=B8=D0=B1=D1=8B=D0=BB=D0=B8 =D0=B8 (=D0=B8=D0=BB=D0=B8) = =D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA =
=D0=BA=D0=BE=D0=BC=D0=BF=D0=B5=D0=BD=D1=81=D0=B0=D1=86=D0=B8=D0=B8 = =D0=BF=D0=BE=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20 =D0=B7=D0=B0 =D1=81=D1=87=D0=B5=D1=82 = =D1=81=D0=BE=D0=B1=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 = =D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2 = =D1=80=D0=B0=D1=81=D1=85=D0=BE=D0=B4=D0=BE=D0=B2 =D0=BD=D0=B0 = =D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5 = =D0=B7=D0=B0=D0=BF=D0=B0=D1=81=D0=B0 =
=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8,=20 =D1=81=D1=8B=D1=80=D1=8C=D1=8F, = =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB=D0=BE=D0=B2, = =D0=BF=D0=BE=D0=BB=D1=83=D1=84=D0=B0=D0=B1=D1=80=D0=B8=D0=BA=D0=B0=D1=82=D0= =BE=D0=B2, = =D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA=D1=82=D1=83=D1=8E=D1=89=D0=B8=D1= =85 =D0=B8=D0=B7=D0=B4=D0=B5=D0=BB=D0=B8=D0=B9, = =D0=BD=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=D0=B3=D0=BE = =D0=B4=D0=BB=D1=8F=20
=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F = =D0=93=D0=9E=D0=97;

11.=20 =D0=98=D1=81=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D0=BA=D0=B8 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0= =B8=D1=8F =D1=80=D0=B0=D0=B1=D0=BE=D1=82 =D0=BF=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0=D0=BC, = =D0=B7=D0=B0=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC = =D1=81=20 = =D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=D0= =B8 =D0=B8 =
=D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=D0=B0=D0=BC=D0=B8.
12. = =D0=91=D0=B0=D0=BD=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=BE=D0=B5 = =D1=81=D0=BE=D0=BF=D1=80=D0=BE=D0=B2=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0= =B5 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE=20 =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=B0 =D0=B8 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2 = =D0=BF=D0=BE =D0=93=D0=9E=D0=97

13. = =D0=93=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5= =D0=BD=D0=BD=D1=8B=D0=B9 = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C = (=D0=BD=D0=B0=D0=B4=D0=B7=D0=BE=D1=80) =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5=20 = =D0=B3=D0=BE=D1=81=D1=83=D0=B4=D0=B0=D1=80=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0= =BD=D0=BE=D0=B3=D0=BE = =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=B0.

14. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 = =D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=B0 = =D1=86=D0=B5=D0=BD=D0=BE=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0= =BD=D0=B8=D1=8F =D0=BD=D0=B0 = =D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D1=8E=20 =D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE = =D0=BD=D0=B0=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F.

15. = =D0=9F=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA = =D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F = =D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE = =D1=83=D1=87=D0=B5=D1=82=D0=B0 =D0=B7=D0=B0=D1=82=D1=80=D0=B0=D1=82 = =D0=B8=20 =D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=BE=D0=B2 = =D1=84=D0=B8=D0=BD=D0=B0=D0=BD=D1=81=D0=BE=D0=B2=D0=BE-=D1=85=D0=BE=D0=B7= =D1=8F=D0=B9=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9 =
=D0=B4=D0=B5=D1=8F=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D0= =B8 =D0=B2 =D1=81=D1=84=D0=B5=D1=80=D0=B5=20 =D0=93=D0=9E=D0=97.

16. =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20 =D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=BC=D0=BE=D1=87=D0=B8=D1=8F = =D0=A4=D0=90=D0=A1 =D0=A0=D0=BE=D1=81=D1=81=D0=B8=D0=B8 =D0=BF=D0=BE = =D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8E =D0=B2 = =D1=81=D1=84=D0=B5=D1=80=D0=B5 =D0=93=D0=9E=D0=97, =D0=B0 = =D1=82=D0=B0=D0=BA=D0=B6=D0=B5 = =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8 = =D1=86=D0=B5=D0=BD =D0=BD=D0=B0=20
=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D1=8E, = =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D0=BC=D1=83=D1=8E = =D0=BF=D0=BE =D0=93=D0=9E=D0=97.

17. = =D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82= =D0=B8=D0=B2=D0=BD=D0=B0=D1=8F = =D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D1=8C =D0=B2 =D0=9A=D0=BE=D0=B4=D0=B5=D0=BA=D1=81=D0=B5 = =D0=BE=D0=B1=20 = =D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=B8=D0= =B2=D0=BD=D1=8B=D1=85 = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D1=8F=D1=85 =D0=B2 =D0=A0=D0=A4:
=D0=B2=D0=B8=D0=B4=D1=8B = =D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BD=D0=B0=D1=80=D1=83=D1=88=D0=B5=D0=BD=D0= =B8=D0=B9 =D0=B8 =D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=20 = =D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D0=B8. = =D0=9E=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D0=BE=D1= =81=D1=82=D1=8C =D0=B7=D0=B0 = =D0=BD=D0=B5=D0=B4=D0=BE=D0=B1=D1=80=D0=BE=D1=81=D0=BE=D0=B2=D0=B5=D1=81=D1= =82=D0=BD=D0=BE=D0=B5 =
=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5 = =D0=93=D0=9E=D0=97 =D0=B2=20 = =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B8 = =D1=81 = =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8 = =D0=9F=D0=BE=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1= =8F = =D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0= =B0 =E2=84=96 1211 =D0=BE=D1=82 22=20
=D0=BD=D0=BE=D1=8F=D0=B1=D1=80=D1=8F 2012 =D0=B3.

------------------------------------------------------

=D0=A1=D1=82=D0=BE=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20 =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=B8=D1=8F: 29800 = =D1=80=D1=83=D0=B1. (=D1=81=D0=BA=D0=B8=D0=B4=D0=BA=D0=B8 2 = =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =E2=80=93 10%, 3 = =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =E2=80=93 15%,=20 4 =D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=B0 =D0=B8 =
=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5 =E2=80=93 = 20%.!)
=D0=94=D0=BB=D1=8F = =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2 = =D0=BF=D1=80=D0=B5=D0=B4=D1=83=D1=81=D0=BC=D0=BE=D1=82=D1=80=D0=B5=D0=BD=D0= =BE:=20 = =D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B9 = =D0=BC=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=B0=D0=BB, = =D0=BE=D0=B1=D0=B5=D0=B4=D1=8B, = =D0=BA=D0=BE=D1=84=D0=B5-=D0=BF=D0=B0=D1=83=D0=B7=D1=8B. = =D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82 =D0=BF=D0=BE =
=D0=BE=D0=BA=D0=BE=D0=BD=D1=87=D0=B0=D0=BD=D0=B8=D0=B8=20 =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F: = =D0=BA=D1=83=D1=80=D1=81=D0=BE=D0=B2=D0=BE=D0=B9 = =D1=81=D0=B5=D1=80=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82 =D0=BE = =D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8 = =D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F =D0=BF=D0=BE = =D0=B4=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9 =D1=82=D0=B5=D0=BC=D0=B5.

 

       
------=_NextPart_000_0021_01D17371.43A376E0-- From mgoodwin@redhat.com Mon Feb 29 19:41:07 2016 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 B8A7E29E05 for ; Mon, 29 Feb 2016 19:41:07 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8715D304039 for ; Mon, 29 Feb 2016 17:41:07 -0800 (PST) X-ASG-Debug-ID: 1456796465-04cbb00b72d2850001-S8gJnT Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YLlRzGOj07ePLNJ9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 29 Feb 2016 17:41:06 -0800 (PST) X-Barracuda-Envelope-From: mgoodwin@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 (Postfix) with ESMTPS id B4DE78E3C9 for ; Tue, 1 Mar 2016 01:41:05 +0000 (UTC) Received: from [10.64.48.177] (vpn1-48-177.bne.redhat.com [10.64.48.177]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u211f4uE025173 for ; Mon, 29 Feb 2016 20:41:05 -0500 From: Mark Goodwin Subject: pcp updates - add pmiPutMark() to LOGIMPORT API To: pcp X-ASG-Orig-Subj: pcp updates - add pmiPutMark() to LOGIMPORT API Message-ID: <56D4F32F.2080909@redhat.com> Date: Tue, 1 Mar 2016 12:41:03 +1100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed 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: 1456796466 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.176.25:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This adds pmiPutMark() to the LOGIMPORT API, along with language bindings and QA updates. Also enhances collectl2pcp to write records when processing multiple collectl input logs. Changes committed to git://git.pcp.io/mgoodwin/pcp master commit af9101761f1be142bbb1552c1d492b342f2641d4 Author: Mark Goodwin Date: Tue Mar 1 12:06:22 2016 +1100 collectl2pcp: write a record between each input source When processing more than one collectl input log file, write a record to the output PCP archive to signify the discontinuity between each input source. commit ca0f13818ab5501facd3bcfe3589476547758e90 Author: Mark Goodwin Date: Tue Mar 1 12:04:02 2016 +1100 logimport: QA updates for pmiPutMark modified: qa/369.out modified: qa/710.out modified: qa/src/check_import.c modified: qa/src/check_import.perl modified: qa/src/check_import.python commit b829edaedf9198180c4a82e26b65cea12ffcca07 Author: Mark Goodwin Date: Tue Mar 1 11:54:26 2016 +1100 logimport: add pmiPutMark() to API to write records Add new LOGIMPORT function pmiPutMark() to write a record to signify a temporal discontinuity in the output PCP archive, usually after the last pmiWrite() for the current input source, before the next input source begins. Also adds pmiPutMark(3) man page and updates for the C, perl and python bindings. modified: man/man3/logimport.3 new file: man/man3/pmiputmark.3 modified: src/include/pcp/import.h modified: src/libpcp_import/src/exports modified: src/libpcp_import/src/import.c modified: src/perl/LogImport/Changes modified: src/perl/LogImport/LogImport.pm modified: src/perl/LogImport/LogImport.xs modified: src/python/pcp/pmi.py commit bc92b973c195d314f41954dadd9f5226a403813f Merge: af4cbb0 c4555d2 Author: Mark Goodwin Date: Tue Mar 1 11:40:46 2016 +1100 Merge branch 'master' of git://oss.sgi.com/pcp/pcp From nscott@redhat.com Mon Feb 29 21:51:36 2016 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 705C029E05 for ; Mon, 29 Feb 2016 21:51:36 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 352C8304032 for ; Mon, 29 Feb 2016 19:51:33 -0800 (PST) X-ASG-Debug-ID: 1456804287-04bdf002ebb2490001-S8gJnT Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by cuda.sgi.com with ESMTP id AXE7vcfNZibbEgwX (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 29 Feb 2016 19:51:27 -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 u213pQLO020270; Mon, 29 Feb 2016 22:51:26 -0500 Date: Mon, 29 Feb 2016 22:51:26 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: Marko Myllynen Cc: pcp developers Message-ID: <631903287.26016737.1456804286017.JavaMail.zimbra@redhat.com> In-Reply-To: <56D49B88.3050205@redhat.com> References: <56D49B88.3050205@redhat.com> Subject: Re: [pcp] pmda leftover processes after pmda removal MIME-Version: 1.0 X-ASG-Orig-Subj: Re: [pcp] pmda leftover processes after pmda removal Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.172] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pmda leftover processes after pmda removal Thread-Index: jAiUHGqH51xDG7vACCIvccKsAmTkvg== X-Barracuda-Connect: mx6-phx2.redhat.com[209.132.183.39] X-Barracuda-Start-Time: 1456804287 X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384 X-Barracuda-URL: https://192.48.157.11:443/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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.27458 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 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain Hi Marko, ----- Original Message ----- > [...] I'd expect them both getting killed. Is this a feature or a > bug or something that should be handled in the Remove script? Not seeing this here - can you share the Install & Remove scripts you're using there too? Thanks. After the Remove script is run, there should definitely be no trace of the PMDA or any children anymore (has pmcd.conf not been updated somehow? maybe check the "iam=xxx" setting in Remove script?). cheers. -- Nathan From nscott@redhat.com Mon Feb 29 23:36:28 2016 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 51AF229E05 for ; Mon, 29 Feb 2016 23:36:28 -0600 (CST) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1CD42304032 for ; Mon, 29 Feb 2016 21:36:25 -0800 (PST) X-ASG-Debug-ID: 1456810581-04bdf002edb6a80001-S8gJnT Received: from mx3-phx2.redhat.com (mx3-phx2.redhat.com [209.132.183.24]) by cuda.sgi.com with ESMTP id d7dyfbsNyJac8vKu (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 29 Feb 2016 21:36:22 -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 u215aL51028095 for ; Tue, 1 Mar 2016 00:36:21 -0500 Date: Tue, 1 Mar 2016 00:36:21 -0500 (EST) From: Nathan Scott Reply-To: Nathan Scott To: PCP Mailing List Message-ID: <616648132.26027500.1456810581156.JavaMail.zimbra@redhat.com> Subject: pcp updates: pmdaoracle, pmimport MIME-Version: 1.0 X-ASG-Orig-Subj: pcp updates: pmdaoracle, pmimport Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.64.48.155] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF44 (Linux)/8.0.6_GA_5922) Thread-Topic: pcp updates: pmdaoracle, pmimport Thread-Index: FyScz6KaESiRZtxZMg7qkpO/ooJohQ== X-Barracuda-Connect: mx3-phx2.redhat.com[209.132.183.24] X-Barracuda-Start-Time: 1456810582 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://192.48.157.11:443/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.27459 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 master Mark Goodwin (3): logimport: add pmiPutMark() to API to write records logimport: QA updates for pmiPutMark collectl2pcp: write a record between each input source Nathan Scott (3): build: make bintray-version script easier to use, add platforms qa: updates to pmdaoracle testing after recent changes logimport: fix ups for deb builds, update couple of missed copyrights Nandhita Narendra Babu (1): pmdaoracle: storable v$parameter metrics and more v$sysstat metrics debian/libpcp3-dev.install | 1 man/man3/logimport.3 | 1 man/man3/pmiputmark.3 | 82 ++++++++++++++++ qa/1035 | 42 ++++++-- qa/1035.out | 9 + qa/369.out | 14 ++ qa/710.out | 5 - qa/src/check_import.c | 3 qa/src/check_import.perl | 3 qa/src/check_import.python | 3 scripts/bintray-version | 57 ++++++++--- src/collectl2pcp/collectl2pcp.c | 13 ++ src/include/pcp/import.h | 1 src/libpcp_import/src/exports | 5 + src/libpcp_import/src/import.c | 41 +++++++- src/pcp/iostat/pcp-iostat.py | 2 src/perl/LogImport/Changes | 6 - src/perl/LogImport/LogImport.pm | 5 - src/perl/LogImport/LogImport.xs | 3 src/pmdas/oracle/Install | 2 src/pmdas/oracle/pmdaoracle.pl | 199 ++++++++++++++++++++++++++++++++++++++-- src/python/pcp/pmi.py | 13 ++ 22 files changed, 461 insertions(+), 49 deletions(-) commit 655c855e802f14ce7cb289061be10c412ad75562 Author: Nathan Scott Date: Tue Mar 1 16:30:08 2016 +1100 logimport: fix ups for deb builds, update couple of missed copyrights commit 5f7b229c0741365fca47546008edf0ac814dd780 Author: Nathan Scott Date: Tue Mar 1 16:24:22 2016 +1100 qa: updates to pmdaoracle testing after recent changes commit 088d7ff0bf0c34ce182fe6b051929ee7144d817b Author: Nathan Scott Date: Tue Mar 1 14:27:58 2016 +1100 build: make bintray-version script easier to use, add platforms Add latest Ubuntu release, allow script to take specific distros to update rather than simply assuming "everything" - allows for specific version fixups, as we've been doing recently. commit 5b333e7f7c9184c5a1395a140dc9d7f1512f8fbd Author: Nandhita Narendra Babu Date: Tue Mar 1 12:35:43 2016 +1100 pmdaoracle: storable v$parameter metrics and more v$sysstat metrics (forward-port to latest version of Oracle PMDA by nathans). commit af9101761f1be142bbb1552c1d492b342f2641d4 Author: Mark Goodwin Date: Tue Mar 1 12:06:22 2016 +1100 collectl2pcp: write a record between each input source When processing more than one collectl input log file, write a record to the output PCP archive to signify the discontinuity between each input source. commit ca0f13818ab5501facd3bcfe3589476547758e90 Author: Mark Goodwin Date: Tue Mar 1 12:04:02 2016 +1100 logimport: QA updates for pmiPutMark modified: qa/369.out modified: qa/710.out modified: qa/src/check_import.c modified: qa/src/check_import.perl modified: qa/src/check_import.python commit b829edaedf9198180c4a82e26b65cea12ffcca07 Author: Mark Goodwin Date: Tue Mar 1 11:54:26 2016 +1100 logimport: add pmiPutMark() to API to write records Add new LOGIMPORT function pmiPutMark() to write a record to signify a temporal discontinuity in the output PCP archive, usually after the last pmiWrite() for the current input source, before the next input source begins. Also adds pmiPutMark(3) man page and updates for the C, perl and python bindings. modified: man/man3/logimport.3 new file: man/man3/pmiputmark.3 modified: src/include/pcp/import.h modified: src/libpcp_import/src/exports modified: src/libpcp_import/src/import.c modified: src/perl/LogImport/Changes modified: src/perl/LogImport/LogImport.pm modified: src/perl/LogImport/LogImport.xs modified: src/python/pcp/pmi.py