DOKK / manpages / debian 12 / libpcp3-dev / pmiGetHandle.3.en
PMIGETHANDLE() PMIGETHANDLE()

pmiGetHandle - define a handle for a metric-instance pair

#include <pcp/pmapi.h>
#include <pcp/import.h>

int pmiGetHandle(const char *name, const char *instance);

cc ... -lpcp_import -lpcp

use PCP::LogImport;

$handle = pmiGetHandle($name, $instance);

As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), pmiGetHandle creates a handle for a given metric and instance. The handle is returned as the value from the pmiGetHandle call and can be used in subsequent calls to pmiPutValueHandle(3).

The metric's name should match one defined earlier in a call to pmiAddMetric(3).

For singular metrics (those defined with an instance domain of PM_INDOM_NULL), the instance should be NULL or an empty string, otherwise instance should match the name of an instance defined earlier in a call to pmiAddInstance(3) for the metric's instance domain.

When combined with pmiPutValueHandle(3), the use of handles provide a performance improvement over the alternative lookup for a metric name and an instance name for each data value that is required for pmiPutValue(3).

On failure pmiGetHandle returns a negative value that can be turned into an error message by calling pmiErrStr(3).

LOGIMPORT(3), pmiAddInstance(3), pmiAddMetric(3), pmiErrStr(3) and pmiPutValueHandle(3).

Performance Co-Pilot