トランザクション
トランザクションとは、ユーザーブラウザからのリクエストを処理するサーバーサイドの Logical Unit of Work(LUW)です。Web アプリケーションにおいては、1 つの HTTP リクエストを受け取り、レスポンスを返すまでの一連の処理全体がトランザクションに該当します。
アプリケーションの性能は、トランザクション処理性能によって評価できます。トランザクション性能には、トランザクション開始から終了までの応答時間、リソース使用量、呼び出し元の属性などの情報が含まれます。
トランザクション性能は、応答時間の分布や統計データを基に分析できます。
トランザクショントレーシング
以下は、アプリケーションの各トランザクションの実行パスを詳細に追跡できるエージェントのオプションです。最小応答時間からトランザクションの実行ステップ数まで、様々な部分を調整可能です。
-
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
既定値
100Heavyなステップの基準を指定します。指定された値より実行時間が長い場合は、
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一定量のプロファイルを仮想トランザクションに分割して、より多くのプロファイル情報を収集します。複数のトラン ザクション一覧に分割されます。
ノート同時に設定された場合、優先順位は次の通りです。
-
split
-
large
-
circular
-
-
large_profile_enabled Boolean
既定値
false一定量のプロファイルを圧縮および分割して、メモリを増やことなく多くのプロファイル情報を収集できます。
ノート-
約1万件以下のプロファイル(ステップ) 情報を収集できます。ボリュームが大きい場合は、
split_profile_enabledオプションの使用をお勧めします。 -
同時に設定された場合、優先順位は次の通りです。
-
split
-
large
-
circular
-
-
-
circular_profile_enabled Boolean
既定値
false最新の1024個のプロファイリング情報を収集します。
ノート同時に設定された場合、優先順位は次の通りです。
-
split
-
large
-
circular
-
-
profile_zip_enabled Boolean
既定値
trueプロファイル情報を圧縮して送信します。既定値は、
trueに設定されています。 -
trace_active_transaction_slow_time Millisecond
既定値
3000収集情報を確認するダッシュボードのアクティブTXアークイコライザーグラフでSlow区間として表示できるトランザクション応答時間の基準を指定します。トランザクションの応答時間が指定時間を超えた場合、SlowアクティブTXの数に含まれます。
-
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.confbiz_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrorsTipsエラークラス収集 / ヒットマップ表示レ ベル: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.Errorwhatap.confignore_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrorsTipsエラークラス無視 / ヒットマップ表示レベル: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, connectionHTTP 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-poMTID追跡に使用するCallerプロジェクトの情報を渡すためのKey Nameを設定します。
-
mtrace_caller_key String
既定値
x-wtap-mstMTID追跡に使用するCaller Key Nameを設定します。
-
mtrace_callee_key String
既定値
x-wtap-txMTID追跡に使用するCallee Key Nameを定義します。
-
mtrace_send_url_length Int
既定値
80HTTP Callerは、CalleeにURLを渡します。この時、URLの長さを制限しています。この長さを指定します。