Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MONCONTROL(3)	       FreeBSD Library Functions Manual		 MONCONTROL(3)

NAME
     moncontrol, monstartup -- control execution profile

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/types.h>
     #include <sys/gmon.h>

     void
     moncontrol(int mode);

     void
     monstartup(u_long lowpc, u_long highpc);

DESCRIPTION
     An	executable program compiled using the -pg option to cc(1) automati-
     cally 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 program 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 examine the
     results.

     The moncontrol() function selectively controls profiling within a pro-
     gram.  When the program starts, profiling begins.	To stop	the collection
     of	histogram ticks	and call counts	use moncontrol(0); to resume the col-
     lection of	histogram ticks	and call counts	use moncontrol(1).  This fea-
     ture allows the cost of particular	operations to be measured.  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 collect profiling
     statistics	by calling monstartup()	with the range of addresses to be pro-
     filed.  The lowpc and highpc arguments specify the	address	range that is
     to	be sampled; the	lowest address sampled is that of lowpc	and the	high-
     est 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().

ENVIRONMENT
     The following environment variables affect	the execution of moncontrol:

     PROFIL_USE_PID  If	set, the pid of	the process is inserted	into the file-
		     name.

FILES
     progname.gmon  execution data file

SEE ALSO
     cc(1), gprof(1), profil(2), clocks(7)

FreeBSD	11.2			 June 14, 2004			  FreeBSD 11.2

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | ENVIRONMENT | FILES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=moncontrol&sektion=3&manpath=FreeBSD+11.2-RELEASE>

home | help