moncontrol(3)

NAME

moncontrol, monstartup - control execution profile

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <sys/types.h>
#include <sys/gmon.h>
int
moncontrol(int mode);
int
monstartup(u_long *lowpc, u_long *highpc);

DESCRIPTION

An executable program compiled using the -pg option to cc(1)
automatically includes calls to collect statistics for the gprof(1)
call-graph
execution profiler. In typical operation, profiling begins
at program
startup and ends when the program calls exit. When the pro
gram exits,
the profiling data are written to the file progname.gmon,
where progname
is the name of the program, then gprof(1) can be used to ex
amine the
results.
The moncontrol() function selectively controls profiling
within a program. When the program starts, profiling begins. To stop
the collection
of histogram ticks and call counts use moncontrol(0); to re
sume the collection of histogram ticks and call counts use
moncontrol(1). This feature allows the cost of particular operations to be mea
sured. Note that
an output file will be produced on program exit regardless
of the state
of moncontrol().
Programs that are not loaded with -pg may selectively col
lect profiling
statistics by calling monstartup() with the range of ad
dresses to be profiled. The lowpc and highpc arguments specify the address
range that is
to be sampled; the lowest address sampled is that of lowpc
and the highest is just below highpc. Only functions in that range that
have been
compiled with the -pg option to cc(1) will appear in the
call graph part
of the output; however, all functions in that address range
will have
their execution time measured. Profiling begins on return
from
monstartup().

FILES

progname.gmon execution data file

SEE ALSO

cc(1), gprof(1), profil(2), clocks(7)
BSD June 14, 2004
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout