pcp
[Top] [All Lists]

Changes to Solaris PMDA

To: pcp@xxxxxxxxxxx
Subject: Changes to Solaris PMDA
From: Max Matveev <makc@xxxxxxxxx>
Date: Mon, 17 Aug 2009 22:49:42 +1000
I've made some changes to Solaris PMDA to export information about
ZFS "things" and some network related stats. The following is in my git
repository on oss:

commit 3db8e4f3626241cb40e52f36a691263c8aaa34ff
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Mon Aug 17 18:52:49 2009 +1000

    Release zpool resources when finished updates
    
    It's not documented but it's obvious that zpool_iter expects the
    callback to call zpool_close to release resources associated with
    the zpool - it's not a problem for short-lived commands like zpool(1)
    but it leaks memory like a firehose.

commit 758b2b7039e878189b42fab6d8d3a789a27810d1
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Wed Aug 12 00:01:59 2009 +1000

    Eliminate incidents of crime against whitespace

commit 012af5fa4e16029513c6d1c2ff7c7a3d4a3069e3
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Tue Aug 11 23:55:59 2009 +1000

    Hide instances for destroyed pools and filesystems
    
    In Solaris PMDA if a zpool or a zfs is removed make sure that the
    corresponding instance disappears from the list of instances returned on
    fetch.

commit 4bc076258e025f86b6215783933f7adcb77ace90
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Wed Aug 5 02:10:37 2009 +1000

    Add network metrics to Solaris PMDA
    
    Use MIB2 interface available via TI to extract IPv4 interfaces and
    UDP stats from the kernel.
    
    The good/bad fetch is on the whole group - if any of the sources
    fail (even if we don't use them like IPv6 interface stats) then
    whole fetch will return no data.
    
    Fetch callback still uses offset for the metrics which have indoms, for
    singular metrics a pointer to the global storage is used whence the change
    of type in md_offset.

commit 234ffe3f3badbf73768f114fa692eac0dd7ec079
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Mon Aug 3 10:33:41 2009 +1000

    Report ZFS statistics from Solaris PMDA
    
    Use libzfs interfaces to extract some data about ZFS
    "dataset". Datasets are filesystems, snapshots and volumes, the
    reported data include information about used and available space,
    compression ratios, number of copies, reserved space per
    dataset. Space utilization is additionally broken down into space
    used by children, space used by snapshot and space used by the
    dataset itself.

commit 5da67384ae7719254afd7d76d8b10558b9d3de07
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Mon Aug 3 01:59:01 2009 +1000

    Export zpool stats from Solaris PMDA
    
    Use libzfs to extract zpool stats like capacity, iops, bandwidth etc

commit 684232a1b6178de4a07edbd0e3308f49789992fb
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Sun Aug 2 23:05:11 2009 +1000

    Put 64 bit libraries into the right place on Solaris
    
    Solaris keeps its 64 bit shared libraries in /usr/lib/64 - use the pointer
    size to decide if we're building 32 or 64 bit version and push the library
    in the right place.

commit 3cf745f62c0099577265994de97c0a755cb06f9b
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Sun Aug 2 04:11:32 2009 +1000

    Generate packages for Solaris

commit 74c7543c88bc3776b81ae8a5eab4de940537ffdd
Author: Max Matveev <makc@xxxxxxxxx>
Date:   Sun Aug 2 03:03:35 2009 +1000

    Allow user to choose her compiler
    
    New autoconf attempts to compile the headers as part of
    AC_HEADER_CHECK.  It AC_PROG_CC is not called then AC_HEADER_CHECK
    generates scary warning - just call AC_PROG_CC unconditionally: it
    will honour CC from the environment but it will also do the right
    things about later checks.
    
    On Solaris if the alternative compiler is not GCC then don't feed it
    GNU options.

The following changes since commit f2866c9e1bf8c9a70213ed4cd859d437b9af6bad:
  Mark Goodwin (1):
        Bump version to 2.9.0.

are available in the git repository at:

  git://oss.sgi.com/makc/pcp solaris

Max Matveev (9):
      Allow user to choose her compiler
      Generate packages for Solaris
      Put 64 bit libraries into the right place on Solaris
      Export zpool stats from Solaris PMDA
      Report ZFS statistics from Solaris PMDA
      Add network metrics to Solaris PMDA
      Hide instances for destroyed pools and filesystems
      Eliminate incidents of crime against whitespace
      Release zpool resources when finished updates

 build/GNUmakefile              |    3 +
 build/sun/GNUmakefile          |   51 ++++++
 configure.in                   |   24 +++-
 src/include/builddefs.in       |    9 +-
 src/pmdas/solaris/GNUmakefile  |    9 +-
 src/pmdas/solaris/common.h     |   14 ++-
 src/pmdas/solaris/data.c       |  198 +++++++++++++++++++++++--
 src/pmdas/solaris/help         |   95 +++++++++++-
 src/pmdas/solaris/netmib2.c    |  328 ++++++++++++++++++++++++++++++++++++++++
 src/pmdas/solaris/netmib2.h    |   54 +++++++
 src/pmdas/solaris/pmns.network |   31 ++++
 src/pmdas/solaris/pmns.zfs     |   15 ++
 src/pmdas/solaris/pmns.zpool   |   20 +++
 src/pmdas/solaris/root         |    5 +-
 src/pmdas/solaris/solaris.c    |    7 +-
 src/pmdas/solaris/zfs.c        |  134 ++++++++++++++++
 src/pmdas/solaris/zpool.c      |  144 ++++++++++++++++++
 17 files changed, 1112 insertions(+), 29 deletions(-)
 create mode 100644 build/sun/GNUmakefile
 create mode 100644 src/pmdas/solaris/netmib2.c
 create mode 100644 src/pmdas/solaris/netmib2.h
 create mode 100644 src/pmdas/solaris/pmns.zfs
 create mode 100644 src/pmdas/solaris/pmns.zpool
 create mode 100644 src/pmdas/solaris/zfs.c
 create mode 100644 src/pmdas/solaris/zpool.c

What's the current protocol for getting the changes into mainline?

max

<Prev in Thread] Current Thread [Next in Thread>