トレースの開始とトレース・バッファの参照

新しいトレースは、ttTraceMon datastoreを指定して開始します。たとえば、database1データベースでトレースを開始するには、次のように入力します。

%  ttTraceMon database1
Trace monitor; empty line to exit
Trace >

Traceプロンプトで、トレース・タイプとそのレベルを指定します。たとえば、レベル3でSQLコンポーネントのトレースを開始するには、次のように入力します。

Trace > level sql 3

この時点で、アプリケーションを実行でき、TimesTenのトレース情報がトレース・バッファに書き込まれます。トレース・バッファの内容を読み取るには、次の2つの方法があります。

  • Traceプロンプトで、outfileコマンドを使用して、トレース・バッファのデータを出力するファイルを指定します(アプリケーションの実行前に行う必要があります)。これは、アプリケーションを実行する前に行う必要があります。トレース情報がファイルに書き込まれるとき、新しいトレース情報はファイルの既存の内容に連結されます。

  • Traceプロンプトで、dumpコマンドを使用してトレース・バッファ・データを画面に表示します。

ノート:

トレース・バッファには、新しいトレースごとに内容が累積されます。トレース・バッファを消去するには、ttTraceMonプロンプトでflushコマンドを使用します。flushコマンドを使用してコンポーネントを指定すると、特定のコンポーネントのバッファされたトレース・レコードが消去されます。

トレース・バッファから出力される各レコードの書式は次のとおりです。

timestamp   sequence   component   level   connection   processid
   operation

レコードのフィールドは次のように定義されています。

  • timestampは、操作が実行された時刻です。

  • sequenceは、トレース行を識別する連番です。

  • componentは、トレース対象のTimesTenコンポーネント(SQLAPILOCKERRなど)です。

  • levelは、そのトレース行に関連付けられたトレース・レベルです。トレース・レベルの範囲はコンポーネントによって異なりますが、すべてのコンポーネントで、最も低いトレース・レベルは冗長度が最低の出力を生成し、最も高いトレース・レベルは冗長度が最高の出力を生成します。たとえば、レベル4でSQLトレースを行うと、出力にはレベル2(prepare)、3(execute)および4(open、close、fetch)の行が含まれます。

ノート:

いくつかのコンポーネントのトレース・レベルは、連続した範囲の数値ではありません。コンポーネントでサポートされているレベルに対応しない数値を入力した場合、入力した数値より小さく、最も高いサポート・レベルでトレースが発生します。たとえば、コンポーネントのトレース・レベルが1、2、3、4、6で、5を入力すると、レベル1、2、3、4のトレース・イベントが生成されます。

  • connectionは、トレースを生成した接続を識別する内部接続IDです。この数値は、ttStatus出力で表示されるConnIDに対応しています。接続IDは、トランザクションIDの最初の要素としても使用されます。

  • processidは、トレースを生成したプロセスのオペレーティング・システム・プロセスIDです。

  • operationは、発生した操作(SQL文、API操作、エラー・メッセージなど)です。

たとえば、レベル3のSQLトレース後のトレース・バッファの行は、次のようになります。

10:39:50.231 5281 SQL 2L 1C 3914P Preparing: select cust_num from customer