pma Format

pma Format Consists of

  1. Exactly one TIME_VAUES stanza
  2. Exactly one METADATA stanza
  3. Generally, a very large number of the following groups:

    • DATE stanza
    • class_1 stanza
    • class_2 stanza
    • ...
    • class_Y stanza

Misc

Details

  1. A TIME_VALUES stanza consists of two lines:

    TIME_VALUES:
    count_integer_value interval_in_seconds_integer_value

    Here is a sample TIME_VALUES stanza generated by pmc:

    TIME_VALUES:
    12 10 # h=my_hostname f=7 l=17 x='' d=''

  2. A METADATA stanza consists of one stanza header line and one line for each data class:

    METADATA:
    class_1_name class_1_type class_1_data_set_start metric1 metric2 ... metricN
    ...

    The METADATA stanza for an SLES system looks like this:

    METADATA:
    VM V 2 r b swpd free buff cache si so bi bo in cs cpu_us cpu_sy cpu_id cpu_wa st
    IO A 2 tps kBrdps kBwtps kBrd kBwt
    NET A 1 rxpkps txpkps rxkBps txkBps rxcmps txcmps rxmctps

    The class_type (V or A) indicates whether the class (i.e., 'VM', 'IO' or 'NET') is a Vector class (without objects) or an Array class (with objects). The class data set start integer after 'V' or 'A' indicates the first data set that pma will process.

    Note: The first "report" (output) from both vmstat (one line) and iostat (one line per object) displays data "since the last reboot". This data is not useful for our purpose, so by setting class data set start integer to 2, pma will skip the first data set.

    However with the 'NET' class (generated by sar -n DEV), all the data ("reports") are useful, so by setting class data set start integer to 1, pma will not skip any data - it will start with set 1.

  3. A DATE stanza consists of one stanza header line, and a time (timestamp) value line.

    DATE:
    seconds_since_the_Epoch

    Here is a sample DATE stanza generated by pmc:

    DATE:
    1462914019 # Wed May 11 07:00:19 2016 +1000

  4. There are two types of class stanza:

    • A vector class stanza consists of one stanza header line for that class, and count rows of metric data.

      CLASS_NAME:
      metric1 metric2 ... metricN
      metric1 metric2 ... metricN
      ...
      metric1 metric2 ... metricN

    • An array class stanza consists of one stanza header line for that class, and count groups of metric data, where each group has one row per object.

      CLASS_NAME:
      object1 metric1 metric2 ... metricN (first row of group 1)
      object2 metric1 metric2 ... metricN
      ...
      objectX metric1 metric2 ... metricN (last row of group 1)
      object1 metric1 metric2 ... metricN (first row of group 2)
      object2 metric1 metric2 ... metricN
      ...
      objectX metric1 metric2 ... metricN (last row of group 2)
      ...
      object1 metric1 metric2 ... metricN (first row of group count)
      object2 metric1 metric2 ... metricN
      ...
      objectX metric1 metric2 ... metricN (last row of group count)

Happy computing!