Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmconvscale(3) [centos man page]

PMCONVSCALE(3)						     Library Functions Manual						    PMCONVSCALE(3)

NAME
pmConvScale - rescale a performance metric value C SYNOPSIS
#include <pcp/pmapi.h> int pmConvScale(int type, const pmAtomValue *ival, const pmUnits *iunit, pmAtomValue *oval, const pmUnits *ounit); cc ... -lpcp DESCRIPTION
All performance metric values may be encoded in a pmAtomValue union, defined as follows; typedef union { __int32_t l; /* 32-bit signed */ __uint32_t ul; /* 32-bit unsigned */ __int64_t ll; /* 64-bit signed */ __uint64_t ull; /* 64-bit unsigned */ float f; /* 32-bit floating point */ double d; /* 64-bit floating point */ char *cp; /* char ptr */ pmValueBlock *vbp; /* pmValueBlock ptr */ } pmAtomValue; The encoding of a performance metric's dimensionality and scale uses a pmUnits structure; see pmLookupDesc(3). Given a performance metric value pointed to by ival multiply it by a scale factor and return the value in oval. The scaling takes place from the units defined by iunit into the units defined by ounit. Both input and output units must have the same dimensionality. The performance metric type for both input and output values is determined by type, the value for which is typically extracted from a pmDe- sc structure, following a call to pmLookupDesc(3) for a particular performance metric. pmConvScale is most useful when values returned via pmFetch(3), (and possibly extracted using pmExtractValue(3)) need to be normalized into some canonical scale and units for the purposes of computation. As a special case, if all components of the dimension are zero, then this is treated as synonymous with a ``count'' dimension of one, and so the ``count'' scale components determine the relative scaling. This accommodates the case where performance metrics are dimensionless, without special case handling on the part of the caller. SEE ALSO
PMAPI(3), pmAtomStr(3), pmExtractValue(3), pmFetch(3), pmLookupDesc(3), pmPrintValue(3), pmTypeStr(3) and pmUnitsStr(3). DIAGNOSTICS
PM_ERR_CONV iunit and ounit have different dimensionality, or have inappropriate type PM_ERR_UNIT Inappropriate iunit or ounit parameter Performance Co-Pilot PCP PMCONVSCALE(3)

Check Out this Related Man Page

PMDELPROFILE(3) 					     Library Functions Manual						   PMDELPROFILE(3)

NAME
pmDelProfile - delete instance(s) from the current PMAPI instance profile C SYNOPSIS
#include <pcp/pmapi.h> int pmDelProfile(pmInDom indom, int numinst, int *instlist); cc ... -lpcp DESCRIPTION
The set of instances for performance metrics returned from a pmFetch(3) call may be filtered or restricted using an instance profile. There is one instance profile for each context the application creates at the Performance Metrics Application Programming Interface (PMAPI), and each instance profile may include instances from one or more instance domains (see pmLookupDesc(3)). pmDelProfile may be used to delete instance specifications from the instance profile of the current PMAPI context. In the simplest variant, the list of instances identified by the instlist argument for the indom instance domain are removed from the instance profile. The list of instance identifiers contains numinst values. The indom value would normally be extracted from a call to pmLookupDesc(3) for a particular performance metric, and the instances in instlist would typically be determined by calls to pmGetInDom(3) or pmLookupInDom(3). If indom equals PM_INDOM_NULL or numinst is zero, then all instance domains are selected for deletion. If instlist is NULL, then all instances in the selected domain(s) are removed from the profile. To disable all available instances in all domains, use pmDelProfile(PM_INDOM_NULL, 0, NULL). This is the only situation in which indom may be PM_INDOM_NULL. SEE ALSO
pmAddProfile(3), PMAPI(3), pmFetch(3), pmGetInDom(3), pmLookupDesc(3), pmLookupInDom(3), pmNewContext(3), pmUseContext(3) and pmWhichCon- text(3). DIAGNOSTICS
PM_ERR_PROFILESPEC indom was PM_INDOM_NULL and instlist was not empty CAVEAT
It is possible to delete non-existent instance domains and non-existent instances from an instance profile. None of the routines that use the instance profile will ever issue an error if you do this. The cost of checking, when checking is possible, outweighs any benefits. Performance Co-Pilot PCP PMDELPROFILE(3)
Man Page