Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmdagetopt(3) [centos man page]

PMDAGETOPT(3)						     Library Functions Manual						     PMDAGETOPT(3)

NAME
pmdaGetOpt - get options from argument vector, trapping generic PMDA options C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/pmda.h> int pmdaGetOpt(int argc, char *const *argv, const char *optstring, pmdaInterface *dispatch, int *err); cc ... -lpcp_pmda -lpcp DESCRIPTION
This function is a wrapper for getopt(3). The behavior of the function is identical except that certain options are assumed to have a pre- defined behavior which initializes several fields in the pmdaInterface structure. The options that pmdaGetOpt will trap are: -Dtrace Set the PMAPI(3) debug control variable (pmDebug) to trace. Used for controlling levels of trace output while debugging. -ddomain Set the domain number of this agent. -hhelpfile Obtain the help text (see pmdaText(3)) for the metrics from this file rather than from the path specified with pmdaDSO(3) or pmdaDaemon(3). -iport Expect PMCD to connect on inet port (number or name). -6port Expect PMCD to connect on ipv6 port (number or name). -llogfile Redirect diagnostics and trace output to logfile. -p Expect PMCD to supply stdin/stdout pipe. -usocket Expect PMCD to connect on unix domain socket. Only one of -i, -6, -p and -u may be specified. If none of these three options is given, a pipe (-p) is assumed. When these options are encountered by pmdaGetOpt, the option is processed and the next option is examined. Therefore, pmdaGetOpt will only return when an option other than those listed above is found, or the end of the list is reached. The returned value will be the argument or EOF, respectively. A PMDA can control which of these options the program will accept with the optstring argument. To accept all the options, the PMDA should call pmdaGetOpt with the option string "D:d:h:i:l:pu:". Any PMDA specific options should be added to this string in the style of getopt(3), and returned by pmdaGetOpt if encountered. However, the PMDA cannot reuse any of the options specified above. pmdaGetOpt takes a pointer to an int, err, which is used as an error count. This variable should be initialized to zero before pmdaGetOpt is first called, and tested when pmdaGetOpt returns EOF. pmdaGetOpt does not modify argc or argv. EXAMPLE
A PMDA which takes the additional argument -n and does not use pmDebug might call pmdaGetOpt like this: pmdaInterface dispatch; int err = 0; int c = 0; while ((c = pmdaGetOpt(argv, argc, "d:h:i:l:pu:6:n:", dispatch &err)) != EOF) { /* process argument 'n', may use optarg etc. */ } if (err) usage(argv[0]); The global variables used by getopt (3) may be used by the caller of pmdaGetOpt within the argument parsing loop. DIAGNOSTICS
pmdaGetOpt will display the same error messages as getopt. CAVEAT
The options -D, -d, -i, -l, -p and -u cannot be reused for other purposes by the PMDA. The PMDA must be using PMDA_INTERFACE_2 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3). SEE ALSO
pmdbg(1), getopt(3), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3) and pmdaText(3). Performance Co-Pilot PCP PMDAGETOPT(3)

Check Out this Related Man Page

PMDASIMPLE(1)						      General Commands Manual						     PMDASIMPLE(1)

NAME
pmdasimple - simple performance metrics domain agent (PMDA) SYNOPSIS
$PCP_PMDAS_DIR/simple/pmdasimple [-d domain] [-i port] [-l logfile] [-p] [-u socket] [-U username] DESCRIPTION
pmdasimple is a simple Performance Metrics Domain Agent (PMDA) which exports a small number of synthetic performance metrics. The simple PMDA is shipped as source code and is designed to be an aid for PMDA developers. In terms of code size and features, it is more complex than the trivial PMDA, about the same as the txmon PMDA and less complex than the sample PMDA. The source for the simple PMDA is a good template from which production, customized PMDAs can be developed. A brief description of the pmdasimple command line options follows: -d It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is, domain should be different for every PMDA on the one host, and the same domain number should be used for the same PMDA on all hosts. -i Expect PMCD to connect to pmdasimple on the specified TCP/IP port. port may be a port number or port name. -l Location of the log file. By default, a log file named simple.log is written in the current directory of pmcd(1) when pmdasimple is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be created or is not writable, output is written to the standard error instead. -p Expect PMCD to create a pipe and the connection to pmdasimple is via standard input and standard output. This is the default connec- tion mode. -u Expect PMCD to connect to pmdasimple on the Unix domain socket named socket. -U User account under which to run the agent. The default is the unprivileged "pcp" account in current versions of PCP, but in older versions the superuser account ("root") was used by default. At most one of the options -i, -p and -u may be specified. INSTALLATION
If you want access the names, help text and values for the simple performance metrics, do the following as root: # cd $PCP_PMDAS_DIR/simple # ./Install If you want to undo the installation, do the following as root: # cd $PCP_PMDAS_DIR/simple # ./Remove pmdasimple is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. FILES
$PCP_PMCDCONF_PATH command line options used to launch pmdasimple $PCP_PMDAS_DIR/simple/help default help text file for the simple metrics $PCP_PMDAS_DIR/simple/Install installation script for the pmdasimple agent $PCP_PMDAS_DIR/simple/Remove undo installation script for the pmdasimple agent $PCP_PMDAS_DIR/simple/simple.conf configuration file for the dynamic instance domain that underlies the simple.now performance metric. For a description, refer to the help text file, or run the command $ pminfo -T simple.now $PCP_PMDAS_DIR/simple/*.pmda_simple.so The DSO version of the PMDA. The same source is used to create both the DSO and the daemon versions of the simple PMDA, and one or the other may be installed as part of the dialog in the Install script. $PCP_LOG_DIR/pmcd/simple.log default log file for error messages and other information from pmdasimple PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). SEE ALSO
PCPIntro(1), pmcd(1), pmdasample(1), pmdatrivial(1), pmdatxmon(1), PMDA(3), pcp.conf(5) and pcp.env(5). Performance Co-Pilot PCP PMDASIMPLE(1)
Man Page