pmstore(3) — Linux manual page


PMSTORE(3)              Library Functions Manual              PMSTORE(3)

NAME         top

       pmStore, pmStoreHighRes - modify values of performance metrics

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmStore(const pmResult *result);
       int pmStoreHighRes(const pmHighResResult *result);

       cc ... -lpcp

DESCRIPTION         top

       In some special cases it may be helpful to modify the current
       values 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.

       The routines pmStore and pmStoreHighRes are lightweight inverses
       of pmFetch(3) and pmFetchHighRes(3) respectively.

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

       It is an error to pass a result to pmStore or pmStoreHighRes 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 and pmStoreHighRes cannot be used to make
       retrospective changes to information in either the archives, or
       in the recent past for real-time sources of metrics.

       The return code from pmStore and pmStoreHighRes is zero for

DIAGNOSTICS         top

              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
              important, the caller should make one call to either
              pmStore or pmStoreHighRes for each metric.  On the other
              hand, a bulk modification can be performed in a single
              call for situations in which the outcome is not critical.

              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) or pmSetModeHighRes(3).

              The number of metrics specified in result is less than

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

SEE ALSO         top

       PMAPI(3), pmFetch(3), pmFetchHighRes(3), pmSetModeHighRes(3) and

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for this manual
       page, send it to  This page was obtained from the
       project's upstream Git repository
       ⟨⟩ on 2023-12-22.
       (At that time, the date of the most recent commit that was found
       in the repository was 2023-12-16.)  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

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)