NAME
pmdaLabel, pmdaSetLabelCallBack - fill pmdaLabelSet structures with metric labelsC SYNOPSIS
#include <pcp/pmapi.h>int pmdaLabel(int ident, int type, pmLabelSet **sets, pmdaExt * pmda);
cc ... -lpcp_pmda -lpcp
DESCRIPTION
As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaLabel uses the standard PMDA(3) data structures to return the labels for performance domain, instance domain, metric or individual instances in "JSONB" format in the given sets data structure. The type argument determines the interpretation of ident and the requested form of label, as follows:- PM_LABEL_DOMAIN
- when ident is a PMDA domain identifier,
- PM_LABEL_CLUSTER
- when ident is a metric identifier and labels for the cluster containing that metric are being requested.
- PM_LABEL_ITEM
- when ident is a metric identifier,
- PM_LABEL_INDOM
- when ident is an instance domain identifier, or
- PM_LABEL_INSTANCES
- when ident is a metric identifier and labels for all instances of that metric are being requested.
int func(pmInDom indom, unsigned int inst, pmLabelSet **set)The purpose of the pmdaLabelCallBack routine is to return the label(s) for an individual instance inst of a given instance domain, indom. Its successful return code differs significantly to pmdaLabel, as described below.
CAVEAT
The PMDA must be using PMDA_PROTOCOL_7 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3).DIAGNOSTICS
On success pmdaLabel returns the number of label sets created. This is usually zero or one, except in the case of PM_LABEL_INSTANCES where more than one label sets will often be returned, one for each instance of the requested metric. By contrast, on success of the pmdaLabelCallBack routine the number of labels successfully added to the provided labelset pointer must be returned (and not the total number of label sets). If labels for the requested entity could not be obtained due to a catastrophic failure, such as an out of memory condition, these routines will return a negative error code.SEE ALSO
pminfo(1), malloc(3), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaInit(3) and pmLookupLabels(3).PCP | Performance Co-Pilot |