LAM_RTRSTORE (2)
Store LAM trace data.
SYNOPSIS
int lam_rtrstore (int node, int list, char *buffer, int length);
DESCRIPTION
The client function,
lam_rtrstore() ,
delivers trace data from a local buffer to the trace daemon.
In theory, the trace transport system can be used for any random data.
In practice, it is used to move trace data between the monitored
processes and a trace visualization system.
Any process can transfer trace data at any time and any number of times.
In theory, the trace daemon on any node can be used.
In practise, always use the local trace daemon, and set the
node
argument to LOCAL.
Traces are organized within the daemon in lists.
The
list
argument selects the list.
This enables trace readers to selectively read trace data.
Trace data is read out of the daemon with rtrget(2) and related functions.
Any length of buffer is accepted and
lam_rtrstore()
will send messages to the trace daemon in MAXNMSGLEN (the network
packet size) byte packets.
The trace daemon will accept trace data and store it until the total
currently stored exceeds a pre-compiled maximum.
At that point, if an existing list with a positive number is selected,
oldest traces are dropped.
If a new list with a positive number is selected, the current traces are
ignored and
lam_rtrstore()
has no effect.
BUGS
By packetizing a large buffer in smaller messages, the trace daemon
remains totally stateless but daemon requests from other sources
may be interspersed between the packets.
To be completely safe, a trace record should not span a MAXNMSGLEN
boundary in the trace buffer.
SEE ALSO
|
|