Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmiaddmetric(3) [centos man page]

PMIADDMETRIC(3) 					     Library Functions Manual						   PMIADDMETRIC(3)

NAME
pmiAddMetric - add a new metric definition to a LOGIMPORT context C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/import.h> int pmiAddMetric(const char *name, pmID pmid, int type, pmInDom indom, int sem, pmUnits units); cc ... -lpcp_import -lpcp Perl SYNOPSIS use PCP::LogImport; pmiAddMetric($name, $pmid, $type, $indom, $sem, $units); DESCRIPTION
As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), pmiAddMetric is used to define a new metric. The metric's name must follow the naming conventions described in PCPIntro(1) and should be unique for each LOGIMPORT context. The other arguments are in effect the fields of a pmDesc structure. Refer to pmLookupDesc(3) for a complete description of the values and semantics of the components of this structure, and hence the valid argument values for pmiAddMetrics. The internal identifier for the metric may be given using the pmid argument and must be unique for each LOGIMPORT context. The value for pmid which would typically be constructed using the pmid_build macro, e.g. pmid_build(PMI_DOMAIN, 0, 3) for the fourth metric in first ``cluster'' of metrics in the Performance Metrics Domain PMI_DOMAIN (which is the default for all meta data created by the LOGIMPORT li- brary). Alternatively, pmid may be PM_IN_NULL and pmiAddMetric will assign a unique pmid (although this means the pmid remains opaque and the application must use pmiPutValue(3) or pmiPutValueHandle(3) and cannot use pmiPutResult(3) to add data values to the PCP archive). type defines the data type of the metric and must be one of the PM_TYPE_... values defined in <pcp/import.h>. The instance domain for the metric is defined by indom and may be PM_INDOM_NULL for a metric with a singular value, else the value for in- dom would normally be constructed using the pmInDom_build macro, e.g. pmInDom_build(LOGIMPORT,0) for the first instance domain in the Per- formance Metrics Domain LOGIMPORT (which is the default for all meta data created by the LOGIMPORT library). Multiple metrics can share the same instance domain if they have values for a similar (or more usually, identical) set of instances. The semantics of the metric (counter, instantaneous value, etc.) is specified by the sem argument which would normally be the result of a call to the convenience constructor method pmiUnits(3). DIAGNOSTICS
pmiAddMetric returns zero on success else a negative value that can be turned into an error message by calling pmiErrStr(3). SEE ALSO
PCPIntro(1), LOGIMPORT(3), pmiErrStr(3), pmiPutResult(3), pmiPutValue(3), pmiPutValueHandle(3), pmiUnits(3) and pmLookupDesc(3). Performance Co-Pilot PMIADDMETRIC(3)

Check Out this Related Man Page

PMISTART(3)						     Library Functions Manual						       PMISTART(3)

NAME
pmiStart - establish a new LOGIMPORT context C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/import.h> int pmiStart(const char *archive, int inherit); cc ... -lpcp_import -lpcp Perl SYNOPSIS use PCP::LogImport; pmiStart($archive, $inherit); DESCRIPTION
As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), pmiStart creates a new context. Each context maintains the follow- ing state and metadata: o The base name (archive) for the physical files that constitute the output PCP archive. o The source hostname for the data that will be written to the PCP archive. Defaults to the hostname of the localhost, but can be set using pmiSetHostname(3). o The source timezone for the PCP archive. Defaults to the timezone of the localhost, but can be set using pmiSetTimezone(3). o Metrics and instance domains, as defined by pmiAddMetric(3). o Instances for each instance domain, as defined by pmiAddInstance(3). o Handles as defined by pmiGetHandle(3). Each handle is a metric-instance pair, and each metric-instance pair may have an associated value in each record written to the output PCP archive. o An optional set of data values for one or more metric-instance pairs (ready for the next record to be written to the output PCP archive) as defined by calls to pmPutValue(3) or pmPutValuehandle(3). If inherit is true, then the new context will inherit any and all metadata (metrics, instance domains, instances and handles) from the cur- rent context, otherwise the new context is created with no metadata. The basename for the output PCP archive, the source hostname, the source timezone and any data values from the current context are not inherited. If this is the first call to pmiStart the metadata will be empty independent of the value of inherit. Since no physical files for the output PCP archive will be created until the first call to pmiWrite(3) or pmiPutRecord(3), archive could be NULL to create a convenience context that is populated with metadata to be inherited by subsequent contexts. The return value is a context identifier that could be used in a subsequent call to pmUseContext(3) and the new context becomes the current context which persists for all subsequent calls up to either another pmiStart call or a call to pmiUseContext(3) or a call to pmiEnd(3). DIAGNOSTICS
It is an error if the physical files archive.0 and/or archive.index and/or archive.meta already exist, but this is not discovered until the first attempt is made to output some data by calling pmiWrite(3) or pmiPutRecord(3), so pmiStart always returns a positive context identi- fier. SEE ALSO
LOGIMPORT(3), pmiAddInstance(3), pmiAddMetric(3), pmiEnd(3), pmiErrStr(3), pmiGetHandle(3), pmiPutResult(3), pmiPutValue(3), pmiPutValue- Handle(3), pmiSetHostname(3), pmiSetTimezone(3), pmiUseContext(3) and pmiWrite(3). Performance Co-Pilot PMISTART(3)
Man Page