pmparsemetricspec(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | SEE ALSO | COLOPHON

PMPARSEMETRICSPEC(3)     Library Functions Manual    PMPARSEMETRICSPEC(3)

NAME         top

       pmParseMetricSpec, pmFreeMetricSpec - uniform metric specification
       parser

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmParseMetricSpec(const char *string, int isarch,
               char *source, pmMetricSpec **rsltp, char **errmsg);
       void pmFreeMetricSpec(pmMetricSpec *rslt);

       cc ... -lpcp

DESCRIPTION         top

       pmParseMetricSpec  accepts  a  string specifying the name of a PCP
       performance metric, and optionally the source (either  a  hostname
       or  a  PCP  archive  filename) and instances for that metric.  The
       syntax is described in PCPIntro(1).

       If neither host nor archive component of the metric  specification
       is  provided,  the isarch and source arguments are used to fill in
       the returned pmMetricSpec structure.

       The pmMetricSpec structure that is returned via  rsltp  represents
       the parsed string and has the following declaration:

           typedef struct {
               int     isarch;      /* source type: 0 -> live host, 1 -> archive, 2 -> local context */
               char    *source;     /* name of source host or archive */
               char    *metric;     /* name of metric */
               int     ninst;       /* number of instances, 0 -> all */
               char    *inst[1];    /* array of instance names */
           } pmMetricSpec;

       pmParseMetricSpec  returns  0 if the given string was successfully
       parsed.  In this case all the storage allocated by  pmParseMetric‐
       Spec can be released by a single call to free(3) using the address
       returned  from  pmMetricSpec via rsltp.  The convenience macro pm‐
       FreeMetricSpec is a thinly disguised wrapper for free(3).

       pmParseMetricSpec returns PM_ERR_GENERIC and a  dynamically  allo‐
       cated error message string in errmsg, if the given string does not
       parse.  Be sure to free(3) the error message string in this situa‐
       tion.

       In  the case of an error, rsltp is undefined.  In the case of suc‐
       cess, errmsg is undefined.  If rsltp->ninst is 0, then  rsltp->in‐
       st[0] is undefined.

SEE ALSO         top

       PMAPI(3) and pmLookupName(3).

COLOPHON         top

       This  page is part of the PCP (Performance Co-Pilot) project.  In‐
       formation about the project can be found at  ⟨http://www.pcp.io/⟩.
       If  you  have  a  bug  report  for  this  manual  page, send it to
       pcp@groups.io.  This page was obtained from the project's upstream
       Git repository ⟨https://github.com/performancecopilot/pcp.git⟩  on
       2025-02-02.   (At  that  time,  the date of the most recent commit
       that was found in the repository was 2025-01-30.)  If you discover
       any rendering problems in this HTML version of the  page,  or  you
       believe  there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page),  send  a
       mail to man-pages@man7.org

Performance Co-Pilot               PCP               PMPARSEMETRICSPEC(3)