The UMA Data Capture Layer (DCL) is responsible for data collection to UMA-controlled structures from hardware registers, system counters and tables, driver counters and tables, etc. The collection of data has occurred when the data is in a structure controlled by UMA, that is, a structure that cannot be modified until a UMA component permits it.
Most subclasses defined in the Data Pool Definition (see reference DPD) specify interval data reporting, that is reporting of a difference in data values over the duration of the interval or a data value at the end of the interval. Reporting of absolute (undifferenced) data values at each interval can be chosen by specifying a flag UMA_WORKLOAD_ABSOLUTE in the umaStart() MLI call. In addition, there are subclasses associated with events and subclasses that may have both interval and event forms.
If the session start time or the reporting request (umaStart()) occurs at a time between regular collection times, the first interval reported for the session may be for a shorter duration than that specified. All subsequent collections will be of the correct duration and at regular times.
A MAP may request exemption from regular interval collections for a session by specifying the session property UMA_NOTREGULAR. Session properties will be discussed in detail in a subsequent section.
If historical data has been requested (from UMADS, or a file), data may not be available at the specified interval. In this case, the UMA facility supplies data at the archive interval up to the point where either recent data or current data are available at the requested interval. The UMA message header specifies the applicable interval for any supplied data. The MAP can prevent data being retrieved from UMADS by setting the RECENT_ONLY session attribute to TRUE.
By specifying certain event-related flags in the umaStart() MLI call, delivery of event data to the measurement application may be requested as either in-band (that is, in timestamp sequence) or out-of-band (ahead of timestamp sequence). This will be further discussed in the description for the umaStart() call.
Certain UMA subclasses defined in the Data Pool Definitions (see reference DPD) have both event and interval forms. For example, all Per Work Unit data pool subclasses admit both forms. This permits the MAP to select whether data is to be reported at each interval end, at an event, say, the termination of the process or at a process change in group ID, or both.
The UMA Configuration subclass is reported either as solicited event using the umaRequestConfig() MLI call or as an unsolicited event specified in a umaStart() MLI call.
UMA provides two data interpretation capabilities that permit the reduction of message traffic to the MAP:
Assuming that the provider can measure and deliver data at the required level of granularity, it is possible to restrict reporting of subclasses that have met threshold criteria. Interval data transmissions to a MAP are screened, based on a set of variable values that are compared to session-specific threshold settings.
A MAP session will be able to establish and change threshold settings which will inhibit transmission of data to the session for those intervals where the associated variables are within the threshold ranges. The MAP session uses the umaSetThreshold() function to establish or change thresholds.
This is discussed further in the description of the umaStart() call.
A special constructed workload that is the complement of a specified workload is also available. The complement workload metrics are derived by subtracting the selected per-work-unit workload data values from the available global equivalents. For example, for reporting at the process level, if the selection criterion is <User Name: Albert>, then the cpu utilization metric for the complement workload would consist of the global cpu utilization minus the usage for all processes running under the user name "Albert".
Data messages associated with events having the out-of-band attribute are sent to the MLI as soon as they arrive.
For specification of UMADS access, either the source
and destination parameters of the umaCreate() function
may be set to a string of the form "UMADS[(dbid)]"1
, which denotes a
specific UMADS. In particular, the dbid may be used to designate
any of a number of UMADS areas, for example hourly, daily,
etc. Access to these areas may be
controlled to permit either public
or private read/write through the use of an administrative
UMADS authorisation file.
Requests to UMADS can be originated by a MAP making historical reporting references. These historical references may occur in one of two ways. First, a MAP may explicitly constrain access to UMADS by specifying it as the source. Second, a historical reference may result from a positioning to a time that is before any contained in the Recent Data facility.
Data messages are sent to the MAP from UMADS or the Recent Data in exactly the same form, thus providing a seamless link of historical and current data. Interval sizes from the historical data sources may, however, be either larger or not integer divisors of the requested interval. In this case, the data provided from these sources may be at a different interval size (the UMA data message header will indicate the size). If this is not satisfactory for some applications, the user may consider use of specially collected data saved in a private UMADS area.
The UMA MLI supports location transparency for UMADS data. This means that:
and
UMA MLI calls, therefore, can refer to the object system through its
symbolic name and let UMA locate the historical data for it - this is
the presumed location. Alternatively, a caller may specify a
No special MLI calls are required for a MAP to access UMADS; however
an administrator may need to perform certain support and maintenance that
are specific to UMA. Examples include
Interval sizes can be mixed within a single UMADS area. This should be done, however, so that it is consistent and easily handled by MAPs. For example:
Specification of private files, for reading or for writing is via the source and destination parameters of the umaCreate() call. The details are discussed in the description of umaCreate(). It is important to note that UMA does not support seamless switching between private files and Recent Data. (Seamless Switching between UMADS and Recent Data is supported.) When a private file is the source in the umaCreate() call, it is the only source of data for the session.
Contents | Next section | Index |