HP NonStop G-Series User Manual

Page 188

Advertising
background image

Example of Measurement Application in C

Measure User’s Guide 520560-003

D- 2

char DataFName[] = "MDATA";
char ExtDataFName[40];
short IntDataFName[12],DataFNum,Error,MeasNum,ActMeasNum;
short cpus,BytesRead;
long long StartTime,StopTime,Interval,FCall;
short i, Len;
long Entities[MAX_T], CounterSpace[MAX_T];

printf("Initializing contab header record...\n");
CPURec.Header.type = CONTAB_T;
CPURec.Header.len = sizeof(CPURec);
for (i = 0; i <= MAX_T; ++i)
CPURec.Header.u_sections.sections[i] = 0;
CPURec.Header.u_sections.sections[CPU_T] =
sizeof(CPURec.Header);

printf("Initializing CPU record...\n");
CPURec.EDesc.type = CPU_T;
CPURec.EDesc.len = sizeof(CPURec.EDesc);
CPURec.EDesc.cpu_number = ALL_ELEMENTS;

printf("Initialize the Trailer record\n");
CPURec.Trailer.type = CONTAB_TRAILER_T;
CPURec.Trailer.len = sizeof(CPURec.Trailer);

/* Initialize the MEASCB */
memset(&MeasCB,-1,sizeof(MeasCB));

printf("Starting Measure subsystem...\n");
Error = MEASMONCONTROL((short *)&MeasCB,TRUE);
if (Error != 0 && Error != 3217)
{
printf("MEASMONCONTROL ERROR %d\n",Error);
}

memset(ExtDataFName, 0, sizeof(ExtDataFName));
printf("Creating data file using MEASOPEN...\n");

Error = FILENAME_RESOLVE_(DataFName, 5, ExtDataFName,
sizeof(ExtDataFName),
&Len);

if (Error != 0)
{
printf("FILENAME_RESOLVE_ Error for %s\n",DataFName);
}
Error = FILENAME_TO_OLDFILENAME_(ExtDataFName, Len,
IntDataFName);
if (Error != 0)
{
printf("FILENAME_RESOLVE_ Error for %s\n",DataFName);
}
Error = MEASOPEN(IntDataFName,&DataFNum,TRUE,TRUE);

Example D-1. Measurement Application in C (page 2 of 4)

Advertising