Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Extension for .NET Framework 使用の手引


Rts

〈このページの構成〉

Rtsの概要

名前空間

Hitachi.OpenTP1.Server

継承関係

System.Object
  +- Hitachi.OpenTP1.Server.Rts

説明

Rtsクラスは,リアルタイム統計情報を取得する場合に使用するメソッドを提供します。

メソッドの一覧

名称

説明

PutUTrace(System.Int32, System.Int32)

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

メソッドの詳細

PutUTrace

説明

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

宣言
【C#の場合】
public static void PutUTrace(
  int eventID,
  int flags
);
【Visual Basicの場合】
Public Shared Sub PutUTrace( _
  ByVal eventID As Integer, _
  ByVal flags As Integer _
)
【J#の場合】
public static void PutUTrace(
  int eventID,
  int flags
);
パラメタ
eventID

取得するリアルタイム統計情報の項目IDを設定します。IDに使用できる値は,1000000〜2147483647です。

flags

PutUTraceメソッドで実行する処理を設定します。

  • TP1ServerFlags.DCRTS_START

    eventIDに設定した項目IDの実行時間の計測を開始します。このフラグを設定してPutUTraceメソッドを呼び出した時点では,リアルタイム統計情報を取得しません。

  • TP1ServerFlags.DCRTS_END

    eventIDに設定した項目IDの実行時間を取得して,計測を終了します。

  • TP1ServerFlags.DCNOFLAGS

    eventIDに設定した項目IDの実行回数だけを取得します。実行時間は0秒となります。

戻り値

なし

例外
Hitachi.OpenTP1.Server.TP1ServerException

次の情報が出力されます。

  • メッセージ

    例外の内容が出力されます。

    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。

    "OpenTP1提供関数実行時にエラーが発生しました。"

    それ以外の場合は,各エラーに対応したメッセージが出力されます。

  • クラス名

    例外が発生したクラス名が出力されます。

  • メソッド名

    例外が発生したメソッド名が出力されます。

  • 引数名(OpenTP1提供関数呼び出し前の引数チェックでエラーになった場合だけ出力)

    例外が発生する原因となった引数名が出力されます。

  • エラーコード

    発生原因に応じ,次のエラーコードが出力されます。

    エラーコード

    説明

    DCRTSER_PARAM

    引数に設定した値に誤りがあります。

    DCRTSER_PROTO

    RpcクラスのOpenメソッドを呼び出していません。

    すでに実行時間の計測を開始している項目IDをeventIDに設定して,flagsにTP1ServerFlags.DCRTS_STARTを設定したPutUTraceメソッドを呼び出しました。

    実行時間の計測を開始していない項目IDをeventIDに設定してflagsにTP1ServerFlags.DCRTS_ENDを設定したPutUTraceメソッドを呼び出しました。

    DCRTSER_ITEM_OVER

    取得項目の数がリアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。

    DCRTSER_ITEM_OVER_SRV

    サーバ単位の取得項目の数が,リアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。このエラーコードが返った場合,サービス単位,またはサービス以外の処理の統計情報は取得されています。

    DCRTSER_ITEM_OVER_SVC

    サービス単位,またはサービス以外の処理での取得項目の数が,リアルタイム統計情報サービス定義のrts_item_maxオペランドの指定値を超えるため,情報を取得できません。このエラーコードが返った場合,サーバ単位の統計情報は取得されています。

    DCRTSER_NOMEM

    プロセスメモリが不足したため,処理を実行できません。

    DCRTSER_RTS_NOT_START

    リアルタイム統計情報サービスが開始していません。

    DCRTSER_NOENTRY

    PutUTraceメソッドを呼び出したサーバ,およびサービスがリアルタイム統計情報の取得対象に登録されていません。

    DCRTSER_VERSION

    UAPが,現在稼働しているリアルタイム統計情報サービスでは稼働できないバージョンのライブラリと結合しています。

注意事項
  • PutUTraceメソッドでは,システム全体のリアルタイム統計情報は取得できません。

  • マルチサーバを使用しているUAPでは,同じ呼び出し元サービスおよび同じeventIDを設定したPutUTraceメソッドを複数プロセスから同時に呼び出した場合,プロセスによっては統計情報が取得されないことがあります。これは,統計情報の取得処理では排他制御がされないため,書き込み処理が同時に行われることが要因です。

  • PutUTraceメソッドは,UAPトレースを取得しません。

  • flagsにTP1ServerFlags.DCRTS_STARTを指定したPutUTraceメソッドが例外を返し,エラーコードがDCRTSER_RTS_NOT_STARTまたはDCRTSER_NOENTRYの場合があります。その場合に,同じeventIDでflagsにTP1ServerFlags.DCRTS_ENDを指定したPutUTraceメソッドを呼び出すまでの間にリアルタイム統計情報サービスを開始して,呼び出し元のUAPを取得対象に追加したとき,PutUTraceメソッドは例外を返し,エラーコードはDCRTSER_PROTOになります。