|
NAME | C SYNOPSIS | Perl SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | COLOPHON |
|
|
|
PMIADDMETRIC(3) Library Functions Manual PMIADDMETRIC(3)
pmiAddMetric - add a new metric definition to a LOGIMPORT context
#include <pcp/pmapi.h>
#include <pcp/import.h>
int pmiAddMetric(const char *name, pmID pmid, int type,
pmInDom indom, int sem, pmUnits units);
cc ... -lpcp_import -lpcp
use PCP::LogImport;
pmiAddMetric($name, $pmid, $type, $indom, $sem, $units);
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 struc‐
ture. 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 pmiAddMetric.
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 library). 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 indom would normally be constructed using the pmInDom_build
macro, e.g. pmInDom_build(LOGIMPORT,0) for the first instance do‐
main in the Performance Metrics Domain LOGIMPORT (which is the de‐
fault for all meta data created by the LOGIMPORT library). Multi‐
ple 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 re‐
sult of a call to the convenience constructor method pmiUnits(3).
pmiAddMetric returns zero on success else a negative value that
can be turned into an error message by calling pmiErrStr(3).
PCPIntro(1), LOGIMPORT(3), pmiErrStr(3), pmiPutResult(3),
pmiPutValue(3), pmiPutValueHandle(3), pmiPutText(3),
pmiPutLabel(3), pmiUnits(3) and pmLookupDesc(3).
This page is part of the PCP (Performance Co-Pilot) project. In‐
formation about the project can be found at ⟨http://www.pcp.io/⟩.
If you have a bug report for this manual page, send it to
pcp@groups.io. This page was obtained from the project's upstream
Git repository ⟨https://github.com/performancecopilot/pcp.git⟩ on
2025-08-11. (At that time, the date of the most recent commit
that was found in the repository was 2025-08-11.) 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 man-pages@man7.org
Performance Co-Pilot PMIADDMETRIC(3)
Pages that refer to this page: sheet2pcp(1), logimport(3), pmiaddinstance(3), pmigethandle(3), pmiputlabel(3), pmiputmark(3), pmiputresult(3), pmiputtext(3), pmiputvalue(3), pmiputvaluehandle(3), pmistart(3), pmiunits(3), pmiwrite(3)