The Oracle TSAM Reference Guide describes, system processes and commands delivered with the Oracle TSAM software.
Table 1 lists the Oracle TSAM system processes and commands.
tpgetcallinfo()
—Routine for retrieving call path message monitoring attributes.
int tpgetcallinfo(const char *msg, FBFR32 **obuf, long flags)
tpgetcallinfo()
is used for call path monitoring only.
It supports the following parameters:
msg
obuf
flags
For monitored calls, tpgetcallinfo()
uses the following fields: following fields:
tpgetcallinfo()
tpgetcallinfo()
tpgetcallinfo()
to check the requested message monitoring attributes. It can provide the following information:Note: | - Correlation ID of the request. It is generated by the caller |
Note: | - Begins time stamping when the monitoring initiator starts the call |
Note: | - Last stop time stamp on the call path tree of the monitored request. Usually, it is used to measure the process requested message waiting time for a service |
Note: | - Workstation client address if the request is from a Tuxedo workstation client |
tpgetcallinfo()
to get the end to the monitored call end time. Note: | Note: tpgetcallinfo() can be called at any time for a reply buffer after a reply is received. This is especially useful with tpacall /tpgetrply . |
Table 2 lists the FML monitor metrics field names.
Upon successfully getting a FML32 buffer containing the monitoring attributes, returns 0.
Upon failure, tpgetcallinfo()
returns -1 and sets tperrno to indicate the error condition.
Upon failure, tpgetcallinfo()
sets tperrno to one of the following values,
[TPEINVAL]
[TPESYSTEM]
[TPEOS]
Listing 1-1 provides a service-side tpgetcallinfo example.
#include <stdio.h>
#include <atmi.h>
#include <userlog.h>
#include <fml32.h>
#include <tpadm.h>
#if defined(__STDC__) || defined(__cplusplus)
tpsvrinit(int argc, char *argv[])
#else
tpsvrinit(argc, argv)
int argc;
char **argv;
#endif
{
/* tpsvrinit logic */
#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
APPSVC(TPSVCINFO *rqst)
#else
TOUPPER(rqst)
TPSVCINFO *rqst;
#endif
{
FBFR32 *metainfo;
int len = 0;
/* Allocate the metainfo space */
metainfo = tpalloc("FML32", NULL, 1024);
if (metainfo == NULL ) {
userlog("Memory allocation failed");
tpreturn(TPFAIE, 0, 0, 0);
}
/* Get the monitoring attributes*/
if ( tpgetcallinfo(rqst->data, &metainfo, 0) == 0 )
{
char *corrid;
long laststopsec, starttimesec;
if ((corrid = Ffind32(metainfo, TA_MONCORRID, 0, &len) ) {
userlog("Correlation ID = %s", corrid);
}
len = sizeof(starttimesec);
if (( Fget32(metainfo, TA_MONSTARTTIMESEC, &starttimesec, &len) == 0) {
userlog("Message beginning time = %ld", starttimesec);
}
}
len = sizeof(lasttimesec);
if (( Fget32(metainfo, TA_MONLASTTIMESEC, &lasttimesec, &len) == 0) {
userlog("Message entering my queue time = %ld", lasttimesec);
}
}
tpfree(metainfo);
/* rest of service processment */
......
}
LMS—The Oracle TSAM Agent Local Monitor Server
LMS SRVGRP=“identifier” SRVID=“number” [other_parms]
CLOPT= “-A -- -l tsam-manager-dataserver-url [-t heartbeat-interval]
[-x internal-queue-size-limit] [-e log-warning-interval]”
LMS is an Oracle TSAM Agent Tuxedo server. It provides the following functions:
The performance metrics collected by the Oracle TSAM framework are passed to the plug-in. Oracle TSAM default plug-in sends the data to the LMS using the Tuxedo service infrastructure.
The LMS must be configured in the UBBCONFIG file and set with the proper options. Only one LMS can be deployed per Tuxedo machine.
-l
Note: | tsam/dataserver is the data server address. It strongly recommended that tsam/dataserver is not changed. |
TMUSEIPV6
in the TUXENV(5)
environment variable listing found in the Tuxedo 10g R3 Reference Guide, Section 5 - File Formats, Data Descriptions, MIBs, and System Processes Reference.
-x
[1001-999999]
. The messages sent from the Oracle TSAM default plug-in are stored in the queue first. If the system load is heavy, the queue may consume a lot of memory. The -x
option allows you to adjust the amount of memory used by LMS. The default is 100000
.
-t
[1-60]
. The default value is 30 seconds.
-e
[1-65535]
. The default value is equal the -t
value. The warning message reports how many messages have been lost during the past interval.
TM_MON_REPORT_LOG
LIBTUX_CAT:6774: WARN: LMS
server is unavailable currently
Note: | You must manually set TM_MON_REPORT_LOG . |
TM_MON_REPORT_LOG
has a range (in seconds) of [0,65535]. The the time 60s. TM_MON_REPORT_LOG=0
, indicates that the warning message is disabled.
Listing 1-2 shows the LMS in UBBCONFIG.
...
*SERVERS
LMS SRVGRP=LMSGRP SRVID=1 MINDISPATCHTHREADS=1 MAXDISPATCHTHREADS=5
CLOPT=”-A -- -l tsamweb.abc.com:8080/tsam/dataserver -x 200000 -t 60 -e 120”
...
Note: | A single LMS can be used by multiple machines, but it will consume network bandwidth and extend the BRIDGE computing cycle. The overall Tuxedo application performance may be significantly impacted. |