PADC(1)                                                                PADC(1)


NAME
     padc - process activity data collector

SYNOPSIS
     padc -Cqrsk [-I len] [-h pri] [-b bufsz] [-t time]

     padc -qrsk [-i] [-I len] [-h pri] [-b bufsz] [-t time]
               [-p pid]

DESCRIPTION
     padc traces the activity of a process or group of processes and writes
     the raw event data to the standard output.  System calls, scheduling
     actions, and disk i/o operations are activities that padc can trace.  In
     addition to kernel-generated events, padc collects any events created by
     processes through the rtmon_log_user_tstamp(3) library routine.

     padc is normally invoked by the par(1) program which reads and formats
     its output.  padc can also be invoked by itself with the event data
     written to a file for later processing by par or rtmon-dump(1).

     By default, padc traces the requested events for all processes on a
     system.  System call event collection can be restricted to a specific set
     of processes with one or more -p options.  If the -i option is given, all
     future children of the specified processes will also have their system
     calls traced.  If the -t option is specified, padc will collect trace
     data for a limited amount of time.

     padc collects trace data until: the time specified with the -t option has
     elapsed, padc receives a SIGINT or a SIGHUP signal, or all processes to
     be traced have terminated.

     The execution of traced processes is not affected when padc is collecting
     event data.

OPTIONS
     -b bufsz  Use a buffer bufsz bytes large to buffer event data written to
               the standard output.  By default padc buffers up to 128
               Kilobyte of data before writing the data to the standard
               output.  Setting bufsz to zero causes padc to buffer its output
               as little as possible.

     -C        Trace CXFS activity.

     -h pri    Run padc with a nondegrading realtime scheduling priority pri.
               By default padc tries to use the same realtime scheduling
               priority that the system event collection process uses.  This
               will only happen if padc is started by the super-user.  padc
               tries to match scheduling priority so that it can compete
               equally for CPU time when doing system-wide event collection.


     -k        Trace all disk i/o operations on the system.

     -I max    Set the maximum amount of data returned by the kernel for
               indirect parameter values returned with a system call event.
               Some system calls (e.g. read) have potentially lots of data
               associated with them.  padc always collects direct system call
               arguments; this option can be used to control the amount of
               indirect data.  If max is 0, then no indirect parameter values
               will be collected.  Otherwise max can be any value up to a
               maximum determined by the operating system; by default 4096
               bytes.  Note that setting this value to a large number
               increases the probability of losing events.

     -i        Inherit system call tracing to future children of the processes
               specified with -p options.

     -p pid    Enable system call event tracing for the specified pid.  This
               option may be specified multiple times to enable system call
               tracing for multiple processes.  Processes specified with this
               option must belong to the current user unless the user has
               super-user privilege.

     -q        Trace scheduling events for all processes on the system.

     -r        Trace scheduling events for processes specified with the -p and
               -i options.  If no processes are specified, trace events for
               all processes on the system.

     -s        Trace system calls for processes specified with the -p and -i
               options.

     -t time   Collect data for a time-second interval.

NOTES
     padc reads its information from the rtmond(1) server process on the
     machine where the traced processes are located.  The rtmon-client(1)
     program may be used to collect trace data from an rtmond process on a
     different machine; the only restriction is that you cannot (easily)
     collect system call event data.

     padc's main task is to merge multiple streams of event data that are
     collected on multi-processor systems.  This work may require a
     significant amount of memory if the system is heavily loaded because much
     event data may need to be buffered to insure events are properly sorted
     by time.  For this reason padc does not merge event data when doing
     system-wide event collection; instead par recognizes that it needs to
     sort-merge the event data when displaying event traces (since it
     typically is run after the event data has been collected).

     Event data collected by padc is time stamped with a high resolution
     timer.  The resolution of this timer depends on the system hardware; this
     value is recorded in the event stream so that post-processing programs


     such as par can properly calculate time values.

     To reduce system load, system call events generated by padc itself are
     not recorded.  This can lead to some inexplicable gaps in the schedule
     trace.

DIAGNOSTICS
     Unable to contact rtmon service on local host.  There is no rtmond server
     process running on the system.  Usually this is because the rtmond
     service has been disabled; consult chkconfig(1M).

     Cannot reach rtmon service on local host, access denied.  The rtmond
     server process has been configured to deny access to all users on the
     local host.

     Unable to start data collection; server disallowed event collection.  The
     rtmond server process has been configured to restrict the set of events
     that may be collected and you have requested collection of events that
     are unavailable.

     Unable to start data collection; temporarily out of resources.  The
     rtmond server process was unable to start event collection because it ran
     out of system resources such as threads or memory.

FILES
     /dev/par               for enabling system call tracing
     /tmp/.rtmond_socket    UNIX domain socket for client connections

SEE ALSO
     par(1), rtmon-client(1), rtmon-dump(1), rtmond(1), par(7).


                                                                        Page 3