![]() ![]() ![]() ![]() ![]() ![]() |
Oracle TSAM Plusリファレンス・ガイドは、Oracle TSAM Plusソフトウェアに付属のシステム処理およびコマンドについて説明します。
表1に、Oracle TSAM Plusのシステム処理とコマンドのリストを示します。
LMS - Oracle TSAM Plusエージェント・ローカル・モニター・サーバー
LMS SRVGRP="identifier" SRVID="number" [other_parms]
CLOPT= "-A -- -l tsam-manager-dataserver-url[,tsam-manager-backupdataserver-url] [-t heartbeat-interval] [-n fetch_coll_capacity] [-m metrics-shm-size]”
LMSは、Oracle TSAM PlusエージェントのTuxedoサーバーです。次の機能を提供します:
Oracle TSAM Plusフレームワークによって収集されたパフォーマンス・メトリックスは、プラグインに渡されます。Oracle TSAM Plusのデフォルト・プラグインは、Tuxedoサービス・インフラストラクチャを使用してLMSにデータを送信します。
LMSは、適切なオプションを使用してUBBCONFIGファイルに構成する必要があります。1つのTuxedoマシンに1つのLMSを構成する必要があります。1つのマシン上の複数LMSはサポートされません。LMSは、Tuxedoドメインが起動したときにすべてのサーバー情報を取得できるように、UBBCONFIGの末尾に構成することをお薦めします。その場合も、LMSは、構成を定期的にTSAM Plusマネージャに同期できます。
-l
注意: | 2つのTSAM Plusマネージャ・アドレスの構成は、TSAM Plus 12.1.1.1以上でサポートされています。 |
-m
-r
-t
-n
リスト1-1に、UBBCONFIG内のLMSを表示します。
...
*SERVERS
LMS SRVGRP=LMSGRP SRVID=1
CLOPT=”-A -- -l tsamweb.abc.com:8080/tsam -m 20M -t 180 -n 64”
...
tpgetcallinfo()
- 呼出しパス・メッセージ・モニタリング属性を受信するルーチン。
int tpgetcallinfo(const char *msg, FBFR32 **obuf, long flags)
tpgetcallinfo()
は、呼出しパス・モニタリングにのみ使用されます。次のパラメータをサポートしています。
msg
obuf
flags
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 */
......
}
![]() ![]() ![]() |