pmiAddMetric (3) - Linux Manuals
pmiAddMetric: add a new metric definition to a LOGIMPORT context
NAME
pmiAddMetric - add a new metric definition to a LOGIMPORT contextC SYNOPSIS
#include <pcp/pmapi.h>#include <pcp/impl.h>
#include <pcp/import.h>
pmiAddMetric($name, $pmid, $type, $indom, $sem, $units);
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 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 domain
in the Performance 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).
int pmiAddMetric(const char *name, pmID pmid, int Perl SYNOPSIS
use PCP::LogImport;
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.
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).