xenial (5) mmv.5.gz

Provided by: libpcp-mmv1-dev_3.10.8build1_amd64 bug

NAME

       mmv - Memory Mapped Values for Performance Co-Pilot

SYNOPSIS

       $PCP_TMP_DIR/mmv/<file>

DESCRIPTION

       The  files  in $PCP_TMP_DIR/mmv are generated by mmv_stats_init() function from libpcp_mmv library. There
       could be multiple files in this directory, each file representing a  single  source  of  the  performance
       metrics.  The metrics are harvested by the mmv PMDA which exports them to the rest of the Performance Co-
       Pilot infrastructure.

FILE FORMAT

       Each file starts with the following header:

                                     ┌───────┬────────┬──────────────────────────┐
                                     │Offset │ Length │           Name           │
                                     ├───────┼────────┼──────────────────────────┤
                                     │   0   │   4    │ tag == "MMV\0"           │
                                     ├───────┼────────┼──────────────────────────┤
                                     │   4   │   4    │ Version                  │
                                     ├───────┼────────┼──────────────────────────┤
                                     │   8   │   8    │ Generation 1             │
                                     ├───────┼────────┼──────────────────────────┤
                                     │  16   │   8    │ Generation 2             │
                                     ├───────┼────────┼──────────────────────────┤
                                     │  24   │   4    │ Number of TOC entries    │
                                     ├───────┼────────┼──────────────────────────┤
                                     │  28   │   4    │ Flags                    │
                                     ├───────┼────────┼──────────────────────────┤
                                     │  32   │   4    │ Process identifier (PID) │
                                     ├───────┼────────┼──────────────────────────┤
                                     │  36   │   4    │ Cluster identifier       │
                                     └───────┴────────┴──────────────────────────┘
       The generation numbers are timestamps at the time of file creation, and must match for  the  file  to  be
       considered by the MMV PMDA.

       The  flags  can  specify  ways  in  which  the  client  would  like  the  MMV  PMDA  to behave - e.g. the
       MMV_FLAG_PROCESS flag specifies that only if the process identified by PID is  currently  running  should
       those values be exported.

       Finally,  if set, the cluster identifier is a hint to the MMV PMDA as to what cluster should be used with
       this application when forming the individual metric identifiers.  A performance  metric  identifier  (see
       PMDA(3))  consists  of  the  PMDA  domain  number,  the  cluster  number, and the individual item numbers
       described in the Metrics section.

       The header is followed by at least 2 TOC sections: one section for metrics and another for  values.   The
       TOC section has the following format:

                            ┌───────┬────────┬─────────────────────────────────────────────┐
                            │Offset │ Length │                    Value                    │
                            ├───────┼────────┼─────────────────────────────────────────────┤
                            │  0    │   4    │ Section Type (see mmv_stats.h)              │
                            ├───────┼────────┼─────────────────────────────────────────────┤
                            │  4    │   4    │ Number of entries in the section            │
                            ├───────┼────────┼─────────────────────────────────────────────┤
                            │  8    │   8    │ Section's offset from the start of the file │
                            └───────┴────────┴─────────────────────────────────────────────┘
       The section types are:

              1: Indoms (instance domain definitions)

              2: Instances

              3: Metrics (metric definitions)

              4: Values

              5: String

       The  only  mandatory sections are Metrics and Values.  Indoms and Instances sections only appear if there
       are metrics with multiple instances.  String sections only  appear  if  there  are  metrics  with  string
       values, or when Metrics or Indoms are defined with help text.

       The entries in the Indoms section have the following format:

                               ┌───────┬────────┬──────────────────────────────────────┐
                               │Offset │ Length │                Value                 │
                               ├───────┼────────┼──────────────────────────────────────┤
                               │   0   │   4    │ Unique serial number for this domain │
                               ├───────┼────────┼──────────────────────────────────────┤
                               │   4   │   4    │ Number of entries in the domain      │
                               ├───────┼────────┼──────────────────────────────────────┤
                               │   8   │   8    │ Offset to first instance             │
                               ├───────┼────────┼──────────────────────────────────────┤
                               │  16   │   8    │ Short help text offset               │
                               ├───────┼────────┼──────────────────────────────────────┤
                               │  24   │   8    │ Long help text offset                │
                               └───────┴────────┴──────────────────────────────────────┘
       The entries in the Instances section have the following format:

                                   ┌───────┬────────┬───────────────────────────────┐
                                   │Offset │ Length │             Value             │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │   0   │    8   │ Offset into the indom section │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │   8   │    4   │ Unused padding (zero filled)  │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  12   │    4   │ Internal instance identifier  │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  16   │   64   │ External instance identifier  │
                                   └───────┴────────┴───────────────────────────────┘
       The entries in the Metrics section have the following format:

                                   ┌───────┬────────┬───────────────────────────────┐
                                   │Offset │ Length │             Value             │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │   0   │   64   │ Metric Name                   │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  64   │    4   │ Metric Item (see PMDA(3))     │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  68   │    4   │ Metric Type (see mmv_stats.h) │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  72   │    4   │ Semantics (see PMAPI(3))      │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  76   │    4   │ Dimensions (see PMAPI(3))     │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  80   │    4   │ Instance Domain ID            │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  84   │    4   │ Unused padding (zero filled)  │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  88   │    8   │ Short help text offset        │
                                   ├───────┼────────┼───────────────────────────────┤
                                   │  96   │    8   │ Long help text offset         │
                                   └───────┴────────┴───────────────────────────────┘
       The entries in the Values section have the following format:

                                ┌───────┬────────┬────────────────────────────────────┐
                                │Offset │ Length │               Value                │
                                ├───────┼────────┼────────────────────────────────────┤
                                │   0   │   8    │ pmAtomValue (see PMAPI(3))         │
                                ├───────┼────────┼────────────────────────────────────┤
                                │   8   │   8    │ Extra space for STRING and ELAPSED │
                                ├───────┼────────┼────────────────────────────────────┤
                                │  16   │   8    │ Offset into the Metrics section    │
                                ├───────┼────────┼────────────────────────────────────┤
                                │  24   │   8    │ Offset into the Instances section  │
                                └───────┴────────┴────────────────────────────────────┘
       Each  entry  in  the  strings  section is a 256 byte character array, containing a single NULL-terminated
       character string.  So each string has a maximum length of 256 bytes, which includes the terminating NULL.

SEE ALSO

       PCPIntro(1), PMAPI(3), mmv_stats_init(3), pcp.conf(5) and pcp.env(5).