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
|