pmstore(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | DIAGNOSTICS | COMPATIBILITY | SEE ALSO | COLOPHON

PMSTORE(3)               Library Functions Manual              PMSTORE(3)

NAME         top

       pmStore - modify values of performance metrics

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmStore(const pmResult *result);

       cc ... -lpcp

DESCRIPTION         top

       In some special cases it may be helpful to modify the current val‐
       ues of performance metrics, e.g. to reset a counter to zero, or to
       modify  a  ``metric''  which  is a control variable for some agent
       collecting performance metrics.

       pmStore is a lightweight inverses of pmFetch(3).

       The caller must build the result data structure (of  course,  this
       could have been returned from an earlier pmFetch(3) call).

       It  is  an  error  to pass a result to pmStore in which the numval
       field within any of the pmValueSet structures  has  a  value  less
       than one.

       The  current Performance Metrics Application Programming Interface
       (PMAPI) context must be one with a host as the source of  metrics,
       and  the  current  value of the nominated metrics will be changed,
       i.e.  pmStore cannot be used to make retrospective changes to  in‐
       formation  in either the archives, or in the recent past for real-
       time sources of metrics.

       The return code from pmStore is zero for success.

DIAGNOSTICS         top

       PM_ERR_GENERIC
              At least one of the modifications was rejected.  No other
              status is available from below the PMAPI (this is the
              lightweight part of the functionality!).  In cases where
              the outcome of storing into individual metrics is impor‐
              tant, the caller should make one call to either pmStore for
              each metric.  On the other hand, a bulk modification can be
              performed in a single call for situations in which the out‐
              come is not critical.

       PM_ERR_NOTHOST
              The current PMAPI context is an archive rather than a host,
              or it is a host that is not set to the current time, i.e.
              has been ``rewound'' to the recent past using pmSetMode(3).

       PM_ERR_TOOSMALL
              The number of metrics specified in result is less than one.

       PM_ERR_VALUE
              One or more of the pmValueSets in result has a numval field
              with a value less than one.

COMPATIBILITY         top

       Prior to PCP 7.0 the timestamp field in the pmResult struct was a
       struct timeval.  To support PMAPI transition, the old interface
       and semantics can be used if applications are recompiled with
       -DPMAPI_VERSION=2.

       For a time in PCP 6.x there was a routine with the same semantics
       as the current pmStore called pmStoreHighRes, and a struct with
       the same definition as the current pmResult struct called pmRe‐
       sultHighRes, although both are now deprecated and compile-time
       support for pmStoreHighRes and pmResultHighRes will be removed in
       a future release.

SEE ALSO         top

       PMAPI(3), pmFetch(3), and pmSetMode(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-08-11.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-08-11.)  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                         PMSTORE(3)

Pages that refer to this page: pmdagfs2(1)pmdaoracle(1)pmdapipe(1)pmdaproc(1)pmstore(1)pmval(1)pcpintro(3)pmdastore(3)pmwebapi(3)