本文へスキップ

トランザクション

トランザクションとは、ユーザーのブラウザからのリクエストを処理するためのサーバーサイドのLogical Unit of Work(KUW)です。個々のウェブサービス(URL)のリクエストを処理する過程がトランザクションです。ウェブアプリケーションにおいてトランザクションは、ウェブサービス(URL)に対するHTTP Requestを受信し、Responseを返すプロセスです。

アプリケーションの性能は、これらのトランザクションの性能であると言えます。トランザクションの性能には、トランザクションの開始から終了までの時間、レスポンス時間およびリソースの使用量、トランザクション呼び出し元の属性などの情報が含まれます。

基本的には、トランザクションのレスポンス分布とトランザクション統計を使用してトランザクションの性能を分析できます。

ノート

トランザクションの詳細については、次の文書を参照してください。ヒットマップを使用したトランザクション分析の案内については、次の文書を参照してください。

トランザクショントレーシング

以下は、アプリケーションの各トランザクションの実行パスを詳細に追跡できるエージェントのオプションです。最小応答時間からトランザクションの実行ステップ数まで、様々な部分を調整可能です。

  • profile_basetime Millisecond

    既定値500

    トランザクションが設定値以下の時間内に終了した場合、トレース情報を収集しません。ただし、5分単位で最初に呼び出されたURL、エラーが発生したトランザクションに関するトレース情報は収集されます。

  • profile_step_normal_count Int

    既定値 1000

    トランザクショントレースの最大ステップ数を指定します。

  • profile_step_max_count Int

    既定値 1024

    収集可能なトレースステップの最大数を設定します。収集されたトレースステップの数がこの値を超えると、その後収集されるステップはすべて捨てられます。

    注意

    設定値を上げすぎると、メモリ使用量が増加します。既定値を変更しないことをお勧めします。

  • profile_step_heavy_count Int

    既定値 1000

    基本ステップの収集数を超えるた場合は、実行時間がprofile_step_heavy_timeを超えるステップのみを収集します。そのステップの収集可能な数を設定します。Default設定のprofile_step_normal_countが800の場合、最大200個のステップが収集されます。

  • profile_step_heavy_time Millisecond

    既定値100

    Heavyなステップの基準を指定します。指定された値より実行時間が長い場合は、profile_step_normal_countを超える場合でもprofile_step_heavy_count以内で記録されます。

  • query_string_enabled Boolean

    既定値false

    トランザクションURLのクエリ文字列をまとめて収集する機能を有効にします。query_string_urlsに登録されたURLのみ適用されます。

  • query_string_urls String

    トランザクションからクエリストリングを収集するURLを登録します。

  • split_profile_enabled Boolean

    既定値false

    一定量のプロファイルを仮想トランザクションに分割して、より多くのプロファイル情報を収集します。複数のトランザクション一覧に分割されます。

    ノート

    同時に設定された場合、優先順位は次の通りです。

    1. split

    2. large

    3. circular

  • large_profile_enabled Boolean

    既定値false

    一定量のプロファイルを圧縮および分割して、メモリを増やことなく多くのプロファイル情報を収集できます。

    ノート
    • 約1万件以下のプロファイル(ステップ) 情報を収集できます。ボリュームが大きい場合は、split_profile_enabledオプションの使用をお勧めします。

    • 同時に設定された場合、優先順位は次の通りです。

      1. split

      2. large

      3. circular

  • circular_profile_enabled Boolean

    既定値false

    最新の1024個のプロファイリング情報を収集します。

    ノート

    同時に設定された場合、優先順位は次の通りです。

    1. split

    2. large

    3. circular

  • profile_zip_enabled Boolean

    既定値 true

    プロファイル情報を圧縮して送信します。既定値は、trueに設定されています。

  • trace_active_transaction_slow_time Millisecond

    既定値 3000

    収集情報を確認するダッシュボードのアクティブトランザクションアークイコライザーグラフでSlow区間として表示できるトランザクション応答時間の基準を指定します。トランザクションの応答時間が指定時間を超えた場合、Slowアクティブトランザクションの数に含まれます。

  • trace_active_transaction_very_slow_time Millisecond

    既定値 8000

  • trace_active_transaction_lost_time Millisecond

    既定値300000

    トランザクションが終了する制限時間の5分以内にトランザクションが終了しない場合、トランザクション情報はそれ以上収集されません。トランザクションのトレース情報から"Lost Connection"を確認できます。

  • trace_useragent_enabled Boolean

    既定値false

    値がtrueの場合、トランザクションのユーザーエージェント情報を収集します。

  • trace_referer_enabled Boolean

    既定値false

    値がtrueであれば、トランザクションのRefere情報を収集します。

例外処理

以下は、アプリケーションで発生する例外を管理およびモニタリングするためのオプションです。ビジネス例外を登録し、関連する統計を収集することで、アプリケーションの安定性を確認できます。例外として処理された項目は、ヒットマップまたはトレース分析画面で正常トランザクションとして表示されます。

  • biz_exceptions String

    特定のErrorまたはExceptionをBusiness Exceptionとして指定します。ヒットマップはエラーと表示せず、統計情報として収集されます。収集されるError Class名と同じように適用します。コンマを区切り文字として複数登録できます。

    whatap.conf
    biz_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
    Tips

    エラークラス収集 / ヒットマップ表示レベル:INFO(青色) / エラー統計を含む

  • ignore_exceptions String

    登録したExceptionのエラー自体を無視します。例外する文字列は、プロファイルのエラーの種類またはエラー統計に関連するクラス項目の文字列です。

    Goでは、発生するerrorのTypeを文字列で表記します。

    thr.ErrorClassName = fmt.Sprintf("%T", err)
    thr.ErrorMessage = err.Error()

    # error Type 出力

    *errors.errorString
    *echo.HTTPError
    *url.Error
    whatap.conf
    ignore_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
    Tips

    エラークラス無視 / ヒットマップ表示レベル:INFO(青色) / エラー統計を含まない

