|
Oracle TSAM リファレンス ガイドは、Oracle TSAM ソフトウェアに付属のシステム処理およびコマンドについて説明します。
tpgetcallinfo()
— 呼び出しパス モニタのメッセージのモニタ属性を取得するためのルーチン
int tpgetcallinfo(const char *msg, FBFR32 **obuf, long flags)
tpgetcallinfo()
は Oracle TSAM API であり、呼び出しパス モニタにのみ使用されます。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]
#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 ロジック */
#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;
/* metainfo スペースの割り当て */
metainfo = tpalloc("FML32", NULL, 1024);
if (metainfo == NULL ) {
userlog("Memory allocation failed");
tpreturn(TPFAIE, 0, 0, 0);
}
/* モニタ属性の取得 */
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);
/* 残りのサービス プロセス */
ツーツヲ ツーツヲ
}
LMS — Oracle TSAM エージェント ローカル モニタ サーバ
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 は、Oracle TSAM エージェントの Tuxedo サーバです。LMS では、次の機能が提供されます。
Oracle TSAM フレームワークによって収集されたパフォーマンス メトリクスは、プラグインに渡されます。Oracle TSAM のデフォルト プラグインは、Tuxedo サービス インフラストラクチャを使用して LMS にデータを送信します。
LMS は、適切なオプションを使用して UBBCONFIG ファイルに設定する必要があります。1 つの Tuxedo マシンにデプロイできる LMS は 1 つだけです。
-l
注意 : | tsam/dataserver は、データ サーバ アドレスです。tsam/dataserver を変更しないよう強くお勧めします。 |
TUXENV(5)
環境変数リスト内の TMUSEIPV6
を参照してください。
-x
[1001 ~ 999999]
です。Oracle TSAM のデフォルト プラグインから送信されるメッセージは、まずキューに格納されます。システム負荷が大きい場合、キューで大量のメモリが消費されている可能性があります。「-x
」オプションを使用すると、LMS で使用されるメモリ量を調整できます。デフォルトは 100000
です。
-t
[1 ~ 60]
です。デフォルト値は 30 秒です。
-e
[1 ~ 65535]
です。デフォルト値は、-t
の値と同じです。警告メッセージは、これまでの間隔で失われたメッセージ数を報告します。
TM_MON_REPORT_LOG
LIBTUX_CAT:6774: WARN: LMS
現在、サーバは使用不可能です。
注意 : | TM_MON_REPORT_LOG を手動で設定する必要があります。 |
TM_MON_REPORT_LOG
の範囲は、[0 ~ 65535] (秒) です。時間は、60 秒です。TM_MON_REPORT_LOG=0
は、警告メッセージが無効であることを示します。
...
*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”
...
注意 : | 複数のマシンによって 1 つの LMS を使用することができますが、ネットワークの帯域幅を消費し、BRIDGE のコンピューティング サイクルを拡張することになります。Tuxedo アプリケーションのパフォーマンス全体に大きな影響がでる可能性があります。 |