Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ monitor(3) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(1)

profil(2)

cc(1)



      MONITOR(3)              GENIX Programmer's Manual              MONITOR(3)



      NAME
           monitor - prepare execution profile

      SYNOPSIS
           monitor(lowpc, highpc, buffer, bufsize, nfunc)
           int (*lowpc)(), (*highpc)();
           short buffer[];

      DESCRIPTION
           An executable program created  by  `cc  -p'  automatically  includes
           calls for monitor with default parameters; monitor needn't be called
           explicitly except to gain fine control over profiling.

           Monitor is an interface to profil(2).   Lowpc  and  highpc  are  the
           addresses  of  two  functions; buffer is the address of a (user sup-
           plied) array of bufsize short integers.  Monitor arranges to  record
           a  histogram  of periodically sampled values of the program counter,
           and of counts of calls of certain functions,  in  the  buffer.   The
           lowest  address  sampled  is  that  of lowpc and the highest is just
           below highpc.  At most nfunc call counts can be kept; only calls  of
           functions  compiled  with  the  profiling  option  -p  of  cc(1) are
           recorded.  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  sam-
           pled.

           To profile the entire program, it is sufficient to use

                extern etext();
                . . .
                monitor((int) 2, etext, buf, bufsize, nfunc);

           Etext lies just above all the program text, see end(3).

           To stop execution monitoring and  write  the  results  on  the  file
           mon.out, use

                monitor(0);

           then prof(1) can be used to examine the results.

           To stop execution monitoring and  write  the  results  on  the  file
           mon.out324523, (where the number is the process id of your process),
           use:

                monitor(-1);

      FILES
           mon.out

      SEE ALSO
           prof(1), profil(2), cc(1)



      Printed 11/16/83                                                        1



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026