3.17.3 リアルタイム統計情報の取得
リアルタイム統計情報は,RTSサービス用の共用メモリに取得されます。
リアルタイム統計情報を取得する方法には,定義で実行環境を指定する方法と,APIで任意の区間を指定する方法があります。ここでは,定義で実行環境を指定する方法について説明します。APIで任意の区間を指定する方法については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
定義で実行環境を指定したリアルタイム統計情報の取得の概要を図に示します。
-
リアルタイム統計情報サービスは,リアルタイム統計情報サービス定義およびリアルタイム取得項目定義のファイルの内容を解析します。
-
リアルタイム統計情報サービスは,RTSサービス用の共用メモリにリアルタイム統計情報の格納領域を設定します。
-
設定された格納領域には,UAPからのリアルタイム統計情報が定義に基づいて取得されます。
- 〈この項の構成〉
(1) 取得対象の指定方法
リアルタイム統計情報サービスでは,統計情報を取得する対象を指定できます。取得対象は,リアルタイム統計情報サービス定義のrtsput定義コマンドで指定します。rtsput定義コマンドで指定できる取得対象の上限数は,リアルタイム統計情報サービス定義のrts_service_maxオペランドに指定した値までです。統計情報の取得対象の詳細については,「付録E.5 リアルタイム統計情報」を参照してください。
rtsput定義コマンドのオプションの指定値と,統計情報の取得対象の組み合わせを次の表に示します。
rtsput定義コマンドのオプションの指定値 |
取得対象 |
---|---|
-u sys |
システム全体の統計情報※1 |
-u srv -s サーバ名 |
指定したサーバの統計情報※2 |
-u svc -s サーバ名 -v サービス名 |
指定したサービスの統計情報 |
-u obj -o ポート番号 -b IPアドレス |
指定したポート番号およびIPアドレスの統計情報 |
リアルタイム統計情報の取得対象に指定したサーバは,リアルタイム統計情報サービスの開始時にあらかじめ起動しておく必要はありません。次に示す場合でも,リアルタイム統計情報を取得できます。
-
リアルタイム統計情報サービスを開始したあとで,取得対象とするサーバを起動した場合
-
リアルタイム統計情報サービスの開始中に,取得対象とするサーバをいったん停止して再起動した場合
(2) 取得項目の指定方法
それぞれの取得対象で,取得するリアルタイム統計情報を指定できます。一つの取得対象で取得できる項目の上限数は,リアルタイム統計情報サービス定義のrts_item_maxオペランドに指定した値までです。
取得項目の指定には,次に示す方法があります。
-
rtsput定義コマンドの-eオプションに,取得する情報の項目IDを指定する方法
項目IDの詳細については,「付録E.5 リアルタイム統計情報」を参照してください。
-
rtsput定義コマンドの-fオプションに,リアルタイム取得項目定義ファイルを指定する方法
リアルタイム取得項目定義の指定方法については,マニュアル「OpenTP1 システム定義」を参照してください。
(3) 取得間隔の指定方法
リアルタイム統計情報取得間隔は,リアルタイム統計情報サービス定義のrts_trcput_intervalオペランドで指定します。
取得間隔の概要を図に示します。
RTSサービス用の共用メモリには,リアルタイム統計情報を格納する領域が複数個用意されています。
-
リアルタイム統計情報サービスは,rts_trcput_intervalオペランドに指定した時間の経過までは,同じ格納領域で統計情報を取得,編集します。
-
指定時間が経過したら格納領域を切り替えます。
-
リアルタイム統計情報サービス定義のrts_log_fileオペランドにYが設定されている場合,編集が終了した格納領域のリアルタイム統計情報は,RTSログファイルに出力されます。
RTSログファイルへの出力の詳細については,「3.17.4(2) リアルタイム統計情報のRTSログファイルへの出力」を参照してください。
統計情報の取得間隔は,リアルタイム統計情報サービスの正常開始時に,リアルタイム統計情報サービス定義のrts_trcput_intervalオペランドで変更できます。定義の指定が反映されるタイミングについては,「3.17.2(6) リアルタイム統計情報サービスの動作」を参照してください。
(4) 注意事項
-
リアルタイム統計情報を取得する対象となるサーバは,OpenTP1のシステムサービスを提供するサーバと,dcsvstartコマンドで起動したUAPだけです。
-
サービス単位でリアルタイム統計情報を取得できるのは,UAPだけです。ただし,SUPとXATMIインタフェースを使用したUAPでは,サービス単位のリアルタイム統計情報は取得できません。
-
rtsput定義コマンドの-uオプションにsrvを指定した場合,指定したサーバが提供する各サービスの名称は,そのサーバのユーザサービス定義のserviceオペランドから取得します。
このため,環境変数DCCONFPATHまたはDCUAPCONFPATHで指定したパスに,ユーザサービス定義ファイルまたはユーザサービスデフォルト定義ファイルが格納されている必要があります。
ユーザサービス定義ファイルが格納されていない場合は,リアルタイム統計情報サービスを開始できません。また,ユーザサービス定義ファイルにserviceオペランドが指定されていない場合は,サーバ単位でのリアルタイム統計情報だけを取得します。
-
リアルタイム統計情報サービスの開始後にユーザサービス定義に追加または削除したサービスは,rtsput定義コマンドの-uオプションにsrvを指定している場合でも,リアルタイム統計情報の取得対象に反映されません。リアルタイム統計情報サービスの開始後に取得対象の設定を変更するには,rtsstatsコマンドを使用するか,またはリアルタイム統計情報サービス(RTSSUP)を再起動してください。
また,リアルタイム統計情報サービスの開始後に,サービス関数動的ローディング機能で追加または削除したサービスも,リアルタイム統計情報の取得対象に反映されません。リアルタイム統計情報サービスの開始後に取得対象の設定を変更するには,rtsstatsコマンドを使用するか,またはリアルタイム統計情報サービス(RTSSUP)を再起動してください。
rtsstatsコマンドを使用して取得対象の設定を変更する方法については,「3.17.5 リアルタイム統計情報の取得情報の設定変更」を参照してください。
-
システム全体の統計情報,またはマルチサーバを使用しているUAPでは,複数プロセスからの書き込み処理が同時に行われた場合,リアルタイム統計情報が取得されないことがあります。これは,統計情報の取得処理で排他を使用しないためです。