Provided by: libpcp-archive1-dev_6.2.0-1.1build4_amd64 bug

NAME

       pmaTryDeltaInDom - try to translate a physical indom record from a ``full indom'' to a ``delta indom''

C SYNOPSIS

       #include <pcp/pmapi.h>
       #include <pcp/libpcp.h>
       #include <pcp/archive.h>

       int pmaTryDeltaInDom(__pmLogCtl *lcp, __int32_t **rbuf, __pmLogInDom *lidp);

       cc ... -lpcp_archive -lpcp

CAVEAT

       This documentation is intended for internal Performance Co-Pilot (PCP) developer use.

       These  interfaces  are  not part of the PCP APIs that are guaranteed to remain fixed across releases, and
       they may not work, or may provide different semantics at some point in the future.

DESCRIPTION

       The input instance domain is passed in as either a physical metadata record via rbuf or in the ``loaded''
       format  identified  by  lidp.   As  these  are  alternate  formats  for  the   input   instance   domain,
       pmaTryDeltaInDom demands that exactly one of rbuf and lidp must be NULL, else the return value is -2.

       The input instance domain is on the path to being written to the archive identified by lcp.

       If  possible,  the  instance  domain  will  be converted to the ``delta indom'' format, and the converted
       instance domain returned via rbuf or lidp (whichever is  not  NULL).   If  conversion  takes  place,  any
       storage assocated with the input instance domain will have been free'd.

       The ``delta indom'' format is only supported for Version 3 archives and it is the caller's responsibility
       to determine if calling pmaTryDeltaInDom is appropriate.

       To  determine  if the ``delta indom'' format is the most efficient encoding, pmaTryDeltaInDom maintains a
       per-instance domain cache of the last seen ``full'' instance domain.   To  avoid  data  corruption,  this
       means  pmaTryDeltaInDom  first  copies the input instance domain.  The copy and the cache are all managed
       privately by pmaTryDeltaInDom so the caller is unaware of this activity.

       The cacheing scheme requires that the caller must call pmaTryDeltaInDom for every instance domain record,
       independent of whether the ``delta indom'' format is likely to be appropriate.

DIAGNOSTICS AND RETURN VALUES

       In several places, fatal errors will trigger an error message and force the application to exit.

       A return value of -1 indicates that rbuf was  not  NULL  and  the  physical  record  therein  was  not  a
       TYPE_INDOM  (Version  3  ``full'' instance domain) record as expected.  A return value of 1 means rbuf or
       lidp has been rewritten, and is now a TYPE_INDOM_DELTA record.  Otherwise the return value is 0.

SEE ALSO

       pmaDeltaInDom(3), PMAPI(3) and pmaUndeltaInDom(3).

Performance Co-Pilot                                   PCP                                   PMATRYDELTAINDOM(3)