HTTPトランザクションの追跡

以下は、HTTPリクエストと応答に関連する様々な情報を追跡および記録するエージェントのオプションです。これにより、ユーザーはアプリケーションのHTTPトランザクションを細かくモニタリングし分析できます。トランザクション名にパラメータ値を追加または特定のURLやHTTPメソッドを除外できます。またHTTPヘッダー情報やパラメータ情報を含め、トランザクションをより詳細に記録できます。

  • trace_normalize_enabled Boolean

    既定値 true

    トランザクションURLを変換して一般化する機能を有効にします。

  • trace_normalize_urls String

    トランザクションURLを変換して一般化する対象URLを指定します。呼び出しURLパターンを変換してパスパラメータを削除します。

    ノート

    例えば、/a/{v}/bと設定すると、その形式で呼び出されたトランザクションURLは、/a/{v}/b形式として変換されます。複数の登録するときはコンマ(,)を使います。

  • trace_ignore_url_set String

    特定のURLを設定すると、トランザクション追跡対象から除外されます。設定されたURLはトランザクション情報を収集せず、トランザクション 一覧で確認できません。トランザクション追跡対象から除外するURLを指定します。2つ以上の値を指定する場合は、コンマ(,)を区切り文字として使用します。

    ノート

    このオプションを通じて登録したURLは、ヒットマップ, トレース分析またはトランザクション情報画面で収集が除外されます。

  • trace_ignore_url_prefix String

    トランザクション追跡対象から除外するURL prefixを指定します。

    ノート

    このオプションを通じて登録したURLは、ヒットマップ, トレース分析またはトランザクション情報画面で収集が除外されます。

  • profile_http_header_enabled Boolean

    既定値false

    トレース履歴にHTTPヘッダーの情報を記録する場合に使用します。

  • profile_http_header_ignore_keys String

    既定値host,accept,user-agent,referer, accept-language, connection

    HTTP Header名を指定して、収集する情報から除外する機能を追加しました。指定されたHTTP Header名の値は収集から除外され、"#"として表示されます。

  • profile_http_parameter_enabled Boolean

    既定値false

    トレース履歴にhtpパラメータ情報を記録する場合に使用します。パラメータは、他のセキュリティキーを入力しないと参照できません。Get、Postパラメータから、textタイプの名前と値を収集します。最大40個(Get 20個、Post 20個) を収集し、パラメータ名と値は最大256byteまで収集されます。

    ノート
    • Go agent v0.4.0 or later: セキュリティキーはwhatap.confファイルがあるWHATAP_HOME/security.confファイル内の6桁(paramkey)に設定します。

    • Below Go agent v0.4.0: セキュリティキーはwhatap.confファイルがあるWHATAP_HOME/paramkey.txtファイル内の6桁に設定します。paramkey.txtファイルが存在しない場合は、ランダム値で自動生成します。

  • profile_http_parameter_url_prefix String

    既定値 /

    トレース履歴にHTTPパラメータ情報を記録するために、対象URLのprefixを定義する場合に使用します。

  • profile_http_host_enabled Boolean

    既定値false

    トランザクションのHost情報を出力します。値がfalseの場合、トランザクションのURLはURIのみ表示され、trueの場合は、/xxx.aaa.com/URL形式で出力されます。

  • ignore_http_method String

    設定したHTTPメソッド(Method)で要求されたトランザクション情報は収集しません。複数設定するには、コンマ(,)を区切り文字として利用してください。

    whatap.conf
    # e.g. http_methodがOPTIONS、HEADであるトランザクションを「追跡」
    ignore_http_method=PATCH,TRACE

    # e.g. http_methodがOPTIONS、HEADであるトランザクションを「無視」
    ignore_http_method=OPTIONS,HEAD
    ノート

    このオプションを通じて登録したHTTPメソッドは、ヒットマップ, トレース分析またはトランザクション情報画面で収集が除外されます。

マルチトランザクショントレース

以下は、アプリケーション間の呼び出しを追跡しモニタリングするためのオプションです。このオプションにより、ユーザーは複数のアプリケーション間の相互作用を理解できます。提供する様々なオプションにより、マルチトランザクションの追跡に対する詳細な動作を調整できます。

  • mtrace_enabled Boolean

    既定値false

    マルチトランザクション追跡機能(MTID) を使用可否を設定します。MTIDを追跡すると、登録されたすべてのアプリケーション間の呼び出しを確認できます。

  • mtrace_rate Percentage

    既定値10

    最初のトランザクションが発生したときに発行されるMTID(Multi Transaction ID)の発行比率を設定するオプションです。

  • mtrace_poid_key String

    既定値x-wtap-po

    MTID追跡に使用するCallerプロジェクトの情報を渡すためのKey Nameを設定します。

  • mtrace_caller_key String

    既定値 x-wtap-mst

    MTID追跡に使用するCaller Key Nameを設定します。

  • mtrace_callee_key String

    既定値 x-wtap-tx

    MTID追跡に使用するCallee Key Nameを定義します。

  • mtrace_send_url_length Int

    既定値80

    HTTP Callerは、CalleeにURLを渡します。この時、URLの長さを制限しています。この長さを指定します。