Oracle TSAMリファレンス・ガイドは、Oracle TSAMソフトウェアに付属のシステム処理およびコマンドについて説明します。
表1に、Oracle TSAMのシステム処理とコマンドのリストを示します。
LMS - Oracle TSAMエージェント・ローカル・モニター・サーバー
LMS SRVGRP="identifier" SRVID="number" [other_parms]
CLOPT= "-A -- -l tsam-manager-dataserver-url [-t heartbeat-interval]
LMSは、Oracle TSAMエージェントのTuxedoサーバーです。次の機能を提供します:
LMSは、適切なオプションを使用してUBBCONFIGファイルに設定する必要があります。1つのTuxedoマシンに1つのLMSを構成する必要があります。1つのマシン上の複数LMSはサポートされません。LMSは、Tuxedoドメインが起動したときにすべてのサーバー情報を取得できるように、UBBCONFIGの末尾に構成することをお薦めします。そうしても、LMSは、定期的に構成をTSAMマネージャに同期できます。
-l
-m
-t
リスト1-1に、UBBCONFIG内のLMSを表示します。
...
*SERVERS
LMS SRVGRP=LMSGRP SRVID=1
CLOPT=”-A -- -l tsamweb.abc.com:8080/tsam/-m 20M -t 180”
...
tpgetcallinfo()
- 呼出しパス・メッセージ・モニタリング属性を受信するルーチン。
int tpgetcallinfo(const char *msg, FBFR32 **obuf, long flags)
tpgetcallinfo()
は、呼出しパス・モニタリングにのみ使用されます。次のパラメータをサポートしています。
msg
obuf
flags
モニターされた呼出しでは、tpgetcallinfo()
に次のフィールドが使用されます。
tpgetcallinfo()
tpgetcallinfo()
tpgetcallinfo()
を呼び出します。これにより、次の情報を提供できます。注意: | - リクエストの相関識別子。呼出し側によって生成されます。 |
注意: | - モニタリング・イニシエータを使用して呼出しを開始すると、タイム・スタンプが開始されます。 |
注意: | - 監視されるリクエストの、呼出しパス・ツリー上の最後の終了タイム・スタンプ。通常、処理リクエスト・メッセージのサービスの待ち時間を測定するために使用されます。 |
注意: | - Tuxedoワークステーション・クライアント側からのリクエストの場合は、ワークステーション・クライアント・アドレス |
tpgetcallinfo()
を呼び出します。 注意: | 注意: tpgetcallinfo() は、応答の受信後、いつでも呼び出して応答バッファを得ることができます。これは、tpacall /tpgetrply の場合に特に有用です。 |
表 2は、FMLモニター・メトリック・フィールド名のリストです。
モニタリング属性を含むFML32バッファの取得に成功すると、0が返されます。
エラーが発生すると、tpgetcallinfo()
は -1を返し、tperrnoを設定してエラー条件を示します。
エラーが発生すると、tpgetcallinfo()
はtperrnoを次のいずれかの値に設定します。
[TPEINVAL]
[TPESYSTEM]
[TPEOS]
リスト1-1は、サービス側tpgetcallinfo
の例です。
#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 */
......
}