beautypg.com

Example 6-6, Restarting a measurement – HP NonStop G-Series User Manual

Page 134

background image

Creating a Custom Measurement Application

Measure User’s Guide 520560-003

6- 22

Reading the Measurement Configuration

Example 6-6. Restarting a Measurement (page 1 of 2)

LITERAL BUFSIZE = 32000,
TRUE = -1,
FALSE = 0,
MAX^NUM^MEASUREMENTS = 64;

STRUCT .MEASNAMES[0:MAX^NUM^MEASUREMENTS-1];
BEGIN
INT FNAME[0:11];
END;

INT .EXT CONTAB[0:15999], !use space in extended segment
MEASUREMENTS,
MEASNUM,
FILENAME[0:11] := ["$SYSTEM MEASURE CPUDATA "],
DFNUM,
BYTESRET;

FIXED STARTTIME,
STOPTIME,
INTERVAL;

INT(32) .ENTITIES[0:MAX^T],
.CTRSPACE[0:MAX^T];
.
.
.
! Determine if measurement is already active.
! If you have already used the Measure control block
! (MEASCB), do not initialize it again here.

IF ERROR := MEASMONSTATUS(MEASCB,MEASUREMENTS,MEASNAMES)
THEN ... ! handle error
MEASNUM := 0;
WHILE (MEASNUM < MAX^NUM^MEASUREMENTS) AND
(MEASNAMES[MEASNUM].FNAME <> FILENAME FOR 12)
DO MEASNUM := MEASNUM + 1;
IF MEASNUM < MAX^NUM^MEASUREMENT
THEN ... ! Measurement already active; don't continue

! Open the data file (read access only) and read the
! configuration table into an extended segment. Because a
! measurement cannot be started on an open data file, close
! the data file.