mmv_stats_init (3) - Linux Manuals
mmv_stats_init: create and initialize Memory Mapped Value file
NAME
mmv_stats_init - create and initialize Memory Mapped Value fileC SYNOPSIS
#include <pcp/pmapi.h>#include <pcp/mmv_stats.h>
mmv_stats_init creates and initializes the content of the
MMV(5) file, returning a handle that is used in subsequent
MMV API calls.
mmv_stats_stop performs an orderly shutdown of the mapping
handle returned by an earlier initialization call.
The file is created in the $PCP_TMP_DIR/mmv directory, name
argument is expected to be a basename of the file, not the full path.
The metadata content of the file does not change after the file has
been created.
The old file is removed unconditionally unless there was an error.
cluster is the preferred MMV PMDA cluster ID to be used for
the metrics originating from this call to mmv_stats_init.
The flags provide additional control over the behaviour
of the MMV PMDA - e.g. use of MMV_FLAG_PROCESS will ensure values
are only exported when the instrumented application is running -
this is verified on each request for new values.
stats is the array of mmv_metric_t elements of length
nstats. Each element of the array describes one PCP metric.
If indom is not zero and not PM_INDOM_NULL, then the metric has
multiple values and there must be a corresponding indom entry
in the indom list (uniquely identified by serial number).
The stats array cannot contain any elements which have no name -
this is considered an error and no metrics will be exported in this case.
indoms is the array of mmv_indom_t elements of length
nindoms. Each element of the array describes one PCP instance
domain.
void *mmv_stats_init(const char *name, int cluster, mmv_stats_flags_t DESCRIPTION
typedef struct {
char name[MMV_NAMEMAX]; /* Name of the metric */
__uint32_t item; /* Item component of PMID */
mmv_metric_type_t type; /* Type of the metric */
mmv_metric_sem_t semantics; /* Semantics of the metric */
pmUnits dimension; /* Dimensions (TIME,SPACE,etc) */
__uint32_t indom; /* Instance domain identifier */
char *shorttext; /* Optional, one-line help */
char *helptext; /* Optional, full help text */
} mmv_metric_t;
typedef struct {
__int32_t internal;
char external[MMV_NAMEMAX];
} mmv_instances_t;
typedef struct {
__uint32_t serial; /* Unique serial number */
__uint32_t count; /* Number of instances */
mmv_instances_t *instances; /* Internal/external IDs */
char *shorttext; /* Short help text */
char *helptext; /* Long help text */
} mmv_indom_t;
RETURNS
The function returns the address of the memory mapped region on success or
NULL on failure.