Data structure for an instance identifier.

typedef struct _DCIInstanceId {
  uint32            size;       /*  Size of the instance id in bytes. */
  uint32            levelWild;  /*  Wildcard bitmap, 32 levels, instance id. */
  UMAArrayDescr     instances;  /*  Descriptor for the variable-length instance array. */
  UMAVarLenData     data;       /*  The variable-length instance array. */
} DCIInstanceId;

typedef   DCIInstanceId   * DCIInstanceId ;

An instance identifier is used to select one of a set of otherwise identical groups of metrics. For example, if one requests ClassId 254.1.3.1 with wildcarded instance ids, all of the thread information for all of the tasks currently active on the system is returned. The return structure's InstanceId array contains the task and thread values which identify a particular data area in the data buffer. Multiple instances can be represented within a single metric id.

Wildcarding is done via a bit mask in the DCIInstanceId structure. For example, instance id level one uses the mask 1, intance id level two uses the mask 2, and instance id level 3 uses the mask 4. Masks for multiple levels can be OR'd together.


[Back: DCIInstAttr Field - data]
[Next: DCIInstanceId Field - size]