pmunpackeventrecords(3)

NAME

   pmUnpackEventRecords - unpack event records

C SYNOPSIS

   #include <pcp/pmapi.h>

   int pmUnpackEventRecords(pmValueSet *vsp, int idx, pmResult ***rap);

   int     pmUnpackHighResEventRecords(pmValueSet     *vsp,    int    idx,
   pmHighResResult ***hrap);

   cc ... -lpcp

DESCRIPTION

   Event records are encoded  as  a  packed  array  of  records  within  a
   pmResult  using a container metric with a value of type PM_TYPE_EVENT ,
   and   a   pmHighResResult    when    using    a    metric    of    type
   PM_TYPE_HIGHRES_EVENT.

   pmUnpackEventRecords  and  pmUnpackHighResEventRecords  may  be used to
   unpack event records from a metric value identified by vsp and idx.  If
   the  metric  has  a  singular  value, idx should be 0, else the ordinal
   instance   value   identified   by   idx   will   be   unpacked,   i.e.
   vsp->vlist[idx].   The unpacked records are turned into either pmResult
   or pmHighResResult structures, one per event record and one metric  per
   event  parameter,  and  rap  is returned as a pointer to an array (NULL
   pointer terminated) of pointers to the result structures.

   The only difference between the  two  result  types  is  the  timestamp
   scale;  the  pmHighResResult  allows  for nanosecond precision, whereas
   pmResult allows for microsecond resolution.

   Some control information from the packed event records is unpacked into
   additional ``anonymous'' metrics as follows:

   1.  If   the  event  record  has  a  non-zero  flags  value,  then  the
       corresponding pmResult/pmHighResResult will have  the  flags  value
       encoded  with  the  additional  metric event.flags that is inserted
       ahead of all other event parameters.

   2.  If the event record flag is set to PM_EVENT_FLAG_MISSED,  then  the
       corresponding   pmResult/pmHighResResult   will   have  one  metric
       event.missed with a value that equals the number of  event  records
       ``missed''  because either the PMDA could not keep up, or the PMAPI
       client did not collect the event records fast enough.

   pmUnpackEventRecords returns the number of pmResult structures  as  the
   return    value,    which    is   >=   0   for   success.    Similarly,
   pmUnpackHighResEventRecords  returns  the  number  of   pmHighResResult
   structures as the return value, which is >= 0 for success.

   rap  and  the  associated  pmResult  structures  may be freed using the
   convenience function pmFreeEventResult(3).

   Similarly, the hrap and the associated pmHighResResult  structures  may
   be freed using the convenience function pmFreeHighResEventResult.

RETURN VALUE

   The following errors are possible:

   PM_ERR_CONV
             The  values  associated  with  vsp  are not encoded using the
             format PM_VAL_DPTR or PM_VAL_SPTR, or the flags at  the  head
             of the event record has an unexpected value.

   PM_ERR_INST
             The value associated with vsp is not singular as expected.

   PM_ERR_TYPE
             vsp is not a value of type PM_TYPE_EVENT.

   PM_ERR_TOOSMALL
             The  value  identified  by vbp is not legal because the value
             length is less than the minimum size, or the number of  event
             records      encoded      in      the      (value     header)
             pmEventArray/pmEventHighResArray structure  is  negative,  or
             the number of missed event records in the array is negative.

   PM_ERR_TOOBIG
             Either  vsp indicates more than one value is present (all the
             event records are expected to be packed in  a  single  metric
             value),  or  when unpacking the event records, the processing
             continues past the end of  the  enclosing  value.   Indicates
             corruption of the packed event record.

   PM_ERR_TYPE
             Event  parameters must have one of the arithmetic types, else
             PM_TYPE_AGGREGATE,             PM_TYPE_STRING              or
             PM_TYPE_AGGREGATE_STATIC.

   other values < 0
             refer to pmErrStr(3).

SEE ALSO

   PMAPI(3) and pmFreeEventResult(3).



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.