9.4.4 稼働情報編集UOC
機能
システム分析支援リアルタイムモニタに送信する稼働情報にユーザ任意の情報を付加できます。
形式
#include <esplg_uoc.h> ESLONG uoc_func(ESPLG_UOC_RTM *parm)
「uoc_func」部分には、システム内で一意の名称を指定してください。
説明
要求電文と応答電文がそろったときに呼び出されるUOCです。
パラメタの内容
ESPLG_UOC_RTMのパラメタ内容
typedef struct es_plg_uoc_rtm { ESULONG run_mode; ………………実行形態 ESULONG protocol;…………………プロトコル種別 ESULONG error_inf;……………… エラー情報 char reserve1[4];……………予備領域 ESCOM_AREA usr_clt_area;……………未使用 char usr_clt_area_state;……未使用 char reserve2[7];…………… 予備領域 ESCOM_AREA ext_request;…………… 要求電文の情報 ESPLG_UOC_TELSIZE ext_request_size;… 要求電文のサイズ ESCOM_AREA ext_reply;………………応答電文の情報 ESPLG_UOC_TELSIZE ext_reply_size;……応答電文の電文長 ESLONG user_code;………………ユーザ情報コード char user_system[32];………システム名 char user_info[128];……… ユーザ情報文字列 char *protoinf; ……………プロトコル情報 char analysis_key1[33];…… 分析キー情報1 char analysis_key2[33];…… 分析キー情報2 char reserve[54];……………予備領域 } ESPLG_UOC_RTM;
es_com_area(ESCOM_AREA)の内容
typedef struct es_com_area { ESULONG size; …………………領域サイズ char reserve[4]; ………………予備領域 char *data; ………………… 領域先頭アドレス } ESCOM_AREA;
ESPLG_UOC_TELSIZEの内容
typedef union { ESPLG_UOC_TCPSIZE tcp_size; ………… TCP電文サイズ形式 ESPLG_UOC_HTTPSIZE http_size; ………… HTTP電文サイズ形式 } ESPLG_UOC_TELSIZE;
es_plg_proto_iiop(ESPLG_PROTO_IIOP)の内容
typedef struct es_plg_proto_iiop { char protoinf_type; …………… プロトコル情報種別 char req_byte_order; …………… 要求電文バイトオーダ char rpy_byte_order; …………… 応答電文バイトオーダ char reserve1[5]; …………… 予備領域 char *object_key; …………… オブジェクトキー ESULONG object_key_size; …………… オブジェクトキーサイズ char reserve2[4]; …………… 予備領域 char *operation; …………… オペレーション名 ESULONG operation_size; …………… オペレーション名サイズ char reserve3[4]; …………… 予備領域 void *req_service_context;……… 要求電文サービスコンテキスト ESULONG req_service_context_size; … 要求電文サービスコンテキストサイズ char reserve4[4]; …………… 予備領域 void *rpy_service_context;……… 応答電文サービスコンテキスト ESULONG rpy_service_context_size; … 応答電文サービスコンテキストサイズ char reserve5[4]; …………… 予備領域 ESULONG reply_status; …………… リターン値 char system1; ………………… 製品情報1 char system2; ………………… 製品情報2 char system3; ………………… 製品情報3 char reserve6[49]; ………… 予備領域 } ESPLG_PROTO_IIOP;
es_plg_proto_rpc(ESPLG_PROTO_RPC)の内容
typedef struct es_plg_proto_rpc { ESLONG protocol_type; …… プロトコル種別詳細 ESLONG rpc_model; …… RPC形態 char group[32]; …… サービスグループ名 char service[32]; …… サービス名 ESLONG rtncode; …… リターン値 ESULONG root_number; …… 製品情報 ESULONG client_number; …… 製品情報 char root_nodeid[5]; …… 製品情報 char client_nodeid[5]; …… 製品情報 char server_nodeid[5]; …… 製品情報 char reserve[29]; …… 予備領域 } ESPLG_PROTO_RPC;
システム検証支援基盤が設定するパラメタ項目
■es_plg_uoc_rtmのパラメタ項目
- run_mode
-
システム分析支援の実行形態を設定します。
ESFRW_RUNMODE_CREATE_A:システム分析支援リアルタイムモニタ連携
- protocol
-
電文のプロトコル種別を設定します。
ESFRW_PROT_TCP:TCP
ESFRW_PROT_HTTP:HTTP
ESFRW_PROT_IIOP:IIOP
ESFRW_PROT_RPC:RPC
- error_inf
-
要求電文受信後に発生したエラー情報を設定します。
- ESFRW_ERROR_NONE
-
エラーなし
- ESFRW_ERROR_RECV_TIMEOUT
-
応答待ちタイムアウトによる受信不可
コネクション切断、およびパケットロストを含みます。
- ESFRW_ERROR_RECV_PROTO
-
プロトコルレベルのエラー検知
IIOPプロトコルの場合、応答電文のリプライステータスがユーザ例外、システム例外を含みます。
RPCプロトコルの場合、応答電文のリターン値が0以外を含みます。
- ext_request
-
要求電文のサイズと先頭アドレスを設定します。
- ext_request_size
-
プロトコルに応じて電文のサイズをESPLG_UOC_TELSIZE形式で設定します。
ESPLG_UOC_TELSIZE形式については「ESPLG_UOC_TELSIZEの内容」を参照してください。
- ext_reply
-
応答電文のサイズと先頭アドレスを設定します。応答電文がないときは、サイズが0となります。
- ext_reply_size
-
プロトコルに応じて電文のサイズをESPLG_UOC_TELSIZE形式で設定します。
ESPLG_UOC_TELSIZE形式については「ESPLG_UOC_TELSIZEの内容」を参照してください。
- protoinf
-
プロトコル情報の領域アドレスを設定します。
プロトコル種別がESFRW_PROT_IIOPの場合:ESPLG_PROTO_IIOP形式で設定します。
プロトコル種別がESFRW_PROT_RPCの場合:ESPLG_PROTO_RPC形式で設定します。
その他:参照できません。
■es_plg_proto_iiopのパラメタ項目
- protoinf_type
-
ESPLG_PROTO_IIOPに設定するプロトコル情報の種別を論理和で設定します。
ESPLG_IIOP_MSG_REQUEST:Request電文情報あり
ESPLG_IIOP_MSG_REPLY:Reply電文情報あり
- req_byte_order
-
要求電文のバイトオーダを設定します。
ESPLG_IIOP_BIG_ENDIAN:ビッグエンディアン
ESPLG_IIOP_LITTLE_ENDIAN:リトルエンディアン
- rpy_byte_order
-
応答電文のバイトオーダを設定します。
ESPLG_IIOP_BIG_ENDIAN:ビッグエンディアン
ESPLG_IIOP_LITTLE_ENDIAN:リトルエンディアン
- object_key※1
-
オブジェクトキーの格納領域アドレスを設定します。
- object_key_size※1
-
オブジェクトキーのサイズを設定します。
- operation※1
-
オペレーション名の格納領域アドレスを設定します。
- operation_size※1
-
オペレーション名のサイズを設定します。
- req_service_context※1 ※3
-
要求電文のサービスコンテキストの格納領域アドレスを設定します。
サービスコンテキストの形式は、OMGで規定されているIOP::ServiceContextListとなります。
- req_service_context_size※1
-
要求電文のサービスコンテキストサイズを設定します。
サイズが0の場合、要求電文サービスコンテキストは参照できません。
- rpy_service_context※2 ※3
-
応答電文のサービスコンテキストの格納領域アドレスを設定します。
サービスコンテキストの形式は、OMGで規定されているIOP::ServiceContextListとなります。
- rpy_service_context_size※1 ※2
-
応答電文のサービスコンテキストサイズを設定します。
サイズが0の場合、応答電文サービスコンテキストは参照できません。
- reply_status※2
-
応答電文のリプライステータス(reply_status)を設定します。
ESPLG_IIOP_NO_EXCEPTION:NO_EXCEPTION(正常応答)
ESPLG_IIOP_USER_EXCEPTION:USER_EXCEPTION(ユーザ例外)
ESPLG_IIOP_SYSTEM_EXCEPTION:SYSTEM_EXCEPTION(システム例外)
- 注※1
-
プロトコル情報種別にESPLG_IIOP_MSG_REQUESTが設定されているときだけ参照できます。
- 注※2
-
プロトコル情報種別にESPLG_IIOP_MSG_REPLYが設定されているときだけ参照できます。
- 注※3
-
各電文のバイトオーダを考慮して参照してください。
■es_plg_proto_rpcのパラメタ項目
- protocol_type
-
プロトコル種別の詳細を設定します。
ESPLG_PROT_RPC_TYPE_RPC:RPCプロトコル
ESPLG_PROT_RPC_TYPE_RAP:RAPプロトコル
- rpc_model
-
RPC形態(RAPの場合はdc_rpc_callの代理実行形態)を設定します。
ESPLG_PROT_RPC_MODEL_NOFLAGS:同期応答型
ESPLG_PROT_RPC_MODEL_NOWAIT:非同期応答型
ESPLG_PROT_RPC_MODEL_NOREPLY:非応答型
- group
-
要求先のサービスグループ名を設定します。
- service
-
要求先のサービス名を設定します。
- rtncode
-
応答電文のリターン値を設定します。
ユーザが設定するパラメタ項目
- user_code
-
ユーザ任意のコードを-2147483648 ~ 2147483647の範囲で設定してください。
- user_system
-
次に示す機能でシステム名を使用する場合に、英数字で設定してください。
-
システム分析支援リアルタイムモニタのダッシュボード画面
-
稼働情報抽出ユティリティ
-
esrtmstced(稼働情報のファイル出力)
製品では英数字かどうかをチェックしません。英数字以外を設定した場合、上記機能が正常に動作しないことがあります。
文字列の最後にはnull文字を設定してください。null文字がない場合、32バイト目をnull文字に置換します。
システム名の指定がなく、かつシステム分析支援リアルタイムモニタのsystem_nameプロパティに指定がないときは、次のように設定します。
プロトコル種別がESFRW_PROT_TCPの場合:TCP
プロトコル種別がESFRW_PROT_HTTPの場合:HTTP
プロトコル種別がESFRW_PROT_IIOPの場合:IIOP
プロトコル種別がESFRW_PROT_RPCの場合:サービスグループ名
-
- user_info
-
システム分析支援リアルタイムモニタの画面に出力したいユーザ任意の文字列を設定してください。
文字列にはASCII文字を設定してください。ASCII文字以外を設定した場合、画面に正しく表示されないことがあります。
文字列の最後にはnull文字を設定してください。null文字がない場合、128バイト目をnull文字に置換します。
- analysis_key1
-
次に示す機能で分析キー情報を使用するときに、文字列で設定してください。
-
稼働情報抽出ユティリティ
-
esrtmstced(稼働情報のファイル出力)
文字列の最後にはnull文字を設定してください。null文字がない場合、33バイト目をnull文字に置換します。
-
- analysis_key2
-
次に示す機能で分析キー情報を使用するときに、文字列で設定してください。
-
稼働情報抽出ユティリティ
-
esrtmstced(稼働情報のファイル出力)
文字列の最後にはnull文字を設定してください。null文字がない場合、33バイト目をnull文字に置換します。
-
リターン値
次のコードでリターン値を設定してください。
- ESPLG_UOC_OK
-
アラート検知機能によって、アラート検知画面への出力有無を決定します。
- ESPLG_UOC_MSG_DESTRUCT
-
電文を破棄します。
- ESPLG_UOC_NG
-
アラート検知対象として、アラート検知画面にトランザクションの稼働情報を出力します。
- 上記以外
-
ESPLG_UOC_NGと同じ動作をします。
注意事項
-
電文を編集した場合、その後の処理の保証はしません。
-
プロトコル種別がESFRW_PROT_IIOP、およびESFRW_PROT_RPCのときは、プロトコルヘッダ部を参照しないでください。
-
次のシステム名はシステム分析支援リアルタイムモニタのwatch_system_nameプロパティに指定できないため、指定しないことを推奨します。
ALL_SYSTEM
OTHER_SYSTEM