dc_rts_utrace_put

名称

任意区間でのリアルタイム統計情報の取得

形式

K&R版 Cの形式

#include <dcrts.h>
int dc_rts_utrace_put(event_id, flags);
DCLONG  event_id;
DCLONG  flags;

機能

UAP内の任意の区間で,event_idに設定した項目の実行時間および実行回数を,リアルタイム統計情報として取得します。

UAPで値を設定する引数

●event_id

取得するリアルタイム統計情報の項目IDを設定します。

IDに使用できる値は,1000000~2147483647です。

●flags

dc_rts_utrace_put関数で実行する処理を設定します。

DCRTS_START
event_idに設定した項目IDの実行時間の計測を開始します。
このフラグを設定してdc_rts_utrace_put関数を呼び出した時点では,リアルタイム統計情報を取得しません。
DCRTS_END
event_idに設定した項目IDの実行時間を取得して,計測を終了します。
DCNOFLAGS
event_idに設定した項目IDの実行回数だけを取得します。実行時間は0秒となります。

リターン値

リターン値リターン値(数値)意味
DC_OK0正常に終了しました。
DCRTSER_PARAM-7802引数に設定した値に誤りがあります。
DCRTSER_PROTO-7803dc_rpc_open関数を呼び出していません。
すでに実行時間の計測を開始している項目IDをevent_idに設定して,flagsにDCRTS_STARTを設定したdc_rts_utrace_put関数を呼び出しました。
実行時間の計測を開始していない項目IDをevent_idに設定して,flagsにDCRTS_ENDを設定したdc_rts_utrace_put関数を呼び出しました。
DCRTSER_ITEM_OVER-7804取得項目の数がリアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。
DCRTSER_ITEM_OVER_SRV-7805サーバ単位の取得項目の数が,リアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。このリターン値が返った場合,サービス単位またはサービス以外の処理の統計情報は取得しています。
DCRTSER_ITEM_OVER_SVC-7806サービス単位またはサービス以外の処理での取得項目の数が,リアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。このリターン値が返った場合,サーバ単位の統計情報は取得しています。
DCRTSER_NOMEM-7807プロセスメモリが不足したため,処理を実行できません。
DCRTSER_RTS_NOT_START-7808リアルタイム統計情報サービスが開始していません。
DCRTSER_NOENTRY-7809dc_rts_utrace_put関数の呼び出し元が,サーバ単位およびサービス単位でリアルタイム統計情報の取得対象に登録されていません。
DCRTSER_VERSION-7810UAPが,現在稼働しているリアルタイム統計情報サービスでは稼働できないバージョンのライブラリと結合しています。

注意事項

  1. dc_rts_utrace_put関数では,システム全体のリアルタイム統計情報は取得できません。
  2. マルチサーバを使用しているUAPでは,同じ呼び出し元サービスおよび同じevent_idを設定したdc_rts_utrace_put関数を複数プロセスから同時に呼び出した場合,プロセスによっては統計情報が取得されないことがあります。これは,統計情報の取得処理では排他制御がされないため,書き込み処理が同時に行われることが要因です。
  3. XATMIインタフェースを使用しているUAPでは,サービス単位のリアルタイム統計情報は取得できません。すべてサービス以外の処理の統計情報として取得されます。
  4. dc_rts_utrace_put関数は,UAPトレースを取得しません。
  5. flagsにDCRTS_STARTを指定したdc_rts_utrace_put関数が,DCRTSER_RTS_NOT_STARTまたはDCRTSER_NOENTRYでリターンしたあとで,同じevent_idでflagsにDCRTS_ENDを指定したdc_rts_utrace_put関数を呼び出すまでにリアルタイム統計情報サービスを開始して呼び出し元のUAPを取得対象に追加した場合,dc_rts_utrace_put関数は,DCRTSER_PROTOでリターンします。