|
|
tmtrace(5)
名前
tmtrace-実行時トレーシング機能
機能説明
実行時トレーシング機能を使用すると、アプリケーション管理者および開発者は、BEA Tuxedo アプリケーションの実行をトレースできます。
実行時トレーシングは、アプリケーション実行時の注意すべき条件または遷移をマークする、trace point の概念に基づいています。トレース・ポイントの例としては、tpcall などの ATMI 関数へのエントリ、BEA Tuxedo メッセージの到達、またはトランザクションの開始があります。
トレース・ポイントに到達すると、次のことが発生します。まず、filter が適用され、トレース・ポイントを処理すべきかどうかを決定します。トレース・ポイントを処理すべき場合は、trace record が receiver に発行されます。receiver はファイルか (将来は) バッファです。最後に、プロセスの中止などの action が起動されます。レシーバへの発行およびトリガーはどちらもオプションであり、トレース・ポイントがフィルタを通らない場合には発生しません。
フィルタ、レシーバ、およびトリガーは、trace specification で指定します。構文について以下に記述します。トレース指定は、TMTRACE 環境変数から初期化されます。実行中のプロセスのトレース指定は、トリガー・アクションによってか、tmadmin(1) の changetrace コマンドを使用することで変更されます。
トレース・ポイントは、以下に列挙するような trace categories に分類されます。各トレース・ポイントは 1 つのカテゴリに属します。フィルタは、処理するトレース・カテゴリを記述し、フィルタを通らないトレース・ポイントには最小限の処理が行われます。
また、実行時トレーシングは、クライアントがサーバに送信したメッセージ ( またはそのサーバから他のサーバへ) を dye 設定する機能を提供します。プロセスがメッセージをダイ設定するように選択した場合、発信元プロセスによってダイ設定が自動的に、発信元プロセスから直接または間接的にメッセージを受信するすべてのプロセスに渡されます。プロセスがダイ設定されたメッセージを受け取ると、atmi トレース・カテゴリが自動的にオンになり、ユーザ・ログへのトレース・レコードの発行が開始されます (発行が行われていなかった場合)。
ダイ設定は、トレース指定の dye トリガーおよび undye トリガーによって明示的にオンまたはオフにできます。また、ダイ設定は、ダイ設定されたメッセージが受信されたときに暗黙的にオンになり、tpreturn() および tpforward() によって暗黙的にオフにできます。ダイ設定が暗黙的にオフされた場合、ダイ設定がオンであったときに有効であったトレース指定が復元されます。
トレース・カテゴリ
トレース・カテゴリは、次のとおりです。
トレース指定
トレース指定は、filter-spec:receiver-spec [ : trigger-spec] の構文で指定する文字列です。ここで、filter-spec は、検査または無視するトレース・カテゴリを記述します。receiver-spec は、トレース・レコードのレシーバです。オプションの trigger-spec は、実行するアクションを記述します。
ヌル文字列も正規のトレース指定です。ヌル文字列は、他の指定がない場合の、すべての BEA Tuxedo プロセスのデフォルトです。
文字列 on および off も指定できます。on は atmi:ulog:dye のエイリアスで、off は ::undye と等価です。
フィルタ指定
トレース指定の最初の要素である、フィルタ指定は次の構文を使用します。
[ { + | - } ] [ category ] ...
ここで、category は、上記にリストしたカテゴリの 1 つです。category の位置に記号 * を使用して、すべてのカテゴリを表すことができます。接頭辞 + または - は、後続のカテゴリを、現在有効なカテゴリのセットに追加または取り出すことを指定します。+ または - の次にカテゴリがない場合、現在有効なカテゴリは変更されません。
空のフィルタの場合は、選択するカテゴリがないという意味で、トレーシングを使用不可にしています。
トレース・ポイントが発生すると、そのカテゴリがフィルタ指定と比較されます。カテゴリがフィルタ指定に含まれている場合、トレース・ポイントは、レシーバおよびトリガー指定に従ってさらに処理されます。カテゴリが含まれていない場合、トレース・ポイントの処理はこれ以上発生しません。
レシーバ指定
レシーバは、トレース・レコードが送信されるエンティティです。各トレース・レコードには最大 1 つのレシーバがあります。
トレース指定の 2 番目の要素である、レシーバ指定は次の構文を使用します。
[/ regular-expression /] receiver
ここで、オプションの正規式を使用して、フィルタを通るトレース・ポイントのサブセットを選択することもできます。正規式は、トレース・レコードと一致します。空のレシーバ指定も正当であり、この場合、トレース・レコードは発行できません。
現在、receiver の唯一有効な値は次のとおりです。
トリガー指定
トリガーは、トレース・レコードが発行された後に実行されるオプションのアクションです。多くて 1 つのアクションが、フィルタを渡す各トレース・レコードのために実行されます。
トレース指定の3つめの部分であり、オプションのトリガー指定は次の構文を使用します。
[/ regular-expression /] action
ここで、オプションの正規式を使用して、フィルタを通るトレース・ポイントのサブセットのためだけに実行するように、トリガーを制限できます。正規式は、トレース・レコードと一致します。
使用可能なアクションは、次のとおりです。
トレース・レコード
トレース・レコードは、次の形式の文字列です。
cc:data
ここで、cc はトレース・カテゴリの最初の 2 文字で、data はトレース・ポイントに関する追加情報を含みます。
トレース・レコードがユーザ・ログに表示されるとき、その行は次のようになります。
hhmmss.system-name!process-name.pid:TRACE:cc:data
注意事項
MAC プラットフォームで動作するワークステーション・クライアントのレシーバやトリガに対しては、マッチ・パターンを指定することはできません。
tmadmin changetrace コマンドは、/WSクライアントに対するトレース・レベルを変更するために使用することはできません。
使用例
クライアントをトレースするには、そのクライアントのために、アプリケーション・サーバによって作成されたすべての ATMI 呼び出しをトレースするほかに、クライアントの環境に次のように設定しエクスポートします。TMTRACE=on この指定は、クライアント内のすべてのトレース・ポイントを記録し、メッセージのダイ設定をオンにします。クライアントのためにサービスを実行するアプリケーション・サーバ・プロセスは、自動的にすべての ATMI トレース・ポイントを記録します。
前述の例で、クライアントからのサービス要求をトレースして、クライアントからの出力のトレースを、それらの要求についての最低限の情報に制限するには、クライアントの環境に次のように設定しエクスポートします。
TMTRACE="*:ulog:dye:"
前述の例で、クライアントからのサービス要求はトレースし、クライアントからの出力のトレースを tpcall 要求についての最低限の情報に制限するには、次のように設定しエクスポートします。
TMTRACE=atmi:/tpacall/ulog:dye
この指定は、クライアントで行われるすべての tpacall 呼び出しを記録し、メッセージのダイ設定をオンにします。クライアントのためにサービスを実行するアプリケーション・サーバ・プロセスは、自動的にすべての ATMI トレース・ポイントを記録します。tpacall() トレース・レコードに含まれるクライアントの識別子は、クライアントのために呼び出されたサービス・ルーチンに渡される TPSVCINFO パラメータの値と相互に関連させることができます。
アプリケーション・サーバによって実行されたすべてのサービス要求の呼び出しをトレースするには、参加しているすべてのマシン上にあるサーバ ENVFILE 内に次のように設定します。
TMTRACE=atmi:/tpservice/ulog
メッセージのダイ設定をオンにして、アプリケーションを通してすべてのトレース・カテゴリの実行時トレーシングを使用可能にするには、すべてのクライアントの環境および参加しているすべてのマシン上の、マシン ENVFILE 内に次のように設定しエクスポートします。
TMTRACE=*:ulog:dye
この設定では、BBL および DBBL を含むすべてのプロセスがトレース・レコードを発行するので、管理できない量の出力が生成される可能性があります。
グループ GROUP1 内の実行中のすべてのサーバで、ブート後に ATMI のトレーシングをオンにするには、次のように tmadmin の changetrace コマンドを呼び出します。
changetrace -g GROUP1 on
changetrace は現在存在しているプロセスに対してのみ影響します。つまり、グループ GROUP1 内で起動していないサーバのトレース・コンフィギュレーションは変更されません(サーバのデフォルトのトレース・コンフィギュレーションを設定するには、サーバの ENVFILE 内に TMTRACE を設定します)。
現在実行中のすべてのアプリケーション・プロセスでトレーシングをオフにするには、次のように changetrace を使用します。
changetrace -m all off
グループ GROUP1 内で識別子が 1 である、実行中のサーバ・プロセスを、tpreturn を実行したときに中止するには、tmadmin に対して次のように指定します。
changetrace -i 1 -g GROUP1 "atmi::/tpreturn/abort"
関連項目
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|