Annotation of 43BSDTahoe/man/man3/monitor.3, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)monitor.3   6.1 (Berkeley) 5/15/85
        !             6: .\"
        !             7: .TH MONITOR 3  "May 15, 1985"
        !             8: .UC 4
        !             9: .SH NAME
        !            10: monitor, monstartup, moncontrol \- prepare execution profile
        !            11: .SH SYNOPSIS
        !            12: .nf
        !            13: .B monitor(lowpc, highpc, buffer, bufsize, nfunc)
        !            14: .B int (*lowpc)(), (*highpc)();
        !            15: .B short buffer[];
        !            16: .sp
        !            17: .B monstartup(lowpc, highpc)
        !            18: .B int (*lowpc)(), (*highpc)();
        !            19: .sp
        !            20: .B moncontrol(mode)
        !            21: .fi
        !            22: .SH DESCRIPTION
        !            23: There are two different forms of monitoring available:
        !            24: An executable program created by:
        !            25: .IP  " cc \-p . . ."
        !            26: .LP
        !            27: automatically includes calls for the 
        !            28: .IR prof (1)
        !            29: monitor and includes an initial call to its start-up routine
        !            30: .I monstartup
        !            31: with default parameters;
        !            32: .I monitor
        !            33: need not be called explicitly except to gain fine control over profil 
        !            34: buffer allocation.
        !            35: An executable program created by:
        !            36: .IP  " cc \-pg . . ."
        !            37: .LP
        !            38: automatically includes calls for the
        !            39: .IR gprof (1)
        !            40: monitor.
        !            41: .PP
        !            42: .I Monstartup
        !            43: is a high level interface to
        !            44: .IR profil (2).
        !            45: .I Lowpc
        !            46: and
        !            47: .I highpc
        !            48: specify the address range that is to be sampled; the lowest address sampled
        !            49: is that of
        !            50: .I lowpc
        !            51: and the highest is just below
        !            52: .IR highpc .
        !            53: .I Monstartup
        !            54: allocates space using 
        !            55: .IR sbrk (2)
        !            56: and passes it to
        !            57: .I monitor
        !            58: (see below) to record a histogram of periodically sampled values of
        !            59: the program counter, and of counts of calls of certain functions, in the buffer.
        !            60: Only calls of functions compiled with the profiling option
        !            61: .B \-p
        !            62: of
        !            63: .IR cc (1)
        !            64: are recorded.
        !            65: .PP
        !            66: To profile the entire program, it is sufficient to use
        !            67: .PP
        !            68: .nf
        !            69:        extern etext();
        !            70:        . . .
        !            71:        monstartup((int) 2, etext);
        !            72: .fi
        !            73: .PP
        !            74: .I Etext
        !            75: lies just above all the program text, see
        !            76: .IR end (3).
        !            77: .PP
        !            78: To stop execution monitoring and write the results on the file
        !            79: .I mon.out,
        !            80: use
        !            81: .PP
        !            82:        monitor(0);
        !            83: .LP
        !            84: then
        !            85: .IR prof (1)
        !            86: can be used to examine the results.
        !            87: .PP
        !            88: .I Moncontrol
        !            89: is used to selectively control profiling within a program.
        !            90: This works with either 
        !            91: .IR prof (1)
        !            92: or
        !            93: .IR gprof (1)
        !            94: type profiling.
        !            95: When the program starts, profiling begins.
        !            96: To stop the collection of histogram ticks and call counts use
        !            97: .IR moncontrol (0);
        !            98: to resume the collection of histogram ticks and call counts use
        !            99: .IR moncontrol (1).
        !           100: This allows the cost of particular operations to be measured.
        !           101: Note that an output file will be produced upon program exit
        !           102: irregardless of the state of 
        !           103: .I moncontrol.
        !           104: .PP
        !           105: .I Monitor
        !           106: is a low level interface to
        !           107: .IR profil (2).
        !           108: .I Lowpc
        !           109: and
        !           110: .I highpc
        !           111: are the addresses of two functions;
        !           112: .I buffer
        !           113: is the address of a (user supplied) array of
        !           114: .I bufsize
        !           115: short integers.  At most
        !           116: .I nfunc
        !           117: call counts can be kept.
        !           118: For the results to be significant, especially where there are small, heavily
        !           119: used routines, it is suggested that the buffer be no more
        !           120: than a few times smaller than the range of locations sampled.
        !           121: .I Monitor
        !           122: divides the buffer into space to record the histogram
        !           123: of program counter samples over the range
        !           124: .I lowpc
        !           125: to
        !           126: .IR highpc ,
        !           127: and space to record call counts of functions compiled with the 
        !           128: .B \-p
        !           129: option to
        !           130: .IR cc (1).
        !           131: .PP
        !           132: To profile the entire program, it is sufficient to use
        !           133: .PP
        !           134: .nf
        !           135:        extern etext();
        !           136:        . . .
        !           137:        monitor((int) 2, etext, buf, bufsize, nfunc);
        !           138: .fi
        !           139: .SH FILES
        !           140: mon.out
        !           141: .SH "SEE ALSO"
        !           142: cc(1), prof(1), gprof(1), profil(2), sbrk(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.