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

LOGIMPORT(3)						     Library Functions Manual						      LOGIMPORT(3)

NAME
LOGIMPORT - introduction to the library for importing data and creating a PCP archive C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/import.h> cc ... -lpcp_import -lpcp Perl SYNOPSIS use PCP::LogImport; DESCRIPTION
The Performance Co-Pilot Log Import (LOGIMPORT) API is a library (and Perl wrapper) that supports the creation of PCP archives from exter- nal sources of performance data, either in the form of historical logs and spreadsheets or from real-time sources that are not integrated as a Performance Metrics Domain Agent (PMDA) under the control of pmcd(1). The typical usage for LOGIMPORT would involve: o An initial call to pmiStart(3). o Optional calls to pmiSetHostname(3) and/or pmiSetTimezone(3) to set the hostname and timezone for the source of the performance data. o One or more calls to pmiAddMetric(3) to define performance metrics. o One or more calls to pmiAddInstance(3) to define instances associated with the metrics. o Optional calls to pmiGetHandle(3) to defined convenience handles for metric-instance pairs. o A main loop in which performance data is injested and for each sample time interval, the PCP archive record is constructed by calls to pmiPutValue(3) and/or pmiPutValueHandle(3), followed by a call to pmiWrite(3) to flush all data and any associated new metadata to the PCP archive. Alternatively, pmiPutResult(3) could be used to package and process all the data for one sample time interval. o Once the input source of data has been consumed, calling pmiEnd(3) to complete the PCP archive creation and close all open files. If new metrics and/or instances are discovered during the data injestion, these can be added by subsequent calls to pmiAddMetric(3) and/or pmiAddInstance(3), provided all the metrics and instances have been defined before a call to pmiGetHandle(3), pmiPutValue(3)or pmiPutRe- sult(3) that references those metrics and instances. SEE ALSO
pmcd(1), pmlogger(1), pmiGetHandle(3), pmiAddInstance(3), pmiAddMetric(3), pmiEnd(3), pmiErrStr(3), pmiPutResult(3), pmiPutValue(3), pmiPutValueHandle(3), pmiSetHostname(3), pmiSetTimezone(3), pmiStart(3) and pmiWrite(3). Performance Co-Pilot LOGIMPORT(3)
Man Page