Transactions
Transaction means the logical unit of work (LUW) on the server side for processing a user browser request. The process for an individual web service (URL) request is a transaction. A transaction in a web application is the process from receiving an HTTP request for a web service (URL) to returning a response.
The performance of the application can be summarized as the performance of these transactions. Transaction performance includes information such as transaction start-to-end time, response time, resource usage, or attributes of the transaction caller.
Basically, the transaction performance can be analyzed through the response distribution and statistics.
For more information about transactions, see the following. For guidance on the transaction analysis using the hitmap, see the following.
Transaction tracing
The following agent options allow you to trace the execution paths of each transaction within applications in detail. You can adjust various aspects, from the minimum response time to the number of execution steps for transactions.
-
profile_basetime Millisecond
Default
500
Transaction trace data is not collected if a transaction is terminated within the set value. The first URL called in every 5 minutes and the erroneous profile data are collected.
-
profile_step_normal_count Int
Default
1000
Set the maximum step count for tracing transactions.
-
profile_step_max_count Int
Default
1024
Set the maximum number of trace steps. If the number of collected trace steps exceeds this value, all steps collected later are ignored.
CautionIf you increase the setting too high, the memory usage increases. We recommend that you do not change the default values.
-
profile_step_heavy_count Int
Default
1000
If the collection number of basic steps is exceeded, only the steps whose execution time exceeds profile_step_heavy_time are collected. Set the count of the step that can be collected. In case of default settings, if
profile_step_normal_count
is 800, up to 200 steps are collected. -
profile_step_heavy_time Millisecond
Default
100
Set the criterion of heavy steps. If the execution time is greater than the set value and
profile_step_normal_count
is exceeded, recording is made withinprofile_step_heavy_count
. -
query_string_enabled Boolean
Default
false
It enables the function to collect query strings of the transaction URL together. It is applied to only the URLs registered in
query_string_urls
. -
query_string_urls String
Register URLs to collect query strings from every transaction.
-
split_profile_enabled Boolean
Default
false
More profiles are collected by separating a certain amount of profiles into virtual transactions. They are divided into multiple transaction lists.
NoteIf set at the same time, the priorities are as follows:
-
split
-
large
-
circular
-
-
large_profile_enabled Boolean
Default
false
By sending split and compressed profiles, you can collect more profiles without increasing memory usage.
Note-
We can collect up to 10,000 profiles (steps). For more data, it is recommended to use the
split_profile_enabled
option. -
If set at the same time, the priorities are as follows:
-
split
-
large
-
circular
-
-
-
circular_profile_enabled Boolean
Default
false
The last 1024 profiling data is collected.
NoteIf set at the same time, the priorities are as follows:
-
split
-
large
-
circular
-
-
profile_zip_enabled Boolean
Default
true
Compressed profiles are transmitted. The default value is
true
. -
trace_active_transaction_slow_time Millisecond
Default
3000
In the active transaction arc equalizer graph on the dashboard that checks collected data, specify the criteria for the transaction response time that can be recorded as a slow section. If the transaction response time exceeds the set time, the number of slow active transactions is included.
-
trace_active_transaction_very_slow_time Millisecond
Default
8000
-
trace_active_transaction_lost_time Millisecond
Default
300000
If a transaction does not end within the timeout period (5 minutes), no further transaction data is collected. You can see
Lost Connection
in the transaction trace information. -
trace_useragent_enabled Boolean
Default
false
If the value is
true
, the user agent data for transactions is collected. -
trace_referer_enabled Boolean
Default
false
If the value is
true
, the referer data for transactions is collected.
Exceptional handling
The following options are used to manage and monitor exceptions that occur in applications. You can check the stability of applications by registering business exceptions and collecting related statistics. Exception-handled items appear as normal transactions in the Hitmap or Trace analysis window.
-
biz_exceptions String
Set a specific error or exception as business exception. It is not recorded as an error in the hitmap but collected in the statistics. It is applied the same as the error class name that is collected. Multiple items can be registered using comma (,) as the delimiter.
whatap.confbiz_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
TipError class collection/Hitmap display level: Includes the INFO (blue)/error statistics.
-
ignore_exceptions String
The error itself by the registered exception is ignored. The string to exclude is for the class related to the error type or error statistics in the profile.
The type of error that occurs in Go is displayed as a string.
thr.ErrorClassName = fmt.Sprintf("%T", err)
thr.ErrorMessage = err.Error()
# Output the error type
*errors.errorString
*echo.HTTPError
*url.Errorwhatap.confignore_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
TipIgnore error class/Hitmap display level: Excludes the INFO (blue)/error statistics.
HTTP transaction tracing
The following agent options trace and record various data related to HTTP requests and responses. This allows you to closely monitor and analyze the HTTP transactions for applications. You can add parameter values to the transaction names or exclude specific URLs or HTTP methods. You can also record transactions in detail, including HTTP headers and parameters.
-
trace_normalize_enabled Boolean
Default
true
It enables the function to convert and normalize transaction URLs.
-
trace_normalize_urls String
Set the target URL to transform and normalize. It deletes the path parameter by transforming the call URL patterns.
NoteFor example, if it is set as
/a/{v}/b
, the called transaction URLs are transformed to the/a/{v}/b
format. To register multiple items, comma (,) is used as the delimiter. -
trace_ignore_url_set String
If a specific URL is set, the corresponding transactions are excluded from tracing. The set URLs are not displayed in the transaction list because they do not collect transaction data. Set URLs to exclude from transaction tracing. To set multiple items, use comma (,) as the delimiter.
NoteThe URLs registered through this option are excluded from the Hitmap, Trace analysis, or Transaction information window for collection.
-
trace_ignore_url_prefix String
It sets URL prefixes to exclude from the transaction tracing.
NoteThe URLs registered through this option are excluded from the Hitmap, Trace analysis, or Transaction information window for collection.
-
profile_http_header_enabled Boolean
Default
false
It is used to record the HTTP headers in the trace history.
-
profile_http_header_ignore_keys String
Default
host,accept,user-agent,referer, accept-language, connection
It is used to record HTTP headers in the profile details. The set HTTP header names are excluded from collection, and they are marked with "#."
-
profile_http_parameter_enabled Boolean
Default
false
It is used to record HTTP parameters in the trace history. The parameters can be viewed by entering a separate security key. The name and value of the text type are collected among Get and Post parameters. Up to 40 items (20 Gets, 20 Posts) are collected, and parameter names and values are collected up to 256 bytes.
Note-
Go agent v2.4.0 or later
: The security key is set to 6 characters (paramkey
) in theWHATAP_HOME
/security.conf file where the whatap.conf file is located. -
Below Go agent v0.4.0
: The security key is set to 6 characters within theWHATAP_HOME
/paramkey.txt file where the whatap.conf file is located. If the paramkey.txt file does not exist, it is automatically created with a random value.
-
-
profile_http_parameter_url_prefix String
Default
/
It is used to define the prefix of URL to record HTTP parameters in the trace details.
-
profile_http_host_enabled Boolean
Default
false
The transation host is output. If the value is
false
, only the URI is recorded in the URL of a transaction. If the value istrue
, the output has the format of/xxx.aaa.com/URL
. -
ignore_http_method String
Transactions requested by the specified HTTP method are not collected. To set multiple items, use comma (,) as the delimiter.
whatap.conf# e.g. tracing the transactions whose http_method is OPTIONS or HEAD
ignore_http_method=PATCH,TRACE
# e.g. ignoring the transactions whose http_method is OPTIONS or HEAD
ignore_http_method=OPTIONS,HEADNoteThe HTTP methods registered through this option are excluded from the Hitmap, Trace analysis, or Transaction information window for collection.
Multiple transaction trace
The following options are used to trace and monitor cross-application calls. The options can help you understand the interactions between multiple applications. Various options provided allow you to fine-tune the behaviors for tracing multiple transactions.
-
mtrace_enabled Boolean
Default
false
It sets whether or not to use the multi-transaction tracing (MTID). By tracing the MTID, you can check the calls between all the registered applications.
-
mtrace_rate Percentage
Default
10
This option sets the issuance rate of the MTID (Multi Transaction ID) issued when the first transaction occurs.
-
mtrace_poid_key String
Default
x-wtap-po
Set the key name to deliver the caller project information to for MTID tracing.
-
mtrace_caller_key String
Default
x-wtap-mst
Set the caller key name to be used for MTID tracing.
-
mtrace_callee_key String
Default
x-wtap-tx
Set the callee key name to be used for MTID tracing.
-
mtrace_send_url_length Int
Default
80
The HTTP caller passes its URL to callees. At this time, the URL length is restricted. This sets the length value.