1 つ以上の出力先にイベントを出力します。
構文:
call "CBL_CTF_TRACE" using by value flags
by reference component-id
by reference trace-event
returning status-code
パラメーター
- flags
- 呼び出しプロトタイプ:cblt-x4-comp5
- PIC:pic x(4) comp-5
- component-id
- 呼び出しプロトタイプ:pic x(n)
- PIC:pic x(n)
- trace-event
- cblt-trc-event として定義されている集団 (以下を含む)
01 cblt-trc-event typedef.
03 cblte-trcevt-version cblt-x4-comp5. *> pic x(4) comp-5.
03 cblte-trcevt-flags cblt-x4-comp5. *> pic x(4) comp-5.
03 cblte-trcevt-event-id cblt-x4-comp5. *> pic x(4) comp-5.
03 cblte-trcevt-level cblt-x4-comp5. *> pic x(4) comp-5.
03 cblte-trcevt-data-count cblt-x4-comp5. *> pic x(4) comp-5.
03 cblte-trcevt-event-len cblt-pointer. *> pointer
03 cblte-trcevt-event-type cblt-pointer. *> pointer
03 cblte-trcevt-event-data cblt-pointer. *> pointer
- status-code
- 「説明の読み方」を参照。
入力パラメーター:
- flags
- 制御フラグ:
- ビット 0 から 11
- 将来使用するために予約されています。値は常に 0 です。
- ビット 12
-
値 |
意味 |
0 |
コンポーネントでトレースが有効になっており、cblte-trcevt-level で指定されたイベント レベルがコンポーネントに対して構成されたトレース レベル以上である場合にのみイベント データを出力します。 |
1 |
コンポーネントでトレースが有効になっている場合に常にイベントを出力します。cblte-trcevt-level およびコンポーネントに対して構成されたトレース レベルは無視されます。 |
- ビット 13
-
値 |
意味 |
0 |
cblte-trcevt-event-data は、さまざまなサイズおよびタイプのデータをトレースするためのポインターの配列です。cblte-trcevt-event-len 配列および cblte-trcevt-event-type 配列の対応する要素を定義する必要があります。 |
1 |
cblte-trcevt-event-data は、同じサイズおよびタイプのデータをトレースするためのポインターの配列です。cblte-trcevt-event-len および cblte-trcevt-event-type の最初の要素のみを定義する必要があります。 |
- ビット 14 から 29
- 将来使用するために予約されています。値は常に 0 です。
- ビット 30
-
値 |
意味 |
0 |
component-id は空白文字で終了します。 |
1 |
component-id は null で終了します。ビット 31 を設定していない場合は無視されます。 |
- ビット 31
-
値 |
意味 |
0 |
component-id は、CBL_CTF_TRACER_GET の呼び出しから返される pic x(4) comp-5 トレーサー ハンドルです。 |
1 |
component-id は、pic x(n) テキスト文字列です。文字列の終了文字はビット 30 で定義されます。 |
- component-id
- コンポーネント識別子。flags のビット 31 が設定されていない場合は pic x(4) comp-5 トレーサー ハンドル (CBL_CTF_TRACER_GET から取得)、flags のビット 31 が設定されている場合は pic x(n) テキスト識別子になります。
- cblte-trcevt-version
- 構造体のバージョン。値は常に 0 です。
- cblte-trcevt-flags
- 制御フラグ。値は常に 0 です。
- cblte-trcevt-event-id
- 出力されるイベントのタイプを識別するために使用される、コンポーネントに固有のイベント識別子。
- cblte-trcevt-event-level
- 出力されるイベントのトレース レベル。
- cblte-trcevt-data-count
- トレース データ項目の数。cblte-trcevt-event-len 配列、cblte-trcevt-event-type 配列、および cblte-trcevt-event-data 配列の要素数を示します。0 にすることもできます。
- cblte-trcevt-event-len
- 4 バイトの comp-5 項目の配列へのポインター。配列の各要素は、cblte-trcevt-event-data 配列内の対応するトレース データ項目の長さを示します。cblte-trcevt-data-count が 0 の場合は NULL にできます。
- cblte-trcevt-event-type
- 4 バイトの comp-5 項目の配列へのポインター。配列の各要素は、cblte-trcevt-event-data 配列内の対応するトレース データ項目のタイプを示します。cblte-trcevt-data-count が 0 の場合は NULL にできます。
値 |
型 |
0 |
バイナリ |
1 |
テキスト (ローカル エンコーディング) |
2 |
アドレス |
3 |
COMP-5 |
4 |
COMP-X |
5 |
UTF8 |
6 |
符号付き COMP-5 |
7 |
符号付き COMP-X |
上記以外の値は、タイプ 0 (バイナリ) として扱われます。
- cblte-trcevt-event-data
- ポインター項目の配列へのポインター。配列の各要素は、cblte-trcevt-event-type 配列および cblte-trcevt-event-len 配列内の対応する要素によって示されるタイプと長さのトレース データ項目のアドレスを指定します。cblte-trcevt-data-count が 0 の場合は NULL にできます。
- アドレス タイプの項目の場合、配列要素は、アドレス値へのポインターではなくアドレス値です。
出力パラメーター:
- status-code
- 次のいずれかになります。
- 78-CTF-RET-INVALID-COMPONENT-NAME
- 78-CTF-RET-INVALID-TRACE-HANDLE
- 78-CTF-RET-INVALID-TRACE-LEVEL
- 78-CTF-RET-NOT-ENOUGH-MEMORY
- 78-CTF-RET-NOT-TRACE-ENABLED
- 78-CTF-RET-NOT-TRACING-LEVEL
- 78-CTF-RET-OUTPUT-ERROR
- 78-CTF-RET-SUCCESS
例:
copy "cbltypes.cpy".
copy "mfctf.cpy".
78 78-EVENT-TYPE-A value 1.
78 78-EVENT-TYPE-B value 2.
01 component-id pic x(7) value "mycomp ".
01 flags pic x(4) comp-5.
01 trace-event cblt-trc-event.
01 trace-event-lengths pic x(4) comp-5 occurs 1.
01 trace-event-pointers pointer occurs 1.
01 trace-event-types pic x(4) comp-5 occurs 1.
01 trace-info pic x(10).
01 tracer-handle pic x(4) comp-5.
...
move low-values to trace-event
set cblte-trcevt-event-len of trace-event to
address of trace-event-lengths(1)
set cblte-trcevt-event-type of trace-event to
address of trace-event-types(1)
set cblte-trcevt-event-data of trace-event
to address of trace-event-pointers(1)
*> 1) Acquire a tracer handle to trace "mycomp" component events,
*> then output two informational events; one with event data,
*> one without.
call "CBL_CTF_TRACER_GET" using by value 0
by reference component-id
by reference tracer-handle
...
move 0 to flags
move 78-CTF-FLAG-LEVEL-INFO to cblte-trcevt-level of trace-event
move 78-EVENT-TYPE-A to cblte-trcevt-event-id of trace-event
move 1 to cblte-trcevt-data-count of trace-event
move length of trace-info to trace-event-lengths(1)
move 78-TRACE-EVENT-TYPE-TEXT to trace-event-types(1)
set trace-event-pointers(1) to address of trace-info
call "CBL_CTF_TRACE" using by value flags
by reference tracer-handle
by reference trace-event
...
move 78-EVENT-TYPE-B to cblte-trcevt-event-id of trace-event
move 0 to cblte-trcevt-data-count of trace-event
call "CBL_CTF_TRACE" using by value flags
by reference tracer-handle
by reference trace-event
...
*> 2) Output two informational events for the "mycomp" component
*> without acquiring a tracer handle
...
move 78-CTF-FLAG-COMPID-STRING to flags
move 78-CTF-FLAG-LEVEL-INFO to cblte-trcevt-level of trace-event
move 78-EVENT-TYPE-A to cblte-trcevt-event-id of trace-event
move 1 to cblte-trcevt-data-count of trace-event
move length of trace-info to trace-event-lengths(1)
move 78-TRACE-EVENT-TYPE-TEXT to trace-event-types(1)
set trace-event-pointers(1) to address of trace-info
call "CBL_CTF_TRACE" using by value flags
by reference component-id
by reference trace-event
...
move 78-EVENT-TYPE-B to cblte-trcevt-event-id of trace-event
move 0 to cblte-trcevt-data-count of trace-event
call "CBL_CTF_TRACE" using by value flags
by reference component-id
by reference trace-event
...
説明:
CBL_CTF_TRACE() は、cblte-trcevt-event-id で識別される指定のイベントを、level で指定されたイベント レベルがコンポーネントに対して構成されたレベル以上である場合に 1 つ以上の出力先に出力します。