MONITOR(III) 2/11/74 MONITOR(III) NAME monitor - prepare execution profile SYNOPSIS monitor(lowpc, highpc, buffer, bufsize) int lowpc( ), highpc( ), buffer[ ], bufsize; DESCRIPTION Monitor is an interface to the system's profile entry(II). Lowpc and highpc are the names of two functions; buffer is the address of a (user supplied) array of bufsize integers. Monitor arranges for the system to sample the user's program counter periodically and record the execution histogram in the buffer. The lowest address sampled is that of lowpc and the highest is just below highpc. For the results to be significant, especially where there are small, heavily used routines, it is suggested that the buffer be no more than a few times smaller than the range of locations sampled. To profile the entire program, it is sufficient to use extern etext; ... monitor(2, &etext, buf, bufsize); Etext is a loader-defined symbol which lies just above all the program text. To stop execution monitoring and write the results on the file mon.out, use monitor(0); Then, when the program exits, prof(I) can be used to exam- ine the results. It is seldom necessary to call this routine directly; the -p option of cc is simpler if one is satisfied with its default profile range and resolution. FILES mon.out SEE ALSO prof(I), profil(II), cc(I) - 1 -