ttd(1)ttd(1)NAMEttd - transaction tracking registration daemon.
The transaction tracking daemon, ttd, reads and registers transaction
definitions from the configuration file /var/opt/perf/ttd.conf. The
ttd also assigns IDs to the transaction names passed to it via
arm_getid calls that come from the ARM library. The ttd synchronizes
these transaction definitions with the HP Measurement Interface daemon
You must execute the registration daemon, ttd, as root or with the set-
user-id bit set to root. ttd runs in background mode when dispatched,
and errors are written to the error file: /var/opt/perf/status.ttd.
COMMAND LINE OPTIONSttd recognizes the following command line options:
-? Displays the available options on standard error.
-hup Tells a running ttd process to reread the configuration file
without explicitly killing and restarting. The -hup option
should be used in conjunction with the -mi option to syn‐
chronize the midaemon with the ttd. To have the changes syn‐
chronized with the midaemon, specify -mi after -hup.
-k Kills the ttd process. The ttd process should only be killed
if the midaemon process is likewise killed. Killing and
restarting the ttd process without stopping the midaemon can
result in unsynchronized TT data in the midaemon process.
-mi Tells a running ttd process to synchronize its entries with
the midaemon without explicitly killing and restarting. This
option is typically used after ttd-hup to reread the
ttd.conf file and synchronize any changes with the midaemon.
ERROR MESSAGESttd was designed to use exit values and to write explicit error mes‐
sages in the status.ttd file. The error messages are formatted using
- name of the running ttd program - timestamp,
- name of the routine generating the error - error message,
- error message generated by a perror(3C) call if a system call
The ARM library registration calls arm_init(), arm_getid() and the con‐
trol call arm_stop (...,ARM_ABORT,...) fail if the ttd daemon is not
running. However, ARM operations arm_start() or arm_stop() can execute
successfully without the ttd daemon process if arm_getid was success‐
fully called before ttd was stopped.
The Measurement Interface processing daemon midaemon must also be run‐
ning to process the user-defined transactions and to measure perfor‐
mance metrics associated with these transactions.
The localhost loopback interface must be configured in order for ttd to
receive the client RPC connection requests. Client applications con‐
nect to ttd via RPC connections when the arm_getid() function is
The number of active client processes that can register transactions
with ttd via the arm_getid() call is limited to the maxfiles kernel
parameter. This parameter controls the number of open files per
process. Each client registration request results in ttd opening a
socket (an open file) for the RPC connection. The socket is closed
when the client application terminates; therefore, this limit affects
only the number of active clients that have registered a transaction
via the arm_getid call. Once this limit is reached, ttd will return
TT_TTDNOTRUNNING to a client's arm_getid() request. The maxfiles ker‐
nel parameter can be increased to raise this limit above the number of
active applications that will register transactions with ttd.
The standard ttd process execution is
To signal an active ttd daemon process to reread the configuration file
and synchronize with the midaemon process:
% ttd-hup -mi
To stop an active ttd daemon process:
An active ttd daemon process stores its pid in the file: ttd.pid
located in the same directory as the status.ttd file.
SEE ALSOttd.conf(4), arm(3), midaemon(1).