tracex(5) tracex(5)
NAME
tracex - Reliant UNIX kernel tracer
DESCRIPTION
tracex is a system of programs which permit the recording and analysis
of operations in the operating system kernel.
Since a large amount of data is recorded, tracex is primarily suitable
for short-term measurements, such as those around the minute mark. If
possible, you should restrict yourself to measuring individual tran-
sactions. This considerably relieves the analysis of critical opera-
tions.
The maximum measurement period is 35 minutes.
When tracex is activated, the operating system logs, among other
things, the time at which certain measurement points will be executed
(to put it another way, when certain events occur). This data is then
stored temporarily in a buffer. The log is written to a rawtrace
binary log file if the buffer is full beyond a certain degree or after
a defined time. This file must first be converted to an asciitrace
ASCII file which can then be analyzed using the various tools.
The measurement operation is divided into three phases:
I) Installing/configuring tracex
II) Executing the measurement; i. e. creating a binary log file
III) Evaluating the measurement; i. e. creating an ASCII log file and
evaluating this file using various tools. A default evaluation is
possible using a supplied makefile.
The following function overview uses the representation method:
+-----------+ +--------+
Program: |¢ Program ¢| File: | File |
+-----------+ +--------+
In addition, it is assumed that the conventions that must be adhered
to when naming files are used if the supplied makefile is to be used:
"rawtrace" is called mname.R, where mname is any character string
identifying the measurement. "asciitrace" is correspondingly called
mname.A.
Page 1 Reliant UNIX 5.44 Printed 11/98
tracex(5) tracex(5)
Installation
The connection between the user and the operating system kernel is
established via the trx driver.
This driver must be linked to the kernel and access must be possible
via the /dev/trx (major# 300, minor# 0) device file. This is the
default.
All tracex commands are contained in the SItracex package and can be
installed using pkgadd. During this process, the "tracex" user is also
created with a suitable environment. This user can then execute and
evaluate the measurements described in the following section.
Configuration
The size of the abovementioned buffer in which the operating system
kernel temporarily stores the log can be changed. This is done using
the trxpatch(1M) or trxsetbuf(1M) command.
Executing a measurement
The tracex events to be logged should first be defined in an entab
file. All known events are logged by default.
The measurement is then started using the txc(1M) command, i.e. the
rawtrace binary log file starts to fill up. A list of the active
processes is created in asciitraceps.
+----------+ +---------------+
| /dev/trx |---+ +--->| mname.Aps |
+----------+ | +-------+ | +---------------+
+--->|¢ txc ¢|---+
+----------+ | +-------+ | +---------------+
| entab |---+ +--->| mname.R |
+----------+ +---------------+
|
| +----------+
+--->|¢ trxchk ¢|
+----------+
The (test) programs to be searched are now started if necessary.
To finish the measurement, logging is stopped by calling the snap(1M)
command. It is also possible to define the measurement time when cal-
ling txc.
The rawtrace binary log file can be checked for syntactical correct-
ness using the trxchk(1M) command.
Page 2 Reliant UNIX 5.44 Printed 11/98
tracex(5) tracex(5)
Evaluating a measurement
The rawtrace binary log file must first be converted to an asciitrace
ASCII file using the trxout(1M) command. rawtracetoe contains a list
of errors that occurred.
+----------------+
+--->| mname.A |
+-----------+ +----------+ | +----------------+
| mname.R |--->|¢ trxout ¢|---+
+-----------+ +----------+ | +----------------+
+--->| mname.Rtoe |
+----------------+
The ASCII file created in this manner can now be accessed using vari-
ous tools.
a) trxlook
You can create readable extracts from an asciitrace ASCII log file
using the trxlook(1M) command. The criteria according to which these
extracts are created are defined using the trxparm(1M) command in a
parmfile parameter file. trxindx(1M) creates an index for asciitrace
which improves runtime behavior considerably .
+------------+
|¢ trxparm ¢|
+-----+------+
|
v
+------------+
| parmfile |---+
+------------+ | +---------------+
+--->|¢ trxlook ¢|---> stdout
+------------+ | +---------------+
| mname.A |---+ ^
+-----+------+ |
| |
v |
+------------+ +-------+-------+
|¢ trxindx ¢|------->| mname.Aind |
+------------+ +---------------+
b) trxeval
The trxeval(1M) program evaluates the asciitrace ASCII log file logi-
cally, i.e. it creates summary information for the purpose of apprais-
ing the utilization of the CPU or peripherals, for example, as well as
other statistics. trxeval creates up to six output files depending on
the option specified:
Page 3 Reliant UNIX 5.44 Printed 11/98
tracex(5) tracex(5)
asciitraceout Detailed output log
asciitraceerr Error messages from trxeval
asciitraceaus Unformatted output log
asciitraceintv Operating time profile of the process
asciitracetrc Important records transferred from outdat
asciitracesyserr Error messages from process system calls
+--------------+ +----------------+
| mname.Aps |--+ +---->| mname.Aout |
+--------------+ | +-----------+ | +----------------+
+----->|¢ trxeval ¢|--+ +----------------+
+-------------+ | +-----+-----+ +---->| mname.Aerr |
| mname.A |--+ | | +----------------+
+-------------+ | | +----------------+
+------------------+-----+ +---->| mname.Aaus |
| | | +----------------+
v v | +----------------+
+----------------+ +---------------+ +---->| mname.Asyserr |
| mname.Aintv | | mname.Atrc | +----------------+
+-----+----------+ +---+-+---------+
| | | +-----------+
+--------+--------+ +---->|¢ trxproc ¢|----> stdout
| +-----------+
v
+-----------+ +------------------+
|¢ do.lev2 ¢|----->| mname.Atrcex |
+-----+-----+ +------------------+
|
+-------+------------+----------------------+
| | |
v v v
+------------------+ +------------------+ +-------------------+
| mname.Aintvp | | mname.Aintvt | | mname.Aintvts |
+------------------+ +------------------+ +-------------------+
Two other programs further evaluate the trxeval events:
trxpoc(1M) establishes the hierarchy of processes active during meas-
urement time from asciitracetrc.
do.lev2 creates the following files:
asciitraceintvp intv data, sorted by PID and time period.
asciitraceintvt intv data, sorted by time period and PID.
asciitraceintvts intv data, sorted by time period.
Page 4 Reliant UNIX 5.44 Printed 11/98
tracex(5) tracex(5)
asciitracetrcex trc data (events 16, 17, 18) in trxlook format.
c) trxiostat
For each PID, the trxsys | trxiostat program combination creates all
accesses to all files (system calls) that were accessed by this PID.
+-------------+ +-------------+ +-------------+
| mname.A |---->|¢ trxsys ¢|---->|¢ trxiostat ¢|----> stdout
+-------------+ +-------------+ +-------------+
Makefile
A makefile is provided for the standardized evaluation of a tracex
measurement.
It includes the following evaluations:
- trxout
- trxindx
- trxeval
- do.lev2
Use of the makefile requires a binary log file in the form mname.R in
the /home/tracex/dat directory as input. Only the partial name mname
is specified when calling make.
It is recommended that you delete existing evaluation files before
starting the actual evaluation. This is done using:
make clean id=mname
The new evaluation is started using:
make all id=name
Following execution of the makefile, the following output files are
available to the user:
- mname.A
- mname.Rtoe (error file)
- mname.Aind
- mname.Aaus
- mname.Aintv
Page 5 Reliant UNIX 5.44 Printed 11/98
tracex(5) tracex(5)
- mname.Atrc
- mname.Aerr (error file)
- mname.Aintvp
- mname.Aintvt
- mname.Aintvts
- mname.Atrcex
NOTES
In multiprocessor systems, the microsecond timer used by tracex only
functions approx. 3 minutes after the system is booted.
Detailed instructions and, in particular, a description of all meas-
urement points (events) known to tracex, as well as the format of the
files, can be found in the /home/tracex/doc/trxman00 file.
SEE ALSO
do.lev2(1M), snap(1M), trxchk(1M), trxeval(1M), trxindx(1M),
trxiostat(1M), trxlook(1M), trxout(1M), trxparm(1M), trxpatch(1M),
trxproc(1M), trxsetbuf(1M), txc(1M), entab(4).
Page 6 Reliant UNIX 5.44 Printed 11/98