pcp
[Top] [All Lists]

pcp updates: assorted

To: pcp@xxxxxxxxxxx
Subject: pcp updates: assorted
From: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Thu, 30 Jul 2015 11:25:30 +1000
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
In amongst a bunch of other people's commits I've been testing, there are some 
from me that should be considered for the pending release, esp pmdate and 
qa/667.

Changes committed to git://git.pcp.io/kenj/pcp master

Nathan Scott (8):
      python3: ensure string encoding of popen results
      mingw64: updates for use of symlinks in pmlogger
      mingw64: allow pmwebd builds for windows as well
      pcp-collectl: fix recording of data to archive folios
      pmdalinux: ensure softnet help text fits in expected length
      docs: add some missing text to pmgetconfig man page
      qa: fix fallout from primary logger hardlink/symlink switch
      mingw64: threaded builds work fine now, drop special-case

Ken McDonell (3):
      pmdate: correct year and month offset problems at end of month
      qa/admin/check-vm: more tweaking of the inventory
      qa/667: rework pick-ascii-from-mixed-binary-data logic

Mark Goodwin (2):
      pmlogger - handle stale primary control and socket files
      qa - check primary logger correctly restarts with stale run files present

Frank Ch. Eigler (1):
      pmwebd graphite mode: elide repeated indom searching

Lukas Berk (1):
      build: fix an incorrect systemd conditional rpm macro

 Makepkgs                         |    1 
 build/rpm/fedora.spec            |    2 
 configure                        |    3 
 configure.ac                     |    3 
 man/man3/pmgetconfig.3           |   15 ++-
 qa/667                           |   27 ++++++
 qa/667.out                       |   89 +++++++++++-----------
 qa/808                           |   55 ++++++++++++++
 qa/808.out                       |    5 +
 qa/admin/check-vm                |   10 +-
 qa/common.check                  |   54 +++++--------
 qa/group                         |    1 
 qa/src/test_webapi.python        |    6 -
 src/include/pcp/config.h.in      |    4 +
 src/libpcp/src/win32.c           |   80 +++++++-------------
 src/pcp/collectl/pcp-collectl.py |   24 +++---
 src/pmdas/linux/help             |    5 -
 src/pmdate/pmdate.c              |    7 +
 src/pmlogger/pmlogger_check.sh   |   58 +++++---------
 src/pmlogger/pmlogger_daily.sh   |   58 +++++---------
 src/pmlogger/src/ports.c         |  153 +++++++++++++++++++++++++++++++--------
 src/pmwebapi/GNUmakefile         |   10 ++
 src/pmwebapi/main.cxx            |   11 +-
 src/pmwebapi/pmgraphite.cxx      |   48 +++++++-----
 src/pmwebapi/pmwebapi.h          |    4 +
 src/pmwebapi/util.cxx            |    4 -
 26 files changed, 446 insertions(+), 291 deletions(-)

Details ...

commit 9f62137df02bca2898a1a7f45a69520bc4c34357
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Jul 30 11:21:18 2015 +1000

    qa/667: rework pick-ascii-from-mixed-binary-data logic
    
    strings | sed works much better than od

commit 58fdef36157ab47f0dcf0b7872e549c8612d1c67
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Jul 30 08:41:41 2015 +1000

    qa/admin/check-vm: more tweaking of the inventory

commit 74c443189fe35d7f58a0215a7f7d76f6b622687a
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Jul 30 08:38:04 2015 +1000

    pmdate: correct year and month offset problems at end of month
    
    Close to the end of the month (days 29, 30, 31) going forwards
    or backwards by some number of months and/or years can lead to
    semantic ambiguity, e.g. on 20150730 (today) what is -5 months?
    20150230 is not correct, but that's what pmdate used to report.
    
    Turns out mktime() fixes this sort of mess up, so the fix is
    easy.  And the answer to the question above is 20150302.

commit a4919ddbc5918ecd2d4d41245705e99a011a84f6
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 17:26:25 2015 +1000

    mingw64: threaded builds work fine now, drop special-case

commit ec3f1325c3941db0e81e68bc682642fbeec559e9
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 16:50:55 2015 +1000

    qa: fix fallout from primary logger hardlink/symlink switch
    
    Resolves failures in qa/280 and qa/430.

commit 4aec51f3c019e3f20b347900c20bc400998934ea
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 15:47:28 2015 +1000

    docs: add some missing text to pmgetconfig man page

commit c9f18a328fded647c87ca56fdee50fd04eca6914
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 15:02:57 2015 +1000

    pmdalinux: ensure softnet help text fits in expected length
    
    Re-format softnet stats help text to meet length requirements.
    Resolves a failure in test qa/469.

