リファレンス・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

TSAM Plusコマンド・リファレンス

Oracle TSAM Plusリファレンス・ガイドは、Oracle TSAM Plusソフトウェアに付属のシステム処理およびコマンドについて説明します。

表1に、Oracle TSAM Plusのシステム処理とコマンドのリストを示します。

表1 Oracle TSAM Plusのシステム処理およびコマンド
名前
説明
Oracle TSAM Plusエージェント・ローカル・モニター・サーバー
呼出しパス・メッセージ・モニタリング属性を受信するルーチン

 


LMS (ローカル・モニター・サーバー)

名前

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サーバーです。次の機能を提供します:

LMSは、適切なオプションを使用してUBBCONFIGファイルに構成する必要があります。1つのTuxedoマシンに1つのLMSを構成する必要があります。1つのマシン上の複数LMSはサポートされません。LMSは、Tuxedoドメインが起動したときにすべてのサーバー情報を取得できるように、UBBCONFIGの末尾に構成することをお薦めします。その場合も、LMSは、構成を定期的にTSAM Plusマネージャに同期できます。

オプション

-l

必須パラメータです。このパラメータの後に、1つまたは2つのOracle TSAM Plusマネージャ・データ・サーバーのアドレスが続きます。Oracle TSAM Plusマネージャのインストールに基づき、ホスト・アドレスおよびポート番号が設定されます。書式は次のとおりです。
host:port/tsam
2つのTSAM Plusマネージャ・アドレスを指定する場合は、カンマ区切り(,)を使用します。 2つのアドレスが指定されたイベントでは、TSAM Plusエージェントは常に1つ目のアドレスに最初に接続し、1つ目のアドレスに接続できない場合にバックアップ・アドレスへの接続を試行します。 接続が切断されるたびに、TSAM Plusエージェントは常に1つ目のアドレスに最初に接続を試行します。
注意: 2つのTSAM Plusマネージャ・アドレスの構成は、TSAM Plus 12.1.1.1以上でサポートされています。

-m

オプションのパラメータ。未処理データのメトリックを格納するために使用される共有メモリーのサイズを指定します。オプションの末尾の文字kまたはmは、KBまたはMBを意味します。どちらでもない場合、単位はバイトです。有効な値は4Kサイズまで切り上げられます。大部分のプラットフォームで、ページ・サイズがそのサイズだからです。
このオプションが存在しない場合、デフォルト値は10MBです。新しいデータを格納する空き領域がない場合、共有メモリーのサイズは実行時に増大しません。この事例では、最も古いデータが、新しいデータで上書きされます。

-r

TSAMエージェントがTSAMマネージャとの接続に失敗した状態の場合の、再接続までの最大スリープ時間(ミリ秒単位)を指定します。デフォルト値は60,000ミリ秒です。

-t

オプションのパラメータ。LMSが構成同期を使用してOracle TSAM Plusマネージャに接続する間隔を秒で指定します。デフォルト値は100秒です。

-n

オプションのパラメータ。TSAM Plus 12.1.1.1以上で導入されています。リクエストごとにTSAM PlusエージェントによりTSAM Plusマネージャへ送信されるモニタリング・データの量を指定します。値の有効範囲は1から100までで、デフォルト値は16です。100よりも大きい値を構成する場合は、100を使用します。

リスト1-1に、UBBCONFIG内のLMSを表示します。

リスト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

名前

tpgetcallinfo() - 呼出しパス・メッセージ・モニタリング属性を受信するルーチン。

シノプシス

int tpgetcallinfo(const char *msg, FBFR32 **obuf, long flags)

説明

tpgetcallinfo()は、呼出しパス・モニタリングにのみ使用されます。次のパラメータをサポートしています。

msg

測定に使用される型付きバッファ。

obuf

フィールドを使うために使用されるFML32バッファ。

flags

将来使用するために予約されたフィールド。

tpgetcallinfo()では、呼出しパス・モニターを有効にした場合、メッセージ・モニター属性が取得されます。

tpgetcallinfo()は、幅広い機能を実行するために様々なシナリオで使用できます。一般的な使用目的は、以下のとおりです。

表 2は、FMLモニター・メトリック・フィールド名のリストです。

表2 モニター・イニシエータ・フィールド名
フィールド名
説明
サービス
モニタリング
イニシエータ
TA_MONCORRID
文字列
モニターされる呼出しの相関ID。重要な呼出しパス・モニタリング・メトリックです。
Y
Y
TA_MONLASTTIMESEC
long
呼出しパス・ツリーにおける最後の停止のタイムスタンプ。単位は秒です。
Y
Y
TA_MONLASTTIMEUSEC
long
呼出しパス・ツリーにおける最後の停止のタイムスタンプ。単位はマイクロ秒です。
Y
Y
TA_MONSTARTTTIMESEC
long
モニタリング・イニシエータが呼出しを開始したときのタイムスタンプ。単位は秒です。
Y
Y
TA_MONSTARTTIMEUSEC
long
モニタリング・イニシエータが呼出しを開始したときのタイムスタンプ。単位はマイクロ秒です。
Y
Y
TA_MONCLTADDR
文字列
ワークステーション・クライアントのアドレス
Y
N
TA_MONTOTALTIME
long
モニター対象の呼出しに対して使用されるエンド・ツー・エンド時間。単位は、ミリ秒です。
N
Y
TA_ECID
文字列
実行コンテキストのID
Y
Y

戻り値

モニタリング属性を含むFML32バッファの取得に成功すると、0が返されます。

エラーが発生すると、tpgetcallinfo()は -1を返し、tperrnoを設定してエラー条件を示します。

エラー

エラーが発生すると、tpgetcallinfo()tperrnoを次のいずれかの値に設定します。

[TPEINVAL]

無効な引数が指定されました(たとえば、msgがNULLである場合、あるいはobufが無効なFML32バッファである場合など)。

[TPESYSTEM]

メッセージ入力にモニタリング属性が含まれていません。これは、メッセージに対して呼出しパス・モニタリングをオンにしていないためです。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

リスト1-1は、サービス側tpgetcallinfoの例です。

リスト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 */
       ......
}

  先頭に戻る       前  次