TRCONF(1) Domain/OS BSD TRCONF(1)
NAME
trconf - list active Streams or configure STREAMS trace modules
SYNOPSIS
trconf [-l] [-i streamid moduleno name]
[-r streamid moduleno]
[-c name mtype dir onoff timestamp boundary copy verbiage
[sink]]
[-a name trmon]
[-p name pattern]
[-g name dir [mtype datalen]+ < data]
DESCRIPTION
trconf is the trace module (tracem(4)) configuration utility. It
allows you to list currently active Streams in the system, to insert
trace module instances into any Stream, remove trace module instances
from any Stream, set parameters of any trace module instance, associate a
tracing instance of the trace module with a reporting instance (created
by a trmon invocation), set a pattern for the pattern matching function
of a trace module instance, or generate a message from any trace module
instance.
The push functionality has been extended for the trace module to allow
insertion into Streams at any point below the Stream head and above the
Stream tail (driver). The exception is a lower multiplexed Stream, where
insertion is only allowed below the linked module and above the Stream
tail. To overcome this limitation, push the nulm module onto the lower
Stream, prior to linking the Stream under the multiplexor. The desired
tracing configuration can then be achieved by inserting tracem under the
nulm module.
OPTIONS
-l Lists queues in each active Stream.
-i streamid moduleno name
Insert a trace module instance into a Stream above a module.
streamid is a Stream index as returned by the -l option of this
command. moduleno is the index of the module within the
Stream. name is a string specifying the name of this trace
module instance.
-r streamid moduleno
Remove a trace module instance from a Stream. streamid is a
Stream index as returned by the -l option of this command.
moduleno is the index of the trace module instance within the
Stream.
-c name mtype dir onoff timestamp boundary copy verbiage [sink]
Configure the attributes of a trace module instance. name is a
string specifying the name of this trace module instance.
mtype is a list of the message types to be traced, separated by
vertical bars (|). (The vertical bar must be quoted to prevent
certain shells from interpreting it as a pipe.) dir indicates
the direction of the messages to be traced. Specify up, down
or both up and down, separated by a vertical bar (up '|' down).
onoff is either on or off, to indicate whether or not the
messages should be logged. timestamp is either accurate,
inaccurate or off, to indicate the type of timestamp to be
logged with the message. boundary is either on or off, to
indicate whether or not traced message boundaries should be
preserved. copy is either on or off, to indicate whether or
not traced messages should be copied. verbiage is an integer
from 0 to 7. (Currenly this value is ignored.) sink is either
off or on. When sink is on, traced messages are not passed on
to the next module. Default is off.
-a name trmon
Associate a trace module instance with the trmon instance that
is to output the messages being traced. name is a string
specifying the name of this trace module instance. trmon is a
string with a name for the trmon instance.
-p name pattern
Set a pattern for the pattern matching function of a trace
module instance. name is a string specifying the name of this
trace module instance. pattern is a string containing 0's, 1's
and x's (x matches 0 or 1).
-g name dir [mtype datalen]+ < data
Generate one or more messages from a trace module instance.
name is a string specifying the name of this trace module
instance. dir indicates the direction of the message(s)
generated. Specify up or down. mtype is a message type.
datalen is the length in bytes of the data portion of the
message. data is the data portion of the message, and is taken
from standard input.
EXAMPLES
List the active Streams.
$ trconf -l
Stream index: 0
Queue 0: strwhead
Queue 1: LOG
Insert a tracem instance named tracem1 on top of the LOG module above.
$ trconf -i 0 1 tracem1
Set up parameters of this instance.
$ trconf -c tracem1 mdata '|' mproto up '|' down on accurate on on 7 off
Enable pattern matching.
$ trconf -p tracem1 1010xxxx
Assign the trmon instance trmon1 to the tracem instance tracem1. This
assumes the trmon utility has already been used to create the trmon
instance called trmon1. All selected messages passing through tracem1
will be reported by trmon1.
$ trconf -a tracem1 trmon1
Generate an M_PROTO message followed by an M_DATA message from a tracem
instance.
$ echo "hello" | trconf -g tracem1 up mproto 3 mdata 3
When done tracing, remove the tracem instance.
$ trconf -r 0 1
SEE ALSO
trmon(1), strinfo(1)