commit d83721b40e2f54808de6fe8963a9a92ee8c1f253
Author: Lukas Berk <lberk@xxxxxxxxxx>
Date:   Wed Jul 29 15:00:26 2015 +1000

    build: fix an incorrect systemd conditional rpm macro

commit 090b66769fca96e64105bddab42af513f8854004
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 14:38:38 2015 +1000

    pcp-collectl: fix recording of data to archive folios
    
    Somehow, somewhere, the generation of pmlogger configs
    became broken in pcp-collectl - was generaring an invalid
    syntax (all metrics on one line).
    
    Tidied up the usage message generation while there, using
    the more modern pmSetLongOptionText interface instead of
    overloading unrelated calls.
    
    Test qa/709 is now passing once more.

commit 9adab0105a45664c70760aa3fa66d0b2a4401be4
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 14:08:02 2015 +1000

    mingw64: allow pmwebd builds for windows as well
    
    Handful of small remaining portability issues resolved...
    - no SIGQUIT or geteuid on Windows
    - no fnmatch, only used in graphite-land so conditionally
      switch that off
    - link with ws2_32 for getaddrinfo
    - no setenv, so switch to putenv like everywhere else
    - fix type for final parameter to MHD_get_fdset calls
    - don't use headers unconditionally/unnecessarily that
      have already been conditionally included via pmapi.h
    ... and it builds+links.

commit 78383c80547a653623d408795d4d05d9fba18ced
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 14:01:58 2015 +1000

    mingw64: updates for use of symlinks in pmlogger
    
    Also some small libpcp cleanups to drop some IPv6 code now
    available elsewhere, and switch to Mingw64 strerror_s use.

commit 27355d3fffe41b4970555ca986ba979ff2fb60ee
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Mon Jul 27 20:17:39 2015 -0400

    pmwebd graphite mode: elide repeated indom searching
    
    It was reported that for some larger archives, pmwebd was taking
    noticable time running pmGetInDomArchive.  This effort was being
    repeated for every metric, whereas it could be reused across metrics
    with the same indom.  We now do this by memoizing the wildcard-filtered
    instance names during pmns iteration.  (The cache is thrown away after
    pmns traversal.)
    
    There are no intended changes in visible behavior except for speedup;
    previous QA is sufficient.

commit 3c5753f9107061f822133d8ed061201541ea00db
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Wed Jul 29 13:06:46 2015 +1000

    qa - check primary logger correctly restarts with stale run files present
    
    qa/808 checks pmlogger correctly restarts when there are stale run files
    after the primary logger is killed with SIGKILL. The fix for this issue
    requires the following earlier commit :
    
        commit 2bf7acfe8c47ce0f5c257f3ba712b56cd44972b6
        Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
        Date:   Tue Jul 28 17:20:53 2015 +1000
    
            pmlogger - handle stale primary control and socket files

commit df864e7cab7a452792c05912e40429c6ae1bd95a
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jul 29 11:09:42 2015 +1000

    python3: ensure string encoding of popen results
    
    qa/662 has started failing on some python variants with byte/string
    encoding issues from the popen result, after recent python3 porting
    work.  Testing on several python variants suggests that use of the
    universal-end-of-line Popen option for string result encoding is the
    best option - it forces the correctly decoded string variants in all
    cases (so far anyway).

commit 2bf7acfe8c47ce0f5c257f3ba712b56cd44972b6
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jul 28 17:20:53 2015 +1000

    pmlogger - handle stale primary control and socket files
    
    If pmlogger is SIGKILL'd then its exit handlers are not run and so the
    control file and socket may not be removed. This is what happens when
    a pcp-pmlogger container is killed by docker, but can also happen on
    an abrupt reboot or if the pmlogger process is manually killed. When
    pmlogger_check is next launched by cron, the new primary pmlogger process
    thinks there is already a primary pmlogger process running (due to the
    stale control file and socket, along with the 'primary' links to such).
    
    This patch detects and removes stale control and socket files and their
    primary links before creating new ones. If the pmlogger process is
    actually still running then those files are not stale and the new
    pmlogger process will instead exit with a configuration error (there
    should only ever be one primary pmlogger).
    
    Also change from hard links to symlinks for the primary control file
    and the primary socket - this simplfies the code somewhat and it's
    easier to check the destination of the 'primary' links.
    
        modified:   src/pmlogger/pmlogger_check.sh
        modified:   src/pmlogger/pmlogger_daily.sh
        modified:   src/pmlogger/src/ports.c

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: assorted, Ken McDonell <=