diff options
author | Herb Lewis <herb@samba.org> | 2000-10-11 14:07:32 +0000 |
---|---|---|
committer | Herb Lewis <herb@samba.org> | 2000-10-11 14:07:32 +0000 |
commit | fbe838f69bdcaf1ac46a2ab3367af8c7f066177c (patch) | |
tree | b41c7686fca83d930ff355c89d288990140b07e4 /pcp | |
parent | 76aab4ad560adf6c5af1d6a7068077e3dad4161a (diff) | |
download | samba-fbe838f69bdcaf1ac46a2ab3367af8c7f066177c.tar.gz |
Try this again on the right machine. Adding files for PCP samba pmda
(This used to be commit 8ad653f9ebc60c6807c1552425fa83218f6a15d4)
Diffstat (limited to 'pcp')
-rwxr-xr-x | pcp/Install | 64 | ||||
-rw-r--r-- | pcp/Makefile | 66 | ||||
-rw-r--r-- | pcp/README | 94 | ||||
-rwxr-xr-x | pcp/Remove | 52 | ||||
-rw-r--r-- | pcp/domain.h | 4 | ||||
-rw-r--r-- | pcp/help | 355 | ||||
-rw-r--r-- | pcp/pmns | 297 | ||||
-rw-r--r-- | pcp/root | 10 | ||||
-rw-r--r-- | pcp/samba.c | 1772 |
9 files changed, 2714 insertions, 0 deletions
diff --git a/pcp/Install b/pcp/Install new file mode 100755 index 00000000000..c2087fc01e3 --- /dev/null +++ b/pcp/Install @@ -0,0 +1,64 @@ +#! /bin/sh +# +# Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston MA 02111-1307, USA. +# +# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, +# Mountain View, CA 94043, or: +# +# http://www.sgi.com +# +# For further information regarding this notice, see: +# +# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ +# +# Install the samba PMDA and/or PMNS +# + +# source the PCP configuration environment variables +. /etc/pcp.env + +# Get the common procedures and variable assignments +# +. $PCP_SHARE_DIR/lib/pmdaproc.sh + +# The name of the PMDA +# +iam=samba + +# override interactive dialog from pmdaproc.sh +# +__choose_mode() +{ + echo "Installing the \"$iam\" Performance Metrics Domain Agent (PMDA) ..." + echo +} + +# Using libpcp_pmda.so.2 and PMDA_INTERFACE_2 +# +pmda_interface=2 + +# Do it +# +pmdaSetup +pmdaInstall + +exit 0 diff --git a/pcp/Makefile b/pcp/Makefile new file mode 100644 index 00000000000..96d2b79cca4 --- /dev/null +++ b/pcp/Makefile @@ -0,0 +1,66 @@ +#!make +# +# Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston MA 02111-1307, USA. +# +# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, +# Mountain View, CA 94043, or: +# +# http://www.sgi.com +# +# For further information regarding this notice, see: +# +# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ +# + +SHELL = sh + +include /etc/pcp.conf + +IAM = samba +CFILES = $(IAM).c + +LIBTARGET = pmda_$(IAM).so +CMDTARGET = pmda$(IAM) +TARGETS = $(LIBTARGET) $(CMDTARGET) + +DEBUG = -DDEBUG +CFLAGS = $(DEBUG) +LDOPTS = +LDLIBS = -lpcp_pmda -lpcp +DSOOPTS = -shared +LDIRT = so_locations *.log help.dir help.pag *.pmda_$(IAM).so + +INSTALL = install +CC = cc + +default: $(TARGETS) + +install: default + +$(CMDTARGET): profile.h $(CFILES) + $(CC) $(CFLAGS) $(CFILES) $(LDOPTS) $(LDLIBS) -o $@ + +$(LIBTARGET): profile.h $(CFILES) + $(CC) $(CFLAGS) $(DSOOPTS) $(LDOPTS) $(CFILES) $(LDLIBS) -o $@ + +clobber clean: + rm -f $(LDIRT) $(TARGETS) diff --git a/pcp/README b/pcp/README new file mode 100644 index 00000000000..81adb5df3bf --- /dev/null +++ b/pcp/README @@ -0,0 +1,94 @@ +samba PMDA +=========== + +This PMDA is a sample that illustrates how a simple samba monitor +PMDA might be constructed, using a shared memory segment to transfer +information about transaction activity from the smb daemon. + +Note: + This PMDA may be remade from source and hence requires + a C compiler to be installed. + + Uses of make(1) may fail (without removing or clobbering files) + if the C compiler cannot be found. This is most likely to + happen when running the PMDA ./Install script. + + The only remedial action is to install the C compiler, or + hand-craft changes to the Makefile. + +Metrics +======= + +The file ./help contains descriptions for all of the metrics exported +by this PMDA. + +Once the PMDA has been installed, the following command will list all +the available metrics and their explanatory "help" text: + + $ pminfo -fT samba + +Installation +============ + + + # mkdir /var/pcp/pmdas/samba + + # cp * /var/pcp/pmdas/samba + + # cp ../source/includes/profile.h /var/pcp/pmdas/samba + + # cd /var/pcp/pmdas/samba + + + Check that there is no clash in the Performance Metrics Domain + defined in ./domain.h and the other PMDAs currently in use + (/etc/pmcd.conf). If there is, edit ./domain.h to choose another + domain number. + + + If you are not installing on an IRIX system, edit samba.c and + comment out the + + #define IRIX 1 + + + Then simply use + + # ./Install + + + Alternatively, to install just the Performance Metrics Name Space + for the samba metrics on the local system, but not the samba PMDA + (presumably because the local system is running PCP 1.x and you + wish to connect to a remote system where PCP 2.0 and the samba PMDA + is running), make sure the Performance Metrics Domain defined in + ./domain.h matches the domain chosen for the samba PMDA on the + remote system (check the second field in the corresponding line of + the pmcd.conf file on the remote system - located in /etc on IRIX + and /var/pcp/config/pmcd on Linux), then + + # ./Install -N + +De-installation +=============== + + + Simply use + + # cd /var/pcp/pmdas/samba + # ./Remove + + + If you also want to remove the sources use + + # cd / + # rm -rf /var/pcp/pmdas/samba + +Making something happen +======================= + +The application ./smbd updates the shared memory segment to add +profile information about smbd. By default updating is disabled. +To start updating of the shared memory segment you need to run the +smbcontrol command to turn on profiling for one or more smbd processes +(see the man page for smbcontrol). + + + +Troubleshooting +=============== + + + After installing or restarting the agent, the PMCD log file + (pmcd.log) and the PMDA log file (samba.log) should be checked + for any warnings or errors. These logs are located in + /var/log/pcp/pmcd on Linux and /var/adm/pcplog on IRIX. diff --git a/pcp/Remove b/pcp/Remove new file mode 100755 index 00000000000..3f7434d2553 --- /dev/null +++ b/pcp/Remove @@ -0,0 +1,52 @@ +#! /bin/sh +# +# Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston MA 02111-1307, USA. +# +# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, +# Mountain View, CA 94043, or: +# +# http://www.sgi.com +# +# For further information regarding this notice, see: +# +# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ +# +# Remove the samba PMDA +# + +# source the PCP configuration environment variables +. /etc/pcp.env + +# Get the common procedures and variable assignments +# +. $PCP_SHARE_DIR/lib/pmdaproc.sh + +# The name of the PMDA +# +iam=samba + +# Do it +# +pmdaSetup +pmdaRemove + +exit 0 diff --git a/pcp/domain.h b/pcp/domain.h new file mode 100644 index 00000000000..3cf0bc6ce97 --- /dev/null +++ b/pcp/domain.h @@ -0,0 +1,4 @@ +/* + * built from /var/pcp/pmns/stdpmid + */ +#define SAMBA 123 diff --git a/pcp/help b/pcp/help new file mode 100644 index 00000000000..a16eec90f9f --- /dev/null +++ b/pcp/help @@ -0,0 +1,355 @@ +# +# $Revision: 1.1 $ +# +# samba PMDA help file in the ASCII format +# +# lines beginning with a # are ignored +# lines beginning @ introduce a new entry of the form +# @ metric_name oneline-text +# help test goes +# here over multiple lines +# ... +# +# the metric_name is decoded against the default PMNS -- as a special case, +# a name of the form NNN.MM (for numeric NNN and MM) is interpreted as an +# instance domain identification, and the text describes the instance domain +# +# blank lines before the @ line are ignored +# + +@ samba.smbd.smb_count Count of SMB packets processed + +@ samba.smbd.uid_changes Count of times effective uid changed + +@ samba.syscalls.opendir Number of calls to opendir system call + +@ samba.syscalls.opendir_time Time spent executing opendir system call + +@ samba.syscalls.readdir Number of calls to readdir system call + +@ samba.syscalls.readdir_time Time spent executing readdir system call + +@ samba.syscalls.mkdir Number of calls to mkdir system call + +@ samba.syscalls.mkdir_time Time spent executing mkdir system call + +@ samba.syscalls.rmdir Number of calls to rmdir system call + +@ samba.syscalls.rmdir_time Time spent executing rmdir system call + +@ samba.syscalls.closedir Number of calls to closedir system call + +@ samba.syscalls.closedir_time Time spent executing closedir system call + +@ samba.syscalls.open Number of calls to open system call + +@ samba.syscalls.open_time Time spent executing open system call + +@ samba.syscalls.close Number of calls to close system call + +@ samba.syscalls.close_time Time spent executing close system call + +@ samba.syscalls.read Number of calls to read system call + +@ samba.syscalls.read_time Time spent executing read system call + +@ samba.syscalls.read_bytes Number of bytes read by read system call + +@ samba.syscalls.write Number of calls to write system call + +@ samba.syscalls.write_time Time spent executing write system call + +@ samba.syscalls.write_bytes Number of bytes written by write system call + +@ samba.syscalls.lseek Number of calls to lseek system call + +@ samba.syscalls.lseek_time Time spent executing lseek system call + +@ samba.syscalls.rename Number of calls to rename system call + +@ samba.syscalls.rename_time Time spent executing rename system call + +@ samba.syscalls.fsync Number of calls to fsync system call + +@ samba.syscalls.fsync_time Time spent executing fsync system call + +@ samba.syscalls.stat Number of calls to stat system call + +@ samba.syscalls.stat_time Time spent executing stat system call + +@ samba.syscalls.fstat Number of calls to fstat system call + +@ samba.syscalls.fstat_time Time spent executing fstat system call + +@ samba.syscalls.lstat Number of calls to lstat system call + +@ samba.syscalls.lstat_time Time spent executing lstat system call + +@ samba.syscalls.unlink Number of calls to unlink system call + +@ samba.syscalls.unlink_time Time spent executing unlink system call + +@ samba.syscalls.chmod Number of calls to chmod system call + +@ samba.syscalls.chmod_time Time spent executing chmod system call + +@ samba.syscalls.chown Number of calls to chown system call + +@ samba.syscalls.chown_time Time spent executing chown system call + +@ samba.syscalls.chdir Number of calls to chdir system call + +@ samba.syscalls.chdir_time Time spent executing chdir system call + +@ samba.syscalls.getwd Number of calls to getwd system call + +@ samba.syscalls.getwd_time Time spent executing getwd system call + +@ samba.syscalls.utime Number of calls to utime system call + +@ samba.syscalls.utime_time Time spent executing utime system call + +@ samba.syscalls.ftruncate Number of calls to ftruncate system call + +@ samba.syscalls.ftruncate_time Time spent executing ftruncate system call + +@ samba.syscalls.fcntl_lock Number of calls to fcntl_lock system call + +@ samba.syscalls.fcntl_lock_time Time spent executing fcntl_lock system call + +@ samba.statcache.lookups Number of lookups in stat cache + +@ samba.statcache.misses Number of times stat cache lookup missed + +@ samba.statcache.hits Number of times stat cache lookup hit + +@ samba.writecache.num_caches Number of write caches available + +@ samba.writecache.allocated_caches Number of write caches allocated + +@ samba.writecache.read_hits Number of times read request found in write cache + +@ samba.writecache.total_writes Number of writes to write cache + +@ samba.writecache.init_writes Number of initial writes to write cache + +@ samba.writecache.abutted_writes + +@ samba.writecache.perfect_writes + +@ samba.writecache.direct_writes + +@ samba.writecache.non_oplock_writes + +@ samba.writecache.seek_flush + +@ samba.writecache.read_flush + +@ samba.writecache.write_flush + +@ samba.writecache.readraw_flush + +@ samba.writecache.oplock_rel_flush + +@ samba.writecache.close_flush + +@ samba.writecache.sync_flush + +@ samba.writecache.size_change_flush + +@ samba.SMB.SMB_mkdir +@ samba.SMB.SMB_mkdir_time +@ samba.SMB.SMB_rmdir +@ samba.SMB.SMB_rmdir_time +@ samba.SMB.SMB_open +@ samba.SMB.SMB_open_time +@ samba.SMB.SMB_create +@ samba.SMB.SMB_create_time +@ samba.SMB.SMB_close +@ samba.SMB.SMB_close_time +@ samba.SMB.SMB_flush +@ samba.SMB.SMB_flush_time +@ samba.SMB.SMB_unlink +@ samba.SMB.SMB_unlink_time +@ samba.SMB.SMB_mv +@ samba.SMB.SMB_mv_time +@ samba.SMB.SMB_getattr +@ samba.SMB.SMB_getattr_time +@ samba.SMB.SMB_setattr +@ samba.SMB.SMB_setattr_time +@ samba.SMB.SMB_read +@ samba.SMB.SMB_read_time +@ samba.SMB.SMB_write +@ samba.SMB.SMB_write_time +@ samba.SMB.SMB_lock +@ samba.SMB.SMB_lock_time +@ samba.SMB.SMB_unlock +@ samba.SMB.SMB_unlock_time +@ samba.SMB.SMB_ctemp +@ samba.SMB.SMB_ctemp_time +@ samba.SMB.SMB_mknew +@ samba.SMB.SMB_mknew_time +@ samba.SMB.SMB_chkpth +@ samba.SMB.SMB_chkpth_time +@ samba.SMB.SMB_exit +@ samba.SMB.SMB_exit_time +@ samba.SMB.SMB_lseek +@ samba.SMB.SMB_lseek_time +@ samba.SMB.SMB_lockread +@ samba.SMB.SMB_lockread_time +@ samba.SMB.SMB_writeunlock +@ samba.SMB.SMB_writeunlock_time +@ samba.SMB.SMB_readBraw +@ samba.SMB.SMB_readBraw_time +@ samba.SMB.SMB_readBmpx +@ samba.SMB.SMB_readBmpx_time +@ samba.SMB.SMB_readBs +@ samba.SMB.SMB_readBs_time +@ samba.SMB.SMB_writeBraw +@ samba.SMB.SMB_writeBraw_time +@ samba.SMB.SMB_writeBmpx +@ samba.SMB.SMB_writeBmpx_time +@ samba.SMB.SMB_writeBs +@ samba.SMB.SMB_writeBs_time +@ samba.SMB.SMB_writec +@ samba.SMB.SMB_writec_time +@ samba.SMB.SMB_setattrE +@ samba.SMB.SMB_setattrE_time +@ samba.SMB.SMB_getattrE +@ samba.SMB.SMB_getattrE_time +@ samba.SMB.SMB_lockingX +@ samba.SMB.SMB_lockingX_time +@ samba.SMB.SMB_trans +@ samba.SMB.SMB_trans_time +@ samba.SMB.SMB_transs +@ samba.SMB.SMB_transs_time +@ samba.SMB.SMB_ioctl +@ samba.SMB.SMB_ioctl_time +@ samba.SMB.SMB_ioctls +@ samba.SMB.SMB_ioctls_time +@ samba.SMB.SMB_copy +@ samba.SMB.SMB_copy_time +@ samba.SMB.SMB_move +@ samba.SMB.SMB_move_time +@ samba.SMB.SMB_echo +@ samba.SMB.SMB_echo_time +@ samba.SMB.SMB_writeclose +@ samba.SMB.SMB_writeclose_time +@ samba.SMB.SMB_openX +@ samba.SMB.SMB_openX_time +@ samba.SMB.SMB_readX +@ samba.SMB.SMB_readX_time +@ samba.SMB.SMB_writeX +@ samba.SMB.SMB_writeX_time +@ samba.SMB.SMB_trans2 +@ samba.SMB.SMB_trans2_time +@ samba.SMB.SMB_transs2 +@ samba.SMB.SMB_transs2_time +@ samba.SMB.SMB_findclose +@ samba.SMB.SMB_findclose_time +@ samba.SMB.SMB_findNclose +@ samba.SMB.SMB_findNclose_time +@ samba.SMB.SMB_tcon +@ samba.SMB.SMB_tcon_time +@ samba.SMB.SMB_tdis +@ samba.SMB.SMB_tdis_time +@ samba.SMB.SMB_negprot +@ samba.SMB.SMB_negprot_time +@ samba.SMB.SMB_sessetupX +@ samba.SMB.SMB_sessetupX_time +@ samba.SMB.SMB_ulogoffX +@ samba.SMB.SMB_ulogoffX_time +@ samba.SMB.SMB_tconX +@ samba.SMB.SMB_tconX_time +@ samba.SMB.SMB_dskattr +@ samba.SMB.SMB_dskattr_time +@ samba.SMB.SMB_search +@ samba.SMB.SMB_search_time +@ samba.SMB.SMB_ffirst +@ samba.SMB.SMB_ffirst_time +@ samba.SMB.SMB_funique +@ samba.SMB.SMB_funique_time +@ samba.SMB.SMB_fclose +@ samba.SMB.SMB_fclose_time +@ samba.SMB.SMB_NTtrans +@ samba.SMB.SMB_NTtrans_time +@ samba.SMB.SMB_NTtranss +@ samba.SMB.SMB_NTtranss_time +@ samba.SMB.SMB_NTcreateX +@ samba.SMB.SMB_NTcreateX_time +@ samba.SMB.SMB_NTcancel +@ samba.SMB.SMB_NTcancel_time +@ samba.SMB.SMB_splopen +@ samba.SMB.SMB_splopen_time +@ samba.SMB.SMB_splwrite +@ samba.SMB.SMB_splwrite_time +@ samba.SMB.SMB_splclose +@ samba.SMB.SMB_splclose_time +@ samba.SMB.SMB_splretq +@ samba.SMB.SMB_splretq_time +@ samba.SMB.SMB_sends +@ samba.SMB.SMB_sends_time +@ samba.SMB.SMB_sendb +@ samba.SMB.SMB_sendb_time +@ samba.SMB.SMB_fwdname +@ samba.SMB.SMB_fwdname_time +@ samba.SMB.SMB_cancelf +@ samba.SMB.SMB_cancelf_time +@ samba.SMB.SMB_getmach +@ samba.SMB.SMB_getmach_time +@ samba.SMB.SMB_sendstrt +@ samba.SMB.SMB_sendstrt_time +@ samba.SMB.SMB_sendend +@ samba.SMB.SMB_sendend_time +@ samba.SMB.SMB_sendtxt +@ samba.SMB.SMB_sendtxt_time +@ samba.SMB.SMB_invalid +@ samba.SMB.SMB_invalid_time +@ samba.SMB.PATHWORK_setdir +@ samba.SMB.PATHWORK_setdir_time +@ samba.SMB.TRANS2_open +@ samba.SMB.TRANS2_open_time +@ samba.SMB.TRANS2_ffirst +@ samba.SMB.TRANS2_ffirst_time +@ samba.SMB.TRANS2_fnext +@ samba.SMB.TRANS2_fnext_time +@ samba.SMB.TRANS2_qfsinfo +@ samba.SMB.TRANS2_qfsinfo_time +@ samba.SMB.TRANS2_sfsinfo +@ samba.SMB.TRANS2_sfsinfo_time +@ samba.SMB.TRANS2_qpathinfo +@ samba.SMB.TRANS2_qpathinfo_time +@ samba.SMB.TRANS2_spathinfo +@ samba.SMB.TRANS2_spathinfo_time +@ samba.SMB.TRANS2_qfileinfo +@ samba.SMB.TRANS2_qfileinfo_time +@ samba.SMB.TRANS2_sfileinfo +@ samba.SMB.TRANS2_sfileinfo_time +@ samba.SMB.TRANS2_fsctl +@ samba.SMB.TRANS2_fsctl_time +@ samba.SMB.TRANS2_ioctl +@ samba.SMB.TRANS2_ioctl_time +@ samba.SMB.TRANS2_fnotifyfirst +@ samba.SMB.TRANS2_fnotifyfirst_time +@ samba.SMB.TRANS2_fnotifynext +@ samba.SMB.TRANS2_fnotifynext_time +@ samba.SMB.TRANS2_mkdir +@ samba.SMB.TRANS2_mkdir_time +@ samba.SMB.TRANS2_sessetup +@ samba.SMB.TRANS2_sessetup_time +@ samba.SMB.TRANS2_getDFSref +@ samba.SMB.TRANS2_getDFSref_time +@ samba.SMB.TRANS2_rptDFSinconsist +@ samba.SMB.TRANS2_rptDFSinconsist_time +@ samba.SMB.NTTRANS_create +@ samba.SMB.NTTRANS_create_time +@ samba.SMB.NTTRANS_ioctl +@ samba.SMB.NTTRANS_ioctl_time +@ samba.SMB.NTTRANS_setsecdesc +@ samba.SMB.NTTRANS_setsecdesc_time +@ samba.SMB.NTTRANS_notifychange +@ samba.SMB.NTTRANS_notifychange_time +@ samba.SMB.NTTRANS_rename +@ samba.SMB.NTTRANS_rename_time +@ samba.SMB.NTTRANS_qsecdesc +@ samba.SMB.NTTRANS_qsecdesc_time diff --git a/pcp/pmns b/pcp/pmns new file mode 100644 index 00000000000..7c2cd5d70df --- /dev/null +++ b/pcp/pmns @@ -0,0 +1,297 @@ +/* + * Metrics for samba PMDA + * + * $Revision: 1.1 $ + */ + +samba { + smbd + syscalls + statcache + writecache + SMB +} + +samba.smbd { + smb_count SAMBA:0:0 + uid_changes SAMBA:0:1 +} + +samba.syscalls { + opendir SAMBA:1:2 + opendir_time SAMBA:1:3 + readdir SAMBA:1:4 + readdir_time SAMBA:1:5 + mkdir SAMBA:1:6 + mkdir_time SAMBA:1:7 + rmdir SAMBA:1:8 + rmdir_time SAMBA:1:9 + closedir SAMBA:1:10 + closedir_time SAMBA:1:11 + open SAMBA:1:12 + open_time SAMBA:1:13 + close SAMBA:1:14 + close_time SAMBA:1:15 + read SAMBA:1:16 + read_time SAMBA:1:17 + read_bytes SAMBA:1:18 + write SAMBA:1:19 + write_time SAMBA:1:20 + write_bytes SAMBA:1:21 + lseek SAMBA:1:22 + lseek_time SAMBA:1:23 + rename SAMBA:1:24 + rename_time SAMBA:1:25 + fsync SAMBA:1:26 + fsync_time SAMBA:1:27 + stat SAMBA:1:28 + stat_time SAMBA:1:29 + fstat SAMBA:1:30 + fstat_time SAMBA:1:31 + lstat SAMBA:1:32 + lstat_time SAMBA:1:33 + unlink SAMBA:1:34 + unlink_time SAMBA:1:35 + chmod SAMBA:1:36 + chmod_time SAMBA:1:37 + chown SAMBA:1:38 + chown_time SAMBA:1:39 + chdir SAMBA:1:40 + chdir_time SAMBA:1:41 + getwd SAMBA:1:42 + getwd_time SAMBA:1:43 + utime SAMBA:1:44 + utime_time SAMBA:1:45 + ftruncate SAMBA:1:46 + ftruncate_time SAMBA:1:47 + fcntl_lock SAMBA:1:48 + fcntl_lock_time SAMBA:1:49 +} + +samba.statcache { + lookups SAMBA:2:50 + misses SAMBA:2:51 + hits SAMBA:2:52 +} + +samba.writecache { + num_caches SAMBA:3:53 + allocated_caches SAMBA:3:54 + read_hits SAMBA:3:55 + total_writes SAMBA:3:56 + init_writes SAMBA:3:57 + abutted_writes SAMBA:3:58 + perfect_writes SAMBA:3:59 + direct_writes SAMBA:3:60 + non_oplock_writes SAMBA:3:61 + seek_flush SAMBA:3:62 + read_flush SAMBA:3:63 + write_flush SAMBA:3:64 + readraw_flush SAMBA:3:65 + oplock_rel_flush SAMBA:3:66 + close_flush SAMBA:3:67 + sync_flush SAMBA:3:68 + size_change_flush SAMBA:3:69 +} + +samba.SMB { + SMB_mkdir SAMBA:4:70 + SMB_mkdir_time SAMBA:4:71 + SMB_rmdir SAMBA:4:72 + SMB_rmdir_time SAMBA:4:73 + SMB_open SAMBA:4:74 + SMB_open_time SAMBA:4:75 + SMB_create SAMBA:4:76 + SMB_create_time SAMBA:4:77 + SMB_close SAMBA:4:78 + SMB_close_time SAMBA:4:79 + SMB_flush SAMBA:4:80 + SMB_flush_time SAMBA:4:81 + SMB_unlink SAMBA:4:82 + SMB_unlink_time SAMBA:4:83 + SMB_mv SAMBA:4:84 + SMB_mv_time SAMBA:4:85 + SMB_getattr SAMBA:4:86 + SMB_getattr_time SAMBA:4:87 + SMB_setattr SAMBA:4:88 + SMB_setattr_time SAMBA:4:89 + SMB_read SAMBA:4:90 + SMB_read_time SAMBA:4:91 + SMB_write SAMBA:4:92 + SMB_write_time SAMBA:4:93 + SMB_lock SAMBA:4:94 + SMB_lock_time SAMBA:4:95 + SMB_unlock SAMBA:4:96 + SMB_unlock_time SAMBA:4:97 + SMB_ctemp SAMBA:4:98 + SMB_ctemp_time SAMBA:4:99 + SMB_mknew SAMBA:4:100 + SMB_mknew_time SAMBA:4:101 + SMB_chkpth SAMBA:4:102 + SMB_chkpth_time SAMBA:4:103 + SMB_exit SAMBA:4:104 + SMB_exit_time SAMBA:4:105 + SMB_lseek SAMBA:4:106 + SMB_lseek_time SAMBA:4:107 + SMB_lockread SAMBA:4:108 + SMB_lockread_time SAMBA:4:109 + SMB_writeunlock SAMBA:4:110 + SMB_writeunlock_time SAMBA:4:111 + SMB_readBraw SAMBA:4:112 + SMB_readBraw_time SAMBA:4:113 + SMB_readBmpx SAMBA:4:114 + SMB_readBmpx_time SAMBA:4:115 + SMB_readBs SAMBA:4:116 + SMB_readBs_time SAMBA:4:117 + SMB_writeBraw SAMBA:4:118 + SMB_writeBraw_time SAMBA:4:119 + SMB_writeBmpx SAMBA:4:120 + SMB_writeBmpx_time SAMBA:4:121 + SMB_writeBs SAMBA:4:122 + SMB_writeBs_time SAMBA:4:123 + SMB_writec SAMBA:4:124 + SMB_writec_time SAMBA:4:125 + SMB_setattrE SAMBA:4:126 + SMB_setattrE_time SAMBA:4:127 + SMB_getattrE SAMBA:4:128 + SMB_getattrE_time SAMBA:4:129 + SMB_lockingX SAMBA:4:130 + SMB_lockingX_time SAMBA:4:131 + SMB_trans SAMBA:4:132 + SMB_trans_time SAMBA:4:133 + SMB_transs SAMBA:4:134 + SMB_transs_time SAMBA:4:135 + SMB_ioctl SAMBA:4:136 + SMB_ioctl_time SAMBA:4:137 + SMB_ioctls SAMBA:4:138 + SMB_ioctls_time SAMBA:4:139 + SMB_copy SAMBA:4:140 + SMB_copy_time SAMBA:4:141 + SMB_move SAMBA:4:142 + SMB_move_time SAMBA:4:143 + SMB_echo SAMBA:4:144 + SMB_echo_time SAMBA:4:145 + SMB_writeclose SAMBA:4:146 + SMB_writeclose_time SAMBA:4:147 + SMB_openX SAMBA:4:148 + SMB_openX_time SAMBA:4:149 + SMB_readX SAMBA:4:150 + SMB_readX_time SAMBA:4:151 + SMB_writeX SAMBA:4:152 + SMB_writeX_time SAMBA:4:153 + SMB_trans2 SAMBA:4:154 + SMB_trans2_time SAMBA:4:155 + SMB_transs2 SAMBA:4:156 + SMB_transs2_time SAMBA:4:157 + SMB_findclose SAMBA:4:158 + SMB_findclose_time SAMBA:4:159 + SMB_findNclose SAMBA:4:160 + SMB_findNclose_time SAMBA:4:161 + SMB_tcon SAMBA:4:162 + SMB_tcon_time SAMBA:4:163 + SMB_tdis SAMBA:4:164 + SMB_tdis_time SAMBA:4:165 + SMB_negprot SAMBA:4:166 + SMB_negprot_time SAMBA:4:167 + SMB_sessetupX SAMBA:4:168 + SMB_sessetupX_time SAMBA:4:169 + SMB_ulogoffX SAMBA:4:170 + SMB_ulogoffX_time SAMBA:4:171 + SMB_tconX SAMBA:4:172 + SMB_tconX_time SAMBA:4:173 + SMB_dskattr SAMBA:4:174 + SMB_dskattr_time SAMBA:4:175 + SMB_search SAMBA:4:176 + SMB_search_time SAMBA:4:177 + SMB_ffirst SAMBA:4:178 + SMB_ffirst_time SAMBA:4:179 + SMB_funique SAMBA:4:180 + SMB_funique_time SAMBA:4:181 + SMB_fclose SAMBA:4:182 + SMB_fclose_time SAMBA:4:183 + SMB_NTtrans SAMBA:4:184 + SMB_NTtrans_time SAMBA:4:185 + SMB_NTtranss SAMBA:4:186 + SMB_NTtranss_time SAMBA:4:187 + SMB_NTcreateX SAMBA:4:188 + SMB_NTcreateX_time SAMBA:4:189 + SMB_NTcancel SAMBA:4:190 + SMB_NTcancel_time SAMBA:4:191 + SMB_splopen SAMBA:4:192 + SMB_splopen_time SAMBA:4:193 + SMB_splwrite SAMBA:4:194 + SMB_splwrite_time SAMBA:4:195 + SMB_splclose SAMBA:4:196 + SMB_splclose_time SAMBA:4:197 + SMB_splretq SAMBA:4:198 + SMB_splretq_time SAMBA:4:199 + SMB_sends SAMBA:4:200 + SMB_sends_time SAMBA:4:201 + SMB_sendb SAMBA:4:202 + SMB_sendb_time SAMBA:4:203 + SMB_fwdname SAMBA:4:204 + SMB_fwdname_time SAMBA:4:205 + SMB_cancelf SAMBA:4:206 + SMB_cancelf_time SAMBA:4:207 + SMB_getmach SAMBA:4:208 + SMB_getmach_time SAMBA:4:209 + SMB_sendstrt SAMBA:4:210 + SMB_sendstrt_time SAMBA:4:211 + SMB_sendend SAMBA:4:212 + SMB_sendend_time SAMBA:4:213 + SMB_sendtxt SAMBA:4:214 + SMB_sendtxt_time SAMBA:4:215 + SMB_invalid SAMBA:4:216 + SMB_invalid_time SAMBA:4:217 + + PATHWORK_setdir SAMBA:4:218 + PATHWORK_setdir_time SAMBA:4:219 + + TRANS2_open SAMBA:4:220 + TRANS2_open_time SAMBA:4:221 + TRANS2_ffirst SAMBA:4:222 + TRANS2_ffirst_time SAMBA:4:223 + TRANS2_fnext SAMBA:4:224 + TRANS2_fnext_time SAMBA:4:225 + TRANS2_qfsinfo SAMBA:4:226 + TRANS2_qfsinfo_time SAMBA:4:227 + TRANS2_sfsinfo SAMBA:4:228 + TRANS2_sfsinfo_time SAMBA:4:229 + TRANS2_qpathinfo SAMBA:4:230 + TRANS2_qpathinfo_time SAMBA:4:231 + TRANS2_spathinfo SAMBA:4:232 + TRANS2_spathinfo_time SAMBA:4:233 + TRANS2_qfileinfo SAMBA:4:234 + TRANS2_qfileinfo_time SAMBA:4:235 + TRANS2_sfileinfo SAMBA:4:236 + TRANS2_sfileinfo_time SAMBA:4:237 + TRANS2_fsctl SAMBA:4:238 + TRANS2_fsctl_time SAMBA:4:239 + TRANS2_ioctl SAMBA:4:240 + TRANS2_ioctl_time SAMBA:4:241 + TRANS2_fnotifyfirst SAMBA:4:242 + TRANS2_fnotifyfirst_time SAMBA:4:243 + TRANS2_fnotifynext SAMBA:4:244 + TRANS2_fnotifynext_time SAMBA:4:245 + TRANS2_mkdir SAMBA:4:246 + TRANS2_mkdir_time SAMBA:4:247 + TRANS2_sessetup SAMBA:4:248 + TRANS2_sessetup_time SAMBA:4:249 + TRANS2_getDFSref SAMBA:4:250 + TRANS2_getDFSref_time SAMBA:4:251 + TRANS2_rptDFSinconsist SAMBA:4:252 + TRANS2_rptDFSinconsist_time SAMBA:4:253 + + NTTRANS_create SAMBA:4:254 + NTTRANS_create_time SAMBA:4:255 + NTTRANS_ioctl SAMBA:4:256 + NTTRANS_ioctl_time SAMBA:4:257 + NTTRANS_setsecdesc SAMBA:4:258 + NTTRANS_setsecdesc_time SAMBA:4:259 + NTTRANS_notifychange SAMBA:4:260 + NTTRANS_notifychange_time SAMBA:4:261 + NTTRANS_rename SAMBA:4:262 + NTTRANS_rename_time SAMBA:4:263 + NTTRANS_qsecdesc SAMBA:4:264 + NTTRANS_qsecdesc_time SAMBA:4:265 +} diff --git a/pcp/root b/pcp/root new file mode 100644 index 00000000000..d5137bc7ddd --- /dev/null +++ b/pcp/root @@ -0,0 +1,10 @@ +/* + * fake "root" for validating the local PMNS subtree + */ + +#include "/var/pcp/pmns/stdpmid" + +root { samba } + +#include "pmns" + diff --git a/pcp/samba.c b/pcp/samba.c new file mode 100644 index 00000000000..98bd7a936ff --- /dev/null +++ b/pcp/samba.c @@ -0,0 +1,1772 @@ +/* + * Samba, configurable PMDA + * + * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Further, this software is distributed without any warranty that it is + * free of the rightful claim of any third person regarding infringement + * or the like. Any license provided herein, whether implied or + * otherwise, applies only to this software file. Patent licenses, if + * any, provided herein do not apply to combinations of this program with + * other software, or any other product whatsoever. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write the Free Software Foundation, Inc., 59 + * Temple Place - Suite 330, Boston MA 02111-1307, USA. + * + * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, + * Mountain View, CA 94043, or: + * + * http://www.sgi.com + * + * For further information regarding this notice, see: + * + * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ + */ + +typedef int BOOL; + +#define IRIX 1 + +#include <stdio.h> +#include <sys/shm.h> +#include <pcp/pmapi.h> +#ifdef IRIX +#include <pcp/impl.h> +#endif +#include <pcp/pmda.h> +#include "domain.h" +#include "profile.h" + +/* + * lifted definitions from the samba source + */ + +#define MAX_OPEN_FILES 10000 /* from local.h */ + +/* + * all metrics supported in this PMDA - one table entry for each + */ +static pmdaMetric metrictab[] = { +/* smbd.smb_count */ + { NULL, { PMDA_PMID(0,0), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* smbd.uid_changes */ + { NULL, { PMDA_PMID(0,1), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.opendir */ + { NULL, { PMDA_PMID(1,2), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.opendir_time */ + { NULL, { PMDA_PMID(1,3), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.readdir */ + { NULL, { PMDA_PMID(1,4), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.readdir_time */ + { NULL, { PMDA_PMID(1,5), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.mkdir */ + { NULL, { PMDA_PMID(1,6), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.mkdir_time */ + { NULL, { PMDA_PMID(1,7), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.rmdir */ + { NULL, { PMDA_PMID(1,8), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.rmdir_time */ + { NULL, { PMDA_PMID(1,9), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.closedir */ + { NULL, { PMDA_PMID(1,10), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.closedir_time */ + { NULL, { PMDA_PMID(1,11), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.open */ + { NULL, { PMDA_PMID(1,12), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.open_time */ + { NULL, { PMDA_PMID(1,13), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.close */ + { NULL, { PMDA_PMID(1,14), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.close_time */ + { NULL, { PMDA_PMID(1,15), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.read_count */ + { NULL, { PMDA_PMID(1,16), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.read_time */ + { NULL, { PMDA_PMID(1,17), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.read_bytes */ + { NULL, { PMDA_PMID(1,18), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 1,0,0,PM_SPACE_BYTE,0,0} }, }, +/* syscalls.write_count */ + { NULL, { PMDA_PMID(1,19), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.write_time */ + { NULL, { PMDA_PMID(1,20), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.write_bytes */ + { NULL, { PMDA_PMID(1,21), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 1,0,0,PM_SPACE_BYTE,0,0} }, }, +/* syscalls.lseek */ + { NULL, { PMDA_PMID(1,22), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.lseek_time */ + { NULL, { PMDA_PMID(1,23), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.rename */ + { NULL, { PMDA_PMID(1,24), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.rename_time */ + { NULL, { PMDA_PMID(1,25), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.fsync */ + { NULL, { PMDA_PMID(1,26), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.fsync_time */ + { NULL, { PMDA_PMID(1,27), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.stat */ + { NULL, { PMDA_PMID(1,28), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.stat_time */ + { NULL, { PMDA_PMID(1,29), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.fstat */ + { NULL, { PMDA_PMID(1,30), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.fstat_time */ + { NULL, { PMDA_PMID(1,31), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.lstat */ + { NULL, { PMDA_PMID(1,32), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.lstat_time */ + { NULL, { PMDA_PMID(1,33), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.unlink */ + { NULL, { PMDA_PMID(1,34), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.unlink_time */ + { NULL, { PMDA_PMID(1,35), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.chmod */ + { NULL, { PMDA_PMID(1,36), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.chmod_time */ + { NULL, { PMDA_PMID(1,37), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.chown */ + { NULL, { PMDA_PMID(1,38), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.chown_time */ + { NULL, { PMDA_PMID(1,39), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.chdir */ + { NULL, { PMDA_PMID(1,40), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.chdir_time */ + { NULL, { PMDA_PMID(1,41), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.getwd */ + { NULL, { PMDA_PMID(1,42), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.getwd_time */ + { NULL, { PMDA_PMID(1,43), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.utime */ + { NULL, { PMDA_PMID(1,44), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.utime_time */ + { NULL, { PMDA_PMID(1,45), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.ftruncate */ + { NULL, { PMDA_PMID(1,46), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.ftruncate_time */ + { NULL, { PMDA_PMID(1,47), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* syscalls.fcntl_lock */ + { NULL, { PMDA_PMID(1,48), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* syscalls.fcntl_time */ + { NULL, { PMDA_PMID(1,49), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* statcache.lookups */ + { NULL, { PMDA_PMID(2,50), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* statcache.misses */ + { NULL, { PMDA_PMID(2,51), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* statcache.hits */ + { NULL, { PMDA_PMID(2,52), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.num_caches */ + { NULL, { PMDA_PMID(3,53), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.allocated_caches */ + { NULL, { PMDA_PMID(3,54), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.read_hits */ + { NULL, { PMDA_PMID(3,55), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.total_writes */ + { NULL, { PMDA_PMID(3,56), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.init_writes */ + { NULL, { PMDA_PMID(3,57), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.abutted_writes */ + { NULL, { PMDA_PMID(3,58), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.perfect_writes */ + { NULL, { PMDA_PMID(3,59), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.direct_writes */ + { NULL, { PMDA_PMID(3,60), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.non_oplock_writes */ + { NULL, { PMDA_PMID(3,61), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.seek_flush */ + { NULL, { PMDA_PMID(3,62), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.read_flush */ + { NULL, { PMDA_PMID(3,63), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.write_flush */ + { NULL, { PMDA_PMID(3,64), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.readraw_flush */ + { NULL, { PMDA_PMID(3,65), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.oplock_rel_flush */ + { NULL, { PMDA_PMID(3,66), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.close_flush */ + { NULL, { PMDA_PMID(3,67), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.sync_flush */ + { NULL, { PMDA_PMID(3,68), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* writecache.size_change_flush */ + { NULL, { PMDA_PMID(3,69), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_mkdir */ + { NULL, { PMDA_PMID(4,70), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_mkdir_time */ + { NULL, { PMDA_PMID(4,71), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_rmdir */ + { NULL, { PMDA_PMID(4,72), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_rmdir_time */ + { NULL, { PMDA_PMID(4,73), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_open */ + { NULL, { PMDA_PMID(4,74), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_open_time */ + { NULL, { PMDA_PMID(4,75), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_create */ + { NULL, { PMDA_PMID(4,76), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_create_time */ + { NULL, { PMDA_PMID(4,77), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_close */ + { NULL, { PMDA_PMID(4,78), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_close_time */ + { NULL, { PMDA_PMID(4,79), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_flush */ + { NULL, { PMDA_PMID(4,80), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_flush_time */ + { NULL, { PMDA_PMID(4,81), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_unlink */ + { NULL, { PMDA_PMID(4,82), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_unlink_time */ + { NULL, { PMDA_PMID(4,83), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_mv */ + { NULL, { PMDA_PMID(4,84), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_mv_time */ + { NULL, { PMDA_PMID(4,85), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_getattr */ + { NULL, { PMDA_PMID(4,86), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_getattr_time */ + { NULL, { PMDA_PMID(4,87), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_setattr */ + { NULL, { PMDA_PMID(4,88), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_setattr_time */ + { NULL, { PMDA_PMID(4,89), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_read */ + { NULL, { PMDA_PMID(4,90), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_read_time */ + { NULL, { PMDA_PMID(4,91), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_write */ + { NULL, { PMDA_PMID(4,92), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_write_time */ + { NULL, { PMDA_PMID(4,93), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_lock */ + { NULL, { PMDA_PMID(4,94), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_lock_time */ + { NULL, { PMDA_PMID(4,95), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_unlock */ + { NULL, { PMDA_PMID(4,96), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_unlock_time */ + { NULL, { PMDA_PMID(4,97), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_ctemp */ + { NULL, { PMDA_PMID(4,98), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_ctemp_time */ + { NULL, { PMDA_PMID(4,99), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_mknew */ + { NULL, { PMDA_PMID(4,100), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_mknew_time */ + { NULL, { PMDA_PMID(4,101), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_chkpth */ + { NULL, { PMDA_PMID(4,102), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_chkpth_time */ + { NULL, { PMDA_PMID(4,103), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_exit */ + { NULL, { PMDA_PMID(4,104), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_exit_time */ + { NULL, { PMDA_PMID(4,105), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_lseek */ + { NULL, { PMDA_PMID(4,106), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_lseek_time */ + { NULL, { PMDA_PMID(4,107), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_lockread */ + { NULL, { PMDA_PMID(4,108), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_lockread_time */ + { NULL, { PMDA_PMID(4,109), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeunlock */ + { NULL, { PMDA_PMID(4,110), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeunlock_time */ + { NULL, { PMDA_PMID(4,111), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_readBraw */ + { NULL, { PMDA_PMID(4,112), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_readBraw_time */ + { NULL, { PMDA_PMID(4,113), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_readBmpx */ + { NULL, { PMDA_PMID(4,114), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_readBmpx_time */ + { NULL, { PMDA_PMID(4,115), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_readBs */ + { NULL, { PMDA_PMID(4,116), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_readBs_time */ + { NULL, { PMDA_PMID(4,117), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeBraw */ + { NULL, { PMDA_PMID(4,118), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeBraw_time */ + { NULL, { PMDA_PMID(4,119), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeBmpx */ + { NULL, { PMDA_PMID(4,120), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeBmpx_time */ + { NULL, { PMDA_PMID(4,121), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeBs */ + { NULL, { PMDA_PMID(4,122), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeBs_time */ + { NULL, { PMDA_PMID(4,123), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writec */ + { NULL, { PMDA_PMID(4,124), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writec_time */ + { NULL, { PMDA_PMID(4,125), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_setattrE */ + { NULL, { PMDA_PMID(4,126), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_setattrE_time */ + { NULL, { PMDA_PMID(4,127), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_getattrE */ + { NULL, { PMDA_PMID(4,128), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_getattrE_time */ + { NULL, { PMDA_PMID(4,129), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_lockingX */ + { NULL, { PMDA_PMID(4,130), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_lockingX_time */ + { NULL, { PMDA_PMID(4,131), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_trans */ + { NULL, { PMDA_PMID(4,132), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_trans_time */ + { NULL, { PMDA_PMID(4,133), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_transs */ + { NULL, { PMDA_PMID(4,134), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_transs_time */ + { NULL, { PMDA_PMID(4,135), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_ioctl */ + { NULL, { PMDA_PMID(4,136), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_ioctl_time */ + { NULL, { PMDA_PMID(4,137), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_ioctls */ + { NULL, { PMDA_PMID(4,138), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_ioctls_time */ + { NULL, { PMDA_PMID(4,139), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_copy */ + { NULL, { PMDA_PMID(4,140), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_copy_time */ + { NULL, { PMDA_PMID(4,141), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_move */ + { NULL, { PMDA_PMID(4,142), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_move_time */ + { NULL, { PMDA_PMID(4,143), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_echo */ + { NULL, { PMDA_PMID(4,144), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_echo_time */ + { NULL, { PMDA_PMID(4,145), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeclose */ + { NULL, { PMDA_PMID(4,146), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeclose_time */ + { NULL, { PMDA_PMID(4,147), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_openX */ + { NULL, { PMDA_PMID(4,148), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_openX_time */ + { NULL, { PMDA_PMID(4,149), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_readX */ + { NULL, { PMDA_PMID(4,150), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_readX_time */ + { NULL, { PMDA_PMID(4,151), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_writeX */ + { NULL, { PMDA_PMID(4,152), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_writeX_time */ + { NULL, { PMDA_PMID(4,153), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_trans2 */ + { NULL, { PMDA_PMID(4,154), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_trans2_time */ + { NULL, { PMDA_PMID(4,155), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_transs2 */ + { NULL, { PMDA_PMID(4,156), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_transs2_time */ + { NULL, { PMDA_PMID(4,157), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_findclose */ + { NULL, { PMDA_PMID(4,158), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_findclose_time */ + { NULL, { PMDA_PMID(4,159), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_findNclose */ + { NULL, { PMDA_PMID(4,160), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_findNclose_time */ + { NULL, { PMDA_PMID(4,161), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_tcon */ + { NULL, { PMDA_PMID(4,162), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_tcon_time */ + { NULL, { PMDA_PMID(4,163), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_tdis */ + { NULL, { PMDA_PMID(4,164), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_tdis_time */ + { NULL, { PMDA_PMID(4,165), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_negprot */ + { NULL, { PMDA_PMID(4,166), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_negprot_time */ + { NULL, { PMDA_PMID(4,167), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sessetupX */ + { NULL, { PMDA_PMID(4,168), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sessetupX_time */ + { NULL, { PMDA_PMID(4,169), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_ulogoffX */ + { NULL, { PMDA_PMID(4,170), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_ulogoffX_time */ + { NULL, { PMDA_PMID(4,171), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_tconX */ + { NULL, { PMDA_PMID(4,172), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_tconX_time */ + { NULL, { PMDA_PMID(4,173), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_dskattr */ + { NULL, { PMDA_PMID(4,174), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_dskattr_time */ + { NULL, { PMDA_PMID(4,175), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_search */ + { NULL, { PMDA_PMID(4,176), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_search_time */ + { NULL, { PMDA_PMID(4,177), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_ffisrst */ + { NULL, { PMDA_PMID(4,178), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_ffisrst_time */ + { NULL, { PMDA_PMID(4,179), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_funique */ + { NULL, { PMDA_PMID(4,180), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_funique_time */ + { NULL, { PMDA_PMID(4,181), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_fclose */ + { NULL, { PMDA_PMID(4,182), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_fclose_time */ + { NULL, { PMDA_PMID(4,183), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_NTtrans */ + { NULL, { PMDA_PMID(4,184), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_NTtrans_time */ + { NULL, { PMDA_PMID(4,185), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_NTtranss */ + { NULL, { PMDA_PMID(4,186), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_NTtranss_time */ + { NULL, { PMDA_PMID(4,187), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_NTcreateX */ + { NULL, { PMDA_PMID(4,188), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_NTcreateX_time */ + { NULL, { PMDA_PMID(4,189), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_NTcancel */ + { NULL, { PMDA_PMID(4,190), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_NTcancel_time */ + { NULL, { PMDA_PMID(4,191), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_splopen */ + { NULL, { PMDA_PMID(4,192), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_splopen_time */ + { NULL, { PMDA_PMID(4,193), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_splwrite */ + { NULL, { PMDA_PMID(4,194), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_splwrite_time */ + { NULL, { PMDA_PMID(4,195), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_splclose */ + { NULL, { PMDA_PMID(4,196), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_splclose_time */ + { NULL, { PMDA_PMID(4,197), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_splretq */ + { NULL, { PMDA_PMID(4,198), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_splretq_time */ + { NULL, { PMDA_PMID(4,199), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sends */ + { NULL, { PMDA_PMID(4,200), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sends_time */ + { NULL, { PMDA_PMID(4,201), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sendb */ + { NULL, { PMDA_PMID(4,202), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sendb_time */ + { NULL, { PMDA_PMID(4,203), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_fwdname */ + { NULL, { PMDA_PMID(4,204), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_fwdname_time */ + { NULL, { PMDA_PMID(4,205), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_cancelf */ + { NULL, { PMDA_PMID(4,206), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_cancelf_time */ + { NULL, { PMDA_PMID(4,207), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_getmach */ + { NULL, { PMDA_PMID(4,208), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_getmach_time */ + { NULL, { PMDA_PMID(4,209), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sendstrt */ + { NULL, { PMDA_PMID(4,210), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sendstrt_time */ + { NULL, { PMDA_PMID(4,211), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sendend */ + { NULL, { PMDA_PMID(4,212), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sendend_time */ + { NULL, { PMDA_PMID(4,213), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_sendtxt */ + { NULL, { PMDA_PMID(4,214), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_sendtxt_time */ + { NULL, { PMDA_PMID(4,215), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.SMB_invalid */ + { NULL, { PMDA_PMID(4,216), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.SMB_invalid_time */ + { NULL, { PMDA_PMID(4,217), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.PATHWORK_setdir */ + { NULL, { PMDA_PMID(4,218), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.PATHWORK_setdir_time */ + { NULL, { PMDA_PMID(4,219), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_open */ + { NULL, { PMDA_PMID(4,220), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_open_time */ + { NULL, { PMDA_PMID(4,221), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_ffirst */ + { NULL, { PMDA_PMID(4,222), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_ffirst_time */ + { NULL, { PMDA_PMID(4,223), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_fnext */ + { NULL, { PMDA_PMID(4,224), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_fnext_time */ + { NULL, { PMDA_PMID(4,225), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_qfsinfo */ + { NULL, { PMDA_PMID(4,226), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_qfsinfo_time */ + { NULL, { PMDA_PMID(4,227), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_sfsinfo */ + { NULL, { PMDA_PMID(4,228), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_sfsinfo_time */ + { NULL, { PMDA_PMID(4,229), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_qpathinfo */ + { NULL, { PMDA_PMID(4,230), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_qpathinfo_time */ + { NULL, { PMDA_PMID(4,231), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_spathinfo */ + { NULL, { PMDA_PMID(4,232), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_spathinfo_time */ + { NULL, { PMDA_PMID(4,233), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_qfileinfo */ + { NULL, { PMDA_PMID(4,234), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_qfileinfo_time */ + { NULL, { PMDA_PMID(4,235), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_sfileinfo */ + { NULL, { PMDA_PMID(4,236), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_sfileinfo_time */ + { NULL, { PMDA_PMID(4,237), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_fsctl */ + { NULL, { PMDA_PMID(4,238), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_fsctl_time */ + { NULL, { PMDA_PMID(4,239), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_ioctl */ + { NULL, { PMDA_PMID(4,240), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_ioctl_time */ + { NULL, { PMDA_PMID(4,241), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_fnotifyfirst */ + { NULL, { PMDA_PMID(4,242), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_fnotifyfirst_time */ + { NULL, { PMDA_PMID(4,243), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_fnotifynext */ + { NULL, { PMDA_PMID(4,244), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_fnotifynext_time */ + { NULL, { PMDA_PMID(4,245), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_mkdir */ + { NULL, { PMDA_PMID(4,246), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_mkdir_time */ + { NULL, { PMDA_PMID(4,247), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_sessetup */ + { NULL, { PMDA_PMID(4,248), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_sessetup_time */ + { NULL, { PMDA_PMID(4,249), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_getDFSref */ + { NULL, { PMDA_PMID(4,250), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_getDFSref_time */ + { NULL, { PMDA_PMID(4,251), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.TRANS2_rptDFSinconsist */ + { NULL, { PMDA_PMID(4,252), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.TRANS2_rptDFSinconsist_time */ + { NULL, { PMDA_PMID(4,253), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_create */ + { NULL, { PMDA_PMID(4,254), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_create_time */ + { NULL, { PMDA_PMID(4,255), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_ioctl */ + { NULL, { PMDA_PMID(4,256), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_ioctl_time */ + { NULL, { PMDA_PMID(4,257), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_setsecdesc */ + { NULL, { PMDA_PMID(4,258), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_setsecdesc_time */ + { NULL, { PMDA_PMID(4,259), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_notifychange */ + { NULL, { PMDA_PMID(4,260), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_notifychange_time */ + { NULL, { PMDA_PMID(4,261), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_rename */ + { NULL, { PMDA_PMID(4,262), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_rename_time */ + { NULL, { PMDA_PMID(4,263), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, }, +/* SMB.NTTRANS_qsecdesc */ + { NULL, { PMDA_PMID(4,264), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,0,1,0,0,PM_COUNT_ONE} }, }, +/* SMB.NTTRANS_qsecdesc_time */ + { NULL, { PMDA_PMID(4,265), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER, + { 0,1,0,0,PM_TIME_USEC,0} }, } +}; + +extern int errno; +struct profile_stats *stats; +struct profile_header *shmheader; +int shmid = -1; + + +int +samba_fetchCallBack(pmdaMetric *mdesc, unsigned int inst, pmAtomValue *atom) +{ + __pmID_int *idp = (__pmID_int *)&(mdesc->m_desc.pmid); + + if (inst != PM_IN_NULL && mdesc->m_desc.indom == PM_INDOM_NULL) + return PM_ERR_INST; + + if (idp->cluster == 0) { + switch (idp->item) { + case 0: /* smbd.smb_count */ + atom->ul = stats->smb_count; + break; + case 1: /* smb.uid_changes */ + atom->ul = stats->uid_changes; + break; + default: + return PM_ERR_PMID; + } + } + else if (idp->cluster == 1) { + switch (idp->item) { + case 2: /* syscalls.opendir */ + atom->ul = stats->syscall_opendir_count; + break; + case 3: /* syscalls.opendir */ + atom->ul = stats->syscall_opendir_time; + break; + case 4: /* syscalls.readdir */ + atom->ul = stats->syscall_readdir_count; + break; + case 5: /* syscalls.readdir */ + atom->ul = stats->syscall_readdir_time; + break; + case 6: /* syscalls.mkdir */ + atom->ul = stats->syscall_mkdir_count; + break; + case 7: /* syscalls.mkdir */ + atom->ul = stats->syscall_mkdir_time; + break; + case 8: /* syscalls.rmdir */ + atom->ul = stats->syscall_rmdir_count; + break; + case 9: /* syscalls.rmdir */ + atom->ul = stats->syscall_rmdir_time; + break; + case 10: /* syscalls.closedir */ + atom->ul = stats->syscall_closedir_count; + break; + case 11: /* syscalls.closedir */ + atom->ul = stats->syscall_closedir_time; + break; + case 12: /* syscalls.open */ + atom->ul = stats->syscall_open_count; + break; + case 13: /* syscalls.open */ + atom->ul = stats->syscall_open_time; + break; + case 14: /* syscalls.close */ + atom->ul = stats->syscall_close_count; + break; + case 15: /* syscalls.close */ + atom->ul = stats->syscall_close_time; + break; + case 16: /* syscalls.read */ + atom->ul = stats->syscall_read_count; + break; + case 17: /* syscalls.read */ + atom->ul = stats->syscall_read_time; + break; + case 18: /* syscalls.read */ + atom->ul = stats->syscall_read_bytes; + break; + case 19: /* syscalls.write */ + atom->ul = stats->syscall_write_count; + break; + case 20: /* syscalls.write */ + atom->ul = stats->syscall_write_time; + break; + case 21: /* syscalls.write */ + atom->ul = stats->syscall_write_bytes; + break; + case 22: /* syscalls.lseek */ + atom->ul = stats->syscall_lseek_count; + break; + case 23: /* syscalls.lseek */ + atom->ul = stats->syscall_lseek_time; + break; + case 24: /* syscalls.rename */ + atom->ul = stats->syscall_rename_count; + break; + case 25: /* syscalls.rename */ + atom->ul = stats->syscall_rename_time; + break; + case 26: /* syscalls.fsync */ + atom->ul = stats->syscall_fsync_count; + break; + case 27: /* syscalls.fsync */ + atom->ul = stats->syscall_fsync_time; + break; + case 28: /* syscalls.stat */ + atom->ul = stats->syscall_stat_count; + break; + case 29: /* syscalls.stat */ + atom->ul = stats->syscall_stat_time; + break; + case 30: /* syscalls.fstat */ + atom->ul = stats->syscall_fstat_count; + break; + case 31: /* syscalls.fstat */ + atom->ul = stats->syscall_fstat_time; + break; + case 32: /* syscalls.lstat */ + atom->ul = stats->syscall_lstat_count; + break; + case 33: /* syscalls.lstat */ + atom->ul = stats->syscall_lstat_time; + break; + case 34: /* syscalls.unlink */ + atom->ul = stats->syscall_unlink_count; + break; + case 35: /* syscalls.unlink */ + atom->ul = stats->syscall_unlink_time; + break; + case 36: /* syscalls.chmod */ + atom->ul = stats->syscall_chmod_count; + break; + case 37: /* syscalls.chmod */ + atom->ul = stats->syscall_chmod_time; + break; + case 38: /* syscalls.chown */ + atom->ul = stats->syscall_chown_count; + break; + case 39: /* syscalls.chown */ + atom->ul = stats->syscall_chown_time; + break; + case 40: /* syscalls.chdir */ + atom->ul = stats->syscall_chdir_count; + break; + case 41: /* syscalls.chdir */ + atom->ul = stats->syscall_chdir_time; + break; + case 42: /* syscalls.getwd */ + atom->ul = stats->syscall_getwd_count; + break; + case 43: /* syscalls.getwd */ + atom->ul = stats->syscall_getwd_time; + break; + case 44: /* syscalls.utime */ + atom->ul = stats->syscall_utime_count; + break; + case 45: /* syscalls.utime */ + atom->ul = stats->syscall_utime_time; + break; + case 46: /* syscalls.ftruncate */ + atom->ul = stats->syscall_ftruncate_count; + break; + case 47: /* syscalls.ftruncate */ + atom->ul = stats->syscall_ftruncate_time; + break; + case 48: /* syscalls.fcntl_lock */ + atom->ul = stats->syscall_fcntl_lock_count; + break; + case 49: /* syscalls.fcntl_lock */ + atom->ul = stats->syscall_fcntl_lock_time; + break; + default: + return PM_ERR_PMID; + } + } + else if (idp->cluster == 2) { + switch (idp->item) { + case 50: /* statcache.lookups */ + atom->ul = stats->statcache_lookups; + break; + case 51: /* statcache.misses */ + atom->ul = stats->statcache_misses; + break; + case 52: /* statcache.hits */ + atom->ul = stats->statcache_hits; + break; + default: + return PM_ERR_PMID; + } + } + else if (idp->cluster == 3) { + switch (idp->item) { + case 53: /* writecache.num_caches */ + atom->ul = stats->writecache_num_write_caches; + break; + case 54: /* writecache.allocated_caches */ + atom->ul = stats->writecache_allocated_write_caches; + break; + case 55: /* writecache.read_hits */ + atom->ul = stats->writecache_read_hits; + break; + case 56: /* writecache.total_writes */ + atom->ul = stats->writecache_total_writes; + break; + case 57: /* writecache.init_writes */ + atom->ul = stats->writecache_init_writes; + break; + case 58: /* writecache.abutted_writes */ + atom->ul = stats->writecache_abutted_writes; + break; + case 59: /* writecache.perfect_writes */ + atom->ul = stats->writecache_num_perfect_writes; + break; + case 60: /* writecache.direct_writes */ + atom->ul = stats->writecache_direct_writes; + break; + case 61: /* writecache.non_oplock_writes */ + atom->ul = stats->writecache_non_oplock_writes; + break; + case 62: /* writecache.seek_flush */ + atom->ul = stats->writecache_flushed_writes[SEEK_FLUSH]; + break; + case 63: /* writecache.read_flush */ + atom->ul = stats->writecache_flushed_writes[READ_FLUSH]; + break; + case 64: /* writecache.write_flush */ + atom->ul = stats->writecache_flushed_writes[WRITE_FLUSH]; + break; + case 65: /* writecache.readraw_flush */ + atom->ul = stats->writecache_flushed_writes[READRAW_FLUSH]; + break; + case 66: /* writecache.oplock_rel_flush */ + atom->ul = stats->writecache_flushed_writes[OPLOCK_RELEASE_FLUSH]; + break; + case 67: /* writecache.close_flush */ + atom->ul = stats->writecache_flushed_writes[CLOSE_FLUSH]; + break; + case 68: /* writecache.sync_flush */ + atom->ul = stats->writecache_flushed_writes[SYNC_FLUSH]; + break; + case 69: /* writecache.size_change_flush */ + atom->ul = stats->writecache_flushed_writes[SIZECHANGE_FLUSH]; + break; + default: + return PM_ERR_PMID; + } + } + else if (idp->cluster == 4) { + switch (idp->item) { + case 70: /* SMB.SMB_mkdir */ + atom->ul = stats->SMBmkdir_count; + break; + case 71: /* SMB.SMB_mkdir */ + atom->ul = stats->SMBmkdir_time; + break; + case 72: /* SMB.SMB_rmdir */ + atom->ul = stats->SMBrmdir_count; + break; + case 73: /* SMB.SMB_rmdir */ + atom->ul = stats->SMBrmdir_time; + break; + case 74: /* SMB.SMB_open */ + atom->ul = stats->SMBopen_count; + break; + case 75: /* SMB.SMB_open */ + atom->ul = stats->SMBopen_time; + break; + case 76: /* SMB.SMB_create */ + atom->ul = stats->SMBcreate_count; + break; + case 77: /* SMB.SMB_create */ + atom->ul = stats->SMBcreate_time; + break; + case 78: /* SMB.SMB_close */ + atom->ul = stats->SMBclose_count; + break; + case 79: /* SMB.SMB_close */ + atom->ul = stats->SMBclose_time; + break; + case 80: /* SMB.SMB_flush */ + atom->ul = stats->SMBflush_count; + break; + case 81: /* SMB.SMB_flush */ + atom->ul = stats->SMBflush_time; + break; + case 82: /* SMB.SMB_unlink */ + atom->ul = stats->SMBunlink_count; + break; + case 83: /* SMB.SMB_unlink */ + atom->ul = stats->SMBunlink_time; + break; + case 84: /* SMB.SMB_mv */ + atom->ul = stats->SMBmv_count; + break; + case 85: /* SMB.SMB_mv */ + atom->ul = stats->SMBmv_time; + break; + case 86: /* SMB.SMB_getatr */ + atom->ul = stats->SMBgetatr_count; + break; + case 87: /* SMB.SMB_getatr */ + atom->ul = stats->SMBgetatr_time; + break; + case 88: /* SMB.SMB_setatr */ + atom->ul = stats->SMBsetatr_count; + break; + case 89: /* SMB.SMB_setatr */ + atom->ul = stats->SMBsetatr_time; + break; + case 90: /* SMB.SMB_read */ + atom->ul = stats->SMBread_count; + break; + case 91: /* SMB.SMB_read */ + atom->ul = stats->SMBread_time; + break; + case 92: /* SMB.SMB_write */ + atom->ul = stats->SMBwrite_count; + break; + case 93: /* SMB.SMB_write */ + atom->ul = stats->SMBwrite_time; + break; + case 94: /* SMB.SMB_lock */ + atom->ul = stats->SMBlock_count; + break; + case 95: /* SMB.SMB_lock */ + atom->ul = stats->SMBlock_time; + break; + case 96: /* SMB.SMB_unlock */ + atom->ul = stats->SMBunlock_count; + break; + case 97: /* SMB.SMB_unlock */ + atom->ul = stats->SMBunlock_time; + break; + case 98: /* SMB.SMB_ctemp */ + atom->ul = stats->SMBctemp_count; + break; + case 99: /* SMB.SMB_ctemp */ + atom->ul = stats->SMBctemp_time; + break; + case 100: /* SMB.SMB_mknew */ + atom->ul = stats->SMBmknew_count; + break; + case 101: /* SMB.SMB_mknew */ + atom->ul = stats->SMBmknew_time; + break; + case 102: /* SMB.SMB_chkpth */ + atom->ul = stats->SMBchkpth_count; + break; + case 103: /* SMB.SMB_chkpth */ + atom->ul = stats->SMBchkpth_time; + break; + case 104: /* SMB.SMB_exit */ + atom->ul = stats->SMBexit_count; + break; + case 105: /* SMB.SMB_exit */ + atom->ul = stats->SMBexit_time; + break; + case 106: /* SMB.SMB_lseek */ + atom->ul = stats->SMBlseek_count; + break; + case 107: /* SMB.SMB_lseek */ + atom->ul = stats->SMBlseek_time; + break; + case 108: /* SMB.SMB_lockread */ + atom->ul = stats->SMBlockread_count; + break; + case 109: /* SMB.SMB_lockread */ + atom->ul = stats->SMBlockread_time; + break; + case 110: /* SMB.SMB_writeunlock */ + atom->ul = stats->SMBwriteunlock_count; + break; + case 111: /* SMB.SMB_writeunlock */ + atom->ul = stats->SMBwriteunlock_time; + break; + case 112: /* SMB.SMB_readbraw */ + atom->ul = stats->SMBreadbraw_count; + break; + case 113: /* SMB.SMB_readbraw */ + atom->ul = stats->SMBreadbraw_time; + break; + case 114: /* SMB.SMB_readBmpx */ + atom->ul = stats->SMBreadBmpx_count; + break; + case 115: /* SMB.SMB_readBmpx */ + atom->ul = stats->SMBreadBmpx_time; + break; + case 116: /* SMB.SMB_readBs */ + atom->ul = stats->SMBreadBs_count; + break; + case 117: /* SMB.SMB_readBs */ + atom->ul = stats->SMBreadBs_time; + break; + case 118: /* SMB.SMB_writebraw */ + atom->ul = stats->SMBwritebraw_count; + break; + case 119: /* SMB.SMB_writebraw */ + atom->ul = stats->SMBwritebraw_time; + break; + case 120: /* SMB.SMB_writeBmpx */ + atom->ul = stats->SMBwriteBmpx_count; + break; + case 121: /* SMB.SMB_writeBmpx */ + atom->ul = stats->SMBwriteBmpx_time; + break; + case 122: /* SMB.SMB_writeBs */ + atom->ul = stats->SMBwriteBs_count; + break; + case 123: /* SMB.SMB_writeBs */ + atom->ul = stats->SMBwriteBs_time; + break; + case 124: /* SMB.SMB_writec */ + atom->ul = stats->SMBwritec_count; + break; + case 125: /* SMB.SMB_writec */ + atom->ul = stats->SMBwritec_time; + break; + case 126: /* SMB.SMB_setattrE */ + atom->ul = stats->SMBsetattrE_count; + break; + case 127: /* SMB.SMB_setattrE */ + atom->ul = stats->SMBsetattrE_time; + break; + case 128: /* SMB.SMB_getattrE */ + atom->ul = stats->SMBgetattrE_count; + break; + case 129: /* SMB.SMB_getattrE */ + atom->ul = stats->SMBgetattrE_time; + break; + case 130: /* SMB.SMB_lockingX */ + atom->ul = stats->SMBlockingX_count; + break; + case 131: /* SMB.SMB_lockingX */ + atom->ul = stats->SMBlockingX_time; + break; + case 132: /* SMB.SMB_trans */ + atom->ul = stats->SMBtrans_count; + break; + case 133: /* SMB.SMB_trans */ + atom->ul = stats->SMBtrans_time; + break; + case 134: /* SMB.SMB_transs */ + atom->ul = stats->SMBtranss_count; + break; + case 135: /* SMB.SMB_transs */ + atom->ul = stats->SMBtranss_time; + break; + case 136: /* SMB.SMB_ioctl */ + atom->ul = stats->SMBioctl_count; + break; + case 137: /* SMB.SMB_ioctl */ + atom->ul = stats->SMBioctl_time; + break; + case 138: /* SMB.SMB_ioctls */ + atom->ul = stats->SMBioctls_count; + break; + case 139: /* SMB.SMB_ioctls */ + atom->ul = stats->SMBioctls_time; + break; + case 140: /* SMB.SMB_copy */ + atom->ul = stats->SMBcopy_count; + break; + case 141: /* SMB.SMB_copy */ + atom->ul = stats->SMBcopy_time; + break; + case 142: /* SMB.SMB_move */ + atom->ul = stats->SMBmove_count; + break; + case 143: /* SMB.SMB_move */ + atom->ul = stats->SMBmove_time; + break; + case 144: /* SMB.SMB_echo */ + atom->ul = stats->SMBecho_count; + break; + case 145: /* SMB.SMB_echo */ + atom->ul = stats->SMBecho_time; + break; + case 146: /* SMB.SMB_writeclose */ + atom->ul = stats->SMBwriteclose_count; + break; + case 147: /* SMB.SMB_writeclose */ + atom->ul = stats->SMBwriteclose_time; + break; + case 148: /* SMB.SMB_openX */ + atom->ul = stats->SMBopenX_count; + break; + case 149: /* SMB.SMB_openX */ + atom->ul = stats->SMBopenX_time; + break; + case 150: /* SMB.SMB_readX */ + atom->ul = stats->SMBreadX_count; + break; + case 151: /* SMB.SMB_readX */ + atom->ul = stats->SMBreadX_time; + break; + case 152: /* SMB.SMB_writeX */ + atom->ul = stats->SMBwriteX_count; + break; + case 153: /* SMB.SMB_writeX */ + atom->ul = stats->SMBwriteX_time; + break; + case 154: /* SMB.SMB_trans2 */ + atom->ul = stats->SMBtrans2_count; + break; + case 155: /* SMB.SMB_trans2 */ + atom->ul = stats->SMBtrans2_time; + break; + case 156: /* SMB.SMB_transs2 */ + atom->ul = stats->SMBtranss2_count; + break; + case 157: /* SMB.SMB_transs2 */ + atom->ul = stats->SMBtranss2_time; + break; + case 158: /* SMB.SMB_findclose */ + atom->ul = stats->SMBfindclose_count; + break; + case 159: /* SMB.SMB_findclose */ + atom->ul = stats->SMBfindclose_time; + break; + case 160: /* SMB.SMB_findnclose */ + atom->ul = stats->SMBfindnclose_count; + break; + case 161: /* SMB.SMB_findnclose */ + atom->ul = stats->SMBfindnclose_time; + break; + case 162: /* SMB.SMB_tcon */ + atom->ul = stats->SMBtcon_count; + break; + case 163: /* SMB.SMB_tcon */ + atom->ul = stats->SMBtcon_time; + break; + case 164: /* SMB.SMB_tdis */ + atom->ul = stats->SMBtdis_count; + break; + case 165: /* SMB.SMB_tdis */ + atom->ul = stats->SMBtdis_time; + break; + case 166: /* SMB.SMB_negprot */ + atom->ul = stats->SMBnegprot_count; + break; + case 167: /* SMB.SMB_negprot */ + atom->ul = stats->SMBnegprot_time; + break; + case 168: /* SMB.SMB_sesssetupX */ + atom->ul = stats->SMBsesssetupX_count; + break; + case 169: /* SMB.SMB_sesssetupX */ + atom->ul = stats->SMBsesssetupX_time; + break; + case 170: /* SMB.SMB_ulogoffX */ + atom->ul = stats->SMBulogoffX_count; + break; + case 171: /* SMB.SMB_ulogoffX */ + atom->ul = stats->SMBulogoffX_time; + break; + case 172: /* SMB.SMB_tconX */ + atom->ul = stats->SMBtconX_count; + break; + case 173: /* SMB.SMB_tconX */ + atom->ul = stats->SMBtconX_time; + break; + case 174: /* SMB.SMB_dskattr */ + atom->ul = stats->SMBdskattr_count; + break; + case 175: /* SMB.SMB_dskattr */ + atom->ul = stats->SMBdskattr_time; + break; + case 176: /* SMB.SMB_search */ + atom->ul = stats->SMBsearch_count; + break; + case 177: /* SMB.SMB_search */ + atom->ul = stats->SMBsearch_time; + break; + case 178: /* SMB.SMB_ffirst */ + atom->ul = stats->SMBffirst_count; + break; + case 179: /* SMB.SMB_ffirst */ + atom->ul = stats->SMBffirst_time; + break; + case 180: /* SMB.SMB_funique */ + atom->ul = stats->SMBfunique_count; + break; + case 181: /* SMB.SMB_funique */ + atom->ul = stats->SMBfunique_time; + break; + case 182: /* SMB.SMB_fclose */ + atom->ul = stats->SMBfclose_count; + break; + case 183: /* SMB.SMB_fclose */ + atom->ul = stats->SMBfclose_time; + break; + case 184: /* SMB.SMB_nttrans */ + atom->ul = stats->SMBnttrans_count; + break; + case 185: /* SMB.SMB_nttrans */ + atom->ul = stats->SMBnttrans_time; + break; + case 186: /* SMB.SMB_nttranss */ + atom->ul = stats->SMBnttranss_count; + break; + case 187: /* SMB.SMB_nttranss */ + atom->ul = stats->SMBnttranss_time; + break; + case 188: /* SMB.SMB_ntcreateX */ + atom->ul = stats->SMBntcreateX_count; + break; + case 189: /* SMB.SMB_ntcreateX */ + atom->ul = stats->SMBntcreateX_time; + break; + case 190: /* SMB.SMB_ntcancel */ + atom->ul = stats->SMBntcancel_count; + break; + case 191: /* SMB.SMB_ntcancel */ + atom->ul = stats->SMBntcancel_time; + break; + case 192: /* SMB.SMB_splopen */ + atom->ul = stats->SMBsplopen_count; + break; + case 193: /* SMB.SMB_splopen */ + atom->ul = stats->SMBsplopen_time; + break; + case 194: /* SMB.SMB_splwrite */ + atom->ul = stats->SMBsplwr_count; + break; + case 195: /* SMB.SMB_splwrite */ + atom->ul = stats->SMBsplwr_time; + break; + case 196: /* SMB.SMB_splclose */ + atom->ul = stats->SMBsplclose_count; + break; + case 197: /* SMB.SMB_splclose */ + atom->ul = stats->SMBsplclose_time; + break; + case 198: /* SMB.SMB_splretq */ + atom->ul = stats->SMBsplretq_count; + break; + case 199: /* SMB.SMB_splretq */ + atom->ul = stats->SMBsplretq_time; + break; + case 200: /* SMB.SMB_sends */ + atom->ul = stats->SMBsends_count; + break; + case 201: /* SMB.SMB_sends */ + atom->ul = stats->SMBsends_time; + break; + case 202: /* SMB.SMB_sendb */ + atom->ul = stats->SMBsendb_count; + break; + case 203: /* SMB.SMB_sendb */ + atom->ul = stats->SMBsendb_time; + break; + case 204: /* SMB.SMB_fwdname */ + atom->ul = stats->SMBfwdname_count; + break; + case 205: /* SMB.SMB_fwdname */ + atom->ul = stats->SMBfwdname_time; + break; + case 206: /* SMB.SMB_cancelf */ + atom->ul = stats->SMBcancelf_count; + break; + case 207: /* SMB.SMB_cancelf */ + atom->ul = stats->SMBcancelf_time; + break; + case 208: /* SMB.SMB_getmach */ + atom->ul = stats->SMBgetmac_count; + break; + case 209: /* SMB.SMB_getmach */ + atom->ul = stats->SMBgetmac_time; + break; + case 210: /* SMB.SMB_sendstrt */ + atom->ul = stats->SMBsendstrt_count; + break; + case 211: /* SMB.SMB_sendstrt */ + atom->ul = stats->SMBsendstrt_time; + break; + case 212: /* SMB.SMB_sendend */ + atom->ul = stats->SMBsendend_count; + break; + case 213: /* SMB.SMB_sendend */ + atom->ul = stats->SMBsendend_time; + break; + case 214: /* SMB.SMB_sendtxt */ + atom->ul = stats->SMBsendtxt_count; + break; + case 215: /* SMB.SMB_sendtxt */ + atom->ul = stats->SMBsendtxt_time; + break; + case 216: /* SMB.SMB_invalid */ + atom->ul = stats->SMBinvalid_count; + break; + case 217: /* SMB.SMB_invalid */ + atom->ul = stats->SMBinvalid_time; + break; + case 218: /* SMB.PATHWORK_setdir */ + atom->ul = stats->pathworks_setdir_count; + break; + case 219: /* SMB.PATHWORK_setdir */ + atom->ul = stats->pathworks_setdir_time; + break; + case 220: /* SMB.TRANS2_open */ + atom->ul = stats->Trans2_open_count; + break; + case 221: /* SMB.TRANS2_open */ + atom->ul = stats->Trans2_open_time; + break; + case 222: /* SMB.TRANS2_findfirst */ + atom->ul = stats->Trans2_findfirst_count; + break; + case 223: /* SMB.TRANS2_findfirst */ + atom->ul = stats->Trans2_findfirst_time; + break; + case 224: /* SMB.TRANS2_findnext */ + atom->ul = stats->Trans2_findnext_count; + break; + case 225: /* SMB.TRANS2_findnext */ + atom->ul = stats->Trans2_findnext_time; + break; + case 226: /* SMB.TRANS2_qfsinfo */ + atom->ul = stats->Trans2_qfsinfo_count; + break; + case 227: /* SMB.TRANS2_qfsinfo */ + atom->ul = stats->Trans2_qfsinfo_time; + break; + case 228: /* SMB.TRANS2_setfsinfo */ + atom->ul = stats->Trans2_setfsinfo_count; + break; + case 229: /* SMB.TRANS2_setfsinfo */ + atom->ul = stats->Trans2_setfsinfo_time; + break; + case 230: /* SMB.TRANS2_qpathinfo */ + atom->ul = stats->Trans2_qpathinfo_count; + break; + case 231: /* SMB.TRANS2_qpathinfo */ + atom->ul = stats->Trans2_qpathinfo_time; + break; + case 232: /* SMB.TRANS2_setpathinfo */ + atom->ul = stats->Trans2_setpathinfo_count; + break; + case 233: /* SMB.TRANS2_setpathinfo */ + atom->ul = stats->Trans2_setpathinfo_time; + break; + case 234: /* SMB.TRANS2_qfileinfo */ + atom->ul = stats->Trans2_qfileinfo_count; + break; + case 235: /* SMB.TRANS2_qfileinfo */ + atom->ul = stats->Trans2_qfileinfo_time; + break; + case 236: /* SMB.TRANS2_setfileinfo */ + atom->ul = stats->Trans2_setfileinfo_count; + break; + case 237: /* SMB.TRANS2_setfileinfo */ + atom->ul = stats->Trans2_setfileinfo_time; + break; + case 238: /* SMB.TRANS2_fsctl */ + atom->ul = stats->Trans2_fsctl_count; + break; + case 239: /* SMB.TRANS2_fsctl */ + atom->ul = stats->Trans2_fsctl_time; + break; + case 240: /* SMB.TRANS2_ioctl */ + atom->ul = stats->Trans2_ioctl_count; + break; + case 241: /* SMB.TRANS2_ioctl */ + atom->ul = stats->Trans2_ioctl_time; + break; + case 242: /* SMB.TRANS2_findnotifyfirst */ + atom->ul = stats->Trans2_findnotifyfirst_count; + break; + case 243: /* SMB.TRANS2_findnotifyfirst */ + atom->ul = stats->Trans2_findnotifyfirst_time; + break; + case 244: /* SMB.TRANS2_findnotifynext */ + atom->ul = stats->Trans2_findnotifynext_count; + break; + case 245: /* SMB.TRANS2_findnotifynext */ + atom->ul = stats->Trans2_findnotifynext_time; + break; + case 246: /* SMB.TRANS2_mkdir */ + atom->ul = stats->Trans2_mkdir_count; + break; + case 247: /* SMB.TRANS2_mkdir */ + atom->ul = stats->Trans2_mkdir_time; + break; + case 248: /* SMB.TRANS2_session_setup */ + atom->ul = stats->Trans2_session_setup_count; + break; + case 249: /* SMB.TRANS2_session_setup */ + atom->ul = stats->Trans2_session_setup_time; + break; + case 250: /* SMB.TRANS2_get_dfs_referral */ + atom->ul = stats->Trans2_get_dfs_referral_count; + break; + case 251: /* SMB.TRANS2_get_dfs_referral */ + atom->ul = stats->Trans2_get_dfs_referral_time; + break; + case 252: /* SMB.TRANS2_report_dfs_inconsistancy */ + atom->ul = stats->Trans2_report_dfs_inconsistancy_count; + break; + case 253: /* SMB.TRANS2_report_dfs_inconsistancy */ + atom->ul = stats->Trans2_report_dfs_inconsistancy_time; + break; + case 254: /* SMB.NTTRANS_create */ + atom->ul = stats->NT_transact_create_count; + break; + case 255: /* SMB.NTTRANS_create */ + atom->ul = stats->NT_transact_create_time; + break; + case 256: /* SMB.NTTRANS_ioctl */ + atom->ul = stats->NT_transact_ioctl_count; + break; + case 257: /* SMB.NTTRANS_ioctl */ + atom->ul = stats->NT_transact_ioctl_time; + break; + case 258: /* SMB.NTTRANS_set_security_desc */ + atom->ul = stats->NT_transact_set_security_desc_count; + break; + case 259: /* SMB.NTTRANS_set_security_desc */ + atom->ul = stats->NT_transact_set_security_desc_time; + break; + case 260: /* SMB.NTTRANS_notify_change */ + atom->ul = stats->NT_transact_notify_change_count; + break; + case 261: /* SMB.NTTRANS_notify_change */ + atom->ul = stats->NT_transact_notify_change_time; + break; + case 262: /* SMB.NTTRANS_rename */ + atom->ul = stats->NT_transact_rename_count; + break; + case 263: /* SMB.NTTRANS_rename */ + atom->ul = stats->NT_transact_rename_time; + break; + case 264: /* SMB.NTTRANS_query_security_desc */ + atom->ul = stats->NT_transact_query_security_desc_count; + break; + case 265: /* SMB.NTTRANS_query_security_desc */ + atom->ul = stats->NT_transact_query_security_desc_time; + break; + default: + return PM_ERR_PMID; + } + } + else + return PM_ERR_PMID; + return 0; +} + + +void +samba_init(pmdaInterface *dp) +{ + if (dp->status != 0) + return; + + pmdaSetFetchCallBack(dp, samba_fetchCallBack); + pmdaInit(dp, NULL, 0, metrictab, sizeof(metrictab)/sizeof(metrictab[0])); + + if ((shmid = shmget(PROF_SHMEM_KEY, 0, 0)) == -1) { + fprintf(stderr, "shmid: %s\n", strerror(errno)); + fprintf(stderr, "samba not compiled with profile support or not running\n"); + exit(1); + } + shmheader = (struct profile_header *)shmat(shmid, NULL, SHM_RDONLY); + if ((int)shmheader == -1) { + fprintf(stderr, "shmat: %s\n", strerror(errno)); + exit(1); + } + + /* validate the data */ + if (!shmheader) /* not mapped yet */ + fprintf(stderr, "samba_init: shmem not mapped\n"); + else if (shmheader->prof_shm_magic != PROF_SHM_MAGIC) + fprintf(stderr, "samba_init: bad magic\n"); + else if (shmheader->prof_shm_version != PROF_SHM_VERSION) + fprintf(stderr, "samba_init: bad version %X\n", + shmheader->prof_shm_version); + else { + stats = &shmheader->stats; + return; /* looks OK */ + } + exit(1); +} + + +int +main(int argc, char **argv) +{ + int err = 0; + char *p; + pmdaInterface dispatch; + + for (p = pmProgname = argv[0]; *p; p++) + if (*p == '/') pmProgname = p+1; + + pmdaDaemon(&dispatch, PMDA_INTERFACE_2, pmProgname, SAMBA, + "samba.log", "/var/pcp/pmdas/samba/help"); + + if (pmdaGetOpt(argc, argv, "D:d:l:?", &dispatch, &err) != EOF) { + fprintf(stderr, "Usage: %s [options]\n\n\ +Options:\n\ + -d domain use domain (numeric) for metrics domain of PMDA\n\ + -l logfile write log into logfile rather than using default log name\n", + pmProgname); + exit(1); + } + + pmdaOpenLog(&dispatch); + samba_init(&dispatch); + pmdaConnect(&dispatch); + pmdaMain(&dispatch); + + exit(0); + /*NOTREACHED*/ +} |