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.
The agent traces the transaction performance and provides the following configurable options.
Transaction Tracing
-
profile_basetime MiliSecond
Default
500
Set the minimum response time to collect trace details. The 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.
NoteTo collect errors regardless of the
profile_basetime
option, set theprofile_concern_error_enabled
option totrue
. If set to the default value offalse
, errors are sampled.
-
profile_error_step_enabled Boolean
Default
true
You can add a step to display error information in the profile.
-
trace_active_transaction_yellow_time MiliSecond
Default
3000
Set the criteria to display in yellow on the active transaction arc equalizer.
-
trace_active_transaction_red_time MiliSecond
Default
8000
Set the criteria to display in red on the active transaction arc equalizer.
-
hook_method_patterns String
It sets the method to measure the response time. Class full names and methods are separated by the period (.) as the delimiter, and asterisk (*) can be used as the wildcard. In case of multiple items, comma (,) is used as the delimiter.
Examplehook_method_patterns=a.b.C1.*
-
hook_method_access_public_enabled Boolean
Default
true
When setting a method trace, it sets whether or not to treat only the public methods as separate targets.
-
hook_method_access_protected_enabled Boolean
Default
true
When setting a method trace, it sets whether or not to treat only the protected methods as separate targets.
-
hook_method_access_private_enabled Boolean
Default
false
When setting a method trace, it sets whether or not to treat only the private methods as separate targets.
-
hook_method_access_none_enabled Boolean
Default
true
When setting a method trace, it sets whether or not to treat only the no access indicated methods as separate targets.
-
hook_method_ignore_prefixes String
Default
get,set
When setting a method trace, it sets the classes to exclude from the trace with a prefix.
-
hook_method_ignore_classes String
When setting a method trace, it sets the classes to exclude from the trace.
-
trace_service_port_enabled Boolean
Default
false
Add the port number to the transaction name.
-
httpc_status_ignore String
Default
Empty
If the HTTP status code is an error (
HTTPC_ERROR
), it can be ignored. When listing multiple values, use comma (,) as the delimiter.whatap.confhttpc_status_ignore=404,500
-
httpc_status_ignore_set String
Default
Empty
whatap.error.HTTPC_ERROR
is ignored. For multiple values, use comma (,) as the delimiter.NoteSet it as
httpc_status_ignore_set=/a/b/c:400,/a/ab/c:404
. In Statistics/Error Analysis, enter the value forHTTPC_URL
. -
profile_zip_enabled Boolean
Default
false
The compressed profile information is transmitted.
HTTP transaction tracing
-
trace_normalize_enabled Boolean
Default
true
It enables the function to parse and normalize transaction URLs.
NoteIf the value is changed to
false
, it disables the path parameter parsing. In this case, it is recommended to temporarily use the setting only for debugging purposes because the statistical data is less meaningful. -
trace_auto_normalize_enabled Boolean
Default
true
It enables automatic parsing of pattern values by extracting them from annotations when normalizing transaction URLs.
-
trace_normalize_urls String
Set transaction URL patterns to normalize. It deletes the path parameter after parsing the call URL patterns.
NoteFor example, if declared as
/a/{v}/b
,a/123/b
is replaced bya/{v}/b
. For multiple values, use comma (,) as the delimiter. A complement is required after arranging substitution patterns. -
web_static_content_extensions String
Default
js, htm, html, gif, png, jpg, css, swf, ico
Set the extension to determine the static content. Transactions with the set extensions are excluded from the transaction tracing and counting.
-
trace_transaction_name_header_key String
The value extracted from the set HTTP header key is added at the end of the transaction name.
-
profile_http_header_enabled Boolean
Default
false
To record HTTP headers in the trace details, set it to
true
. -
profile_http_parameter_enabled Boolean
Default
false
To record HTTP parameters in the trace details, set this to
true
. Parameters can be viewed by entering a separate security key.Note-
Earlier than Node.js Agent 0.4.95: The security key is written in the WAS server
${WHATAP_AGENT_HOME}
/paramkey.txt file with a 6-letter value. If the paramkey.txt file does not exist, it is automatically created with a random value. -
Node.js Agent 0.4.95 or later: For the security key, check the
paramkey
key value in the WAS server${WHATAP_AGENT_HOME}
/security.conf file. If the security.conf file does not exist, theparamkey
key value is automatically created as WHATAP.
-
-
profile_http_header_url_prefix String
It is used to define the prefix of URL to record HTTP headers in the trace history.
-
profile_http_parameter_url_prefix String
It is used to define the prefix of URL to record HTTP parameters in the trace details.
-
trace_ignore_url_set String
It sets URLs to exclude from transaction tracing. For multiple values, use comma (,) as the delimiter.
-
trace_ignore_url_prefix String
It sets URL prefixes to exclude from transaction tracing. For multiple values, use comma (,) as the delimiter.
-
ignore_http_method String
Default
PATCH,OPTIONS,HEAD,TRACE
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,HEAD -
profile_http_header_ignore_keys String
Default
Cookie,cookie,accept,user-agent,referer
You can specify HTTP header names to exclude from collection. The set HTTP header names are excluded from collection, and they are marked with "#."
-
profile_http_parameter_keys String
Only the parameter corresponding to the set key is recorded. To register multiple items, use comma (,) as the delimiter. If not specified, all parameters are recorded.
-
status_ignore String
Default
Empty
You can set the HTTP status codes to ignore. For multiple values, use comma (,) as the delimiter.
whatap.conf# example
status_ignore=408,500 -
status_ignore_set String
Default
Empty
Among HTTP status return codes, you can set the codes to ignore on a URL basis.
whatap.conf# example
status_ignore_set=/api/test/timeout/{time}:408,/api/test/timeout:200,/error:500 -
transaction_status_error_enable Boolean
Default
true
If an HTTP status code that is not a normal response such as HTTP 401 or 403, is returned, set whether or not to handle it as an error.
Non-HTTP transaction tracing
-
hook_service_patterns String
It sets the starting point pattern for tracing NON-Http transactions. Wildcard characters cannot be used. To set multiple values, use comma (,) as the delimiter.
-
trace_background_socket_enabled Boolean
Default
true
When a socket (TCP) connection is opened, this open is traced only in transaction start status. This tracing is made when the socket is opened by a background thread rather than a transaction.
Multiple transaction trace
-
mtrace_rate Int
Default
0
This option sets the rate of the MTID (Multi Transaction ID) issued when the first transaction occurs. It can be set from
0
to100
. By tracing the MTID, you can check calls between all registered applications. For the applications belonging to the same project, you can check transaction traces immediately through the Caller & Callee function. -
mtrace_spec String
Default:
v1
Set the application version of the current instance. You can arbitrarily enter a string. This data is used for call statistics.
-
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_callee_id_recv_enabled Boolean
Default
false
Upon MTID tracing, the received callee ID is represented in the trace.
-
mtrace_alltx_enabled Boolean
Default
false
MTIDs of all transactions can be traced to link with the logging system like log4j.
-
mtrace_basetime Miliseconds
Default
100
If the value of
mtrace_alltx_enabled
istrue
, it may leave too many logs. In this case, it needs to reduce the amount of trace logging. -
stat_mtrace_enabled Boolean
Default
false
It collects correlation statistics between callers and callees. When applied to a caller, the caller details are sent. When applied to a callee, the caller-callee call statistics are sent to the collection server in URL units.
Trace data sampling
Node.js Agent v0.4.94 or later
Added the Socket.io monitoring module in Node.js agent version v0.4.94. You can see the sampled data with the trace_sampling_enabled
and trace_sampling_tps
options. Disable tracing by adding the /socket.io
path to the trace_ignore_url_prefix
option.
-
trace_sampling_enabled Boolean
Default
false
You can set whether or not to collect trace data samples.
-
trace_sampling_tps Number
Default
1000
You can set the trace data sampling count. The data exceeding the set count is not transmitted and is initialized every 1 seconds.