dylibprof

Section: User Commands (1)
Updated: June 29, 1995
Index Return to Main Contents
 

NAME

dylibprof - control the shared pc sampling of a dynamic shared library  

SYNOPSIS

dylibprof [-e | -d] | [-c | -r | -b | -h | -p [-o <file>] <dylib>]  

DESCRIPTION

Dylibprof along with the server /usr/etc/profileServer allows shared program counter sampling of a dynamic shared library across all the programs that use the library.

To use dylibprof(1), /usr/etc/profileServer must be running. Currently /usr/etc/profileServer must be executed from a console login as root due to bootstrap port issues. So first start /usr/etc/profileServer and leave it running in the back ground:

        # /usr/etc/profileServer >& /dev/console &

/usr/etc/profileServer starts up with shared pc sampling disabled. It should not be left running with shared pc sampling enabled if no sampling is being done as every launch of a program that uses the dynamic linker is effected. This is true even to a small extent if there no libraries being sampled.

USING /etc/bootstrap.conf IS CURRENTLY BROKEN. If you need to profile from boot up for all processes then the following line can be added to /etc/bootstrap.conf:

        server "/usr/etc/profileServer /lib/libsys_s.A.dylib" services NSProfileServer;

Before any dynamic shared library can be sampled sampling must be enabled as
follows:
        % dylibprof -e

It can then later be disabled when no more sampling is to be done with:

        % dylibprof -d
 

EXAMPLE

To sample the dynamic shared library /lib/libsys_s.A.dylib for example requires the following steps. First create a sample buffer for the library:
        % dylibprof -c /lib/libsys_s.A.dylib

Then begin the sampling:

        % dylibprof -b /lib/libsys_s.A.dylib
After this programs launched using this library will be part of the shared pc sampling. Typlically what would be done is to then use the system normally for a number of hours.

Then to halt the sampling:

        % dylibprof -h /lib/libsys_s.A.dylib

The profiling output file (a gmon.out file) can be created with:

        % dylibprof -p -o /tmp/gmon.out /lib/libsys_s.A.dylib

Using the profiling output file and the library a profile listing and a time based order file (time.order) can be created with: gprof(1):

        % gprof -S /lib/libsys_s.A.dylib gmon.out

When no more sampling for this library is to be done the sample buffer can be
removed with:
        % dylibprof -r /lib/libsys_s.A.dylib

The options are:

-e
Enable shared program counter sampling for dynamic libraries.
-d
Disable shared program counter sampling for dynamic libraries.
-c
Create a pc sample buffer for the library.
-b
Begin sampling for programs subsequently launched using the library.
-h
Halt sampling for programs subsequently launched using the library.
-p
Produce a profiling output file (a gmon.out file) for the library.
-r
Remove the pc sample buffer for the library.
-o name
Use the file name instead of gmon.out when producing the profiling output file with the -p above.
 

FILES

gmon.out                 
profile output file
/usr/adm/profile/profile.XXXXXX
the sample buffer file  

SEE ALSO

gprof(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLE
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 01:00:19 GMT, September 26, 2024