Provided by: libpcp3-dev_3.10.8build1_amd64 bug

NAME

       pmLoadDerivedConfig - load derived metric definitions from files

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmLoadDerivedConfig(char *path);

       cc ... -lpcp

DESCRIPTION

       Derived  metrics  may  be  used to extend the available metrics with new (derived) metrics
       using simple arithmetic expressions.  The definitions of these metrics  can  be  persisted
       and loaded programatically by monitor tools using pmLoadDerivedConfig.

       The  path parameter defines a colon separated list of files and/or directories (the syntax
       is the same as for the $PATH variable for sh(1)), from which derived metric specifications
       are to be sourced.  The path components are expanded into a list of files as follows: if a
       component is a file, then that file is added to  the  list,  else  if  a  component  is  a
       directory  then  recursive descent is used to enumerate all files below that directory and
       these are added to the list.  Each file in the resulting list  is  parsed  in  order,  and
       according to the derived metrics syntax described below.

       Each  line of the file(s) identified by path is either a comment line (with a ``#'' in the
       first position of the line) or the declaration of a derived performance metric,  specified
       as:

       * the  name of the derived metric, using the same ``dot notation'' syntax that is used for
         PCP performance metrics, see PCPIntro(1) and pmns(5).

       * an equals sign (``='')

       * a valid expression for a derived metric, as described in pmRegisterDerived(3).

       White space is ignored in the lines.

       For each line containing a derived metric definition, pmRegisterDerived(3)  is  called  to
       register the new derived metric.

       The  result  from  pmLoadDerivedConfig  will  be the number of derived metrics loaded from
       files on the given path, else a value less than zero in the case of an error.

EXAMPLE

       # sample derived metric definitions
       bad_in_pkts = network.interface.in.errors + network.interface.in.drops
       # note the following would need to be on a single line ...
       disk.dev.read_pct = 100 * delta(disk.dev.read) /
                   (delta(disk.dev.read) + delta(disk.dev.write))

SEE ALSO

       sh(1), PCPIntro(1), PMAPI(3), pmRegisterDerived(3) and pmns(5).