# pmdaib

## NAME



           **pmdaib** - Infiniband performance metrics domain agent (PMDA)
    


## SYNOPSIS



           **$PCP_PMDAS_DIR/infiniband/pmdaib**[**-c** _configFile_] [**-D** _debug_] [**-d**
           _domain_] [**-l** _logfile_] [**-w**]
    


## DESCRIPTION



           **pmdaib** is a Performance Metrics Domain Agent (PMDA) which exports
           information and performance metrics about local Infiniband HCAs
           and local or remote Infiniband GUIDs.
    
           A brief description of the **pmdaib** command line options follows:
    
           **-c** Location of the config file.  By default, the config file is
                named **$PCP_PMDAS_DIR/infiniband/config.** See **CONFIG FILE** for
                more information.
    
           **-d** Specify an alternate performance metrics _domain_ number.
                Almost never necessary.
    
           **-l** Location of the log file.  By default, a log file named
                _ib.log_ is written to **$PCP_LOG_DIR/pmcd**.  If the log file
                cannot be created or is not writable, output is written to
                the standard error instead.
    
           **-w** Write out the default config file to
                **$PCP_PMDAS_DIR/infiniband** and exit immediately.  The written
                config file will contain the local HCA ports.  It will not
                overwrite an existing file.  This argument should only be
                used to create the template config file and should never
                appear in _pmcd.conf._  See **CONFIG FILE** for more information on
                the file format and on monitoring remote GUIDs.
    


## CONFIG FILE



           By default, the PMDA will operate without using a config file.  In
           this mode of operation the local HCA ports will be monitored.
           Note that if a new HCA is added to the machine that instance
           domain naming may change because it will always be based on the
           kernel's naming.
    
           In cases where this is not acceptable, or in the case where
           monitoring remote Infiniband ports is required, a config file must
           be created.  A "template" file can be created by running the
           **pmdaib** daemon with the **-w** argument.  This will create a config
           file with the local ports and GUIDs.
    
           If the config file is _executable_ then it will be run and the
           output will be used as the config file.
    
           The config file is composed of line-based records.  Blank lines
           and everything after the _hash (#)_ character are ignored.  Each
           line has 6 fields:
    
           [**instName**] [**portGUID**] [**portNum**] via [**localPortName**]:[**localPortNum**]
    
           The first field is used to give a static instance name to the
           Infiniband port that has a specific GUID.  All of the other fields
           must be properly specified in order to monitor a particular port.
    
           For example, to monitor port 1 of the local HCA called 'mthca0' a
           possible config file line would be:
    
           myPort1 0xdeadbeef01234567 1 via mthca0:1
    
           Remote ports can be easily monitored by specifying the GUID of the
           HCA or switch and specifying the remote port number.  The
           **localPortName** :**localPortNum** tuple specifies which local HCA and
           port to use as the "first hop" in contacting the remote GUID.
           E.g., to monitor port 13 of a remote switch which is connected to
           the fabric on the first port of the second HCA:
    
           switch13 0xfeeffeefabcdabcd 13 via mthca1:1
    


## DEBUGGING OPTIONS



           The **-D** or **--debug** option enables the output of additional
           diagnostics on _stderr_ to help triage problems, although the
           information is sometimes cryptic and primarily intended to provide
           guidance for developers rather end-users.  _debug_ is a comma
           separated list of debugging options; use pmdbg(1) with the **-l**
           option to obtain a list of the available debugging options and
           their meaning.
    


* * *