Transactions
For more information about transaction, see the following. For example, see the following on the transaction analysis guide in case of using the hitmap.
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.
-
whatap.profile_step_normal_count Int
Default
1000
Set the maximum step count for tracing transactions.
-
whatap.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.
-
whatap.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. -
whatap.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
. -
whatap.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.
-
whatap.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
whatap.query_string_urls
. -
whatap.query_string_urls String
Register URLs to collect query strings from every transaction.
-
whatap.whatap.profile_compile_file_enabled Boolean
Default
false
It sets whether or not to trace the
compile_file
andcompile_string
functions. Thecompile_file
andcompile_string
functions (PHP internal functions) are compiled before executing the scripts. You can check the compile times for main, include, require, and autoload scripts, the script file paths, and the execution times.NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_compile_file_basetime Millisecond
Default
200
Set the criterion of the execution time. Data is collected only when execution has been made while the set time was exceeded.
CautionIf
whatap.profile_compile_file_basetime
is set too small, excessive collection may overload the server.NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_method_enabled Boolean
Default
true
The user functions whose execution time exceeds the set value (default is
1 second
) of theprofile_method_time
can be found in the transaction details.NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_method_time Milliseconds
Default
1000
Set the execution time for collected functions with the
whatap.profile_method_enabled
setting.NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_method_stack_enabled Boolean
Default
false
You can check the stack information of the user functions in transaction details.
NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_internal_method_enabled Boolean
Default
false
Set whether or not to trace the PHP internal function. Tracing is performed only when the function takes more than the
whatap.profile_internal_method_time
setting (Default:1 second
).CautionThis option allows to check all of PHP's built-in functions rather than custom functions, which may affect the performance.
NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_internal_method_time Milliseconds
Default
1000
Set the execution time of the function when tracing PHP internal functions (
whatap.profile_internal_method_enabled
).NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.profile_internal_method_param_enabled Milliseconds
Default
1000
Functional parameters are additionally collected when tracing PHP internal functions (
whatap.profile_internal_method_enabled
).NoteThe setting is applied after Apache and PHP-FPM have been restarted.
-
whatap.net_udp_flush_start Boolean
Default
true
If the value is
false
, the transaction start time is not collected.NoteBecause the start point is not collected, it can be reflected a little later in the active transaction data that counts the number of active transactions. Active status is recorded normally.
-
whatap.net_udp_profile_basetime_enabled Boolean
Default
false
If the value is
true
, the trace data for transactions faster than the set response time is not collected. -
whatap.net_udp_profile_basetime Miliseconds
Default
false
Set the response time for transactions excluding the trace data collection.
NoteBecause the trace data is not collected, it is not applied to the statistics such as SQL and HTTPC.
-
whatap.net_udp_trace_ignoretime_enabled Boolean
Default
false
If the value is
true
, the transactions and trace data that take the set response time are not collected. -
whatap.net_udp_trace_ignoretime Miliseconds
Default
30
Set the response time for transactions excluding the transaction and trace data collection.
-
whatap.shm_tx_counter_enable Boolean
Default
false
If the value is
true
, when transaction data collection is excluded by settingwhatap.net_udp_trace_ignoretime_enabled
, the data for excluded transactions is reflected in the statistics when the TPS, average response time, and Apdex metrics are collected from the shared memory.NoteTransactions that have not been collected are normally reflected in TPS, average response time, and Apdex metrics, but they are not reflected in other statistical data.
-
whatap.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:
1. split
2. large
3. circular
-
whatap.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
whatap.split_profile_enabled
option. -
If set at the same time, the priorities are as follows:
1. split
2. large
3. circular
-
-
whatap.circular_profile_enabled Boolean
Default
false
The last 1024 profiling data is collected.
NoteIf set at the same time, the priorities are as follows:
1. split
2. large
3. circular
-
whatap.profile_zip_enabled Boolean
Default
true
Compressed profiles are transmitted. The default value is
true
.
-
whatap.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.
-
whatap.trace_active_transaction_very_slow_time Millisecond
Default
8000
-
whatap.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. -
whatap.trace_useragent_enabled Boolean
Default
false
If the value is
true
, the user agent data for transactions is collected. -
whatap.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. You can also set whether to ignore specific exceptions or treat them as errors if the HTTP status code is an error. Exception-handled items appear as normal transactions in the Hitmap or Trace analysis window.
-
whatap.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.confwhatap.biz_exceptions=HttpConnectionServerError(400), GuzzleHttp\Exception\ServerException, CustomException
TipError class collection/Hitmap display level: Includes the INFO (blue)/error statistics.
-
whatap.ignore_exceptions String
The errors of the registered exceptions are ignored.
In case of exception, if the custom exception class is not defined, data is collected as exception by default. To exclude specific exceptions, define the custom exception class and then set the name of exception.
whatap.confwhatap.ignore_exceptions=HttpConnectionServerError(400), GuzzleHttp\Exception\ServerException, CustomException
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.
-
whatap.trace_normalize_enabled Boolean
Default
true
It enables the function to convert and normalize transaction URLs.
-
whatap.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. -
whatap.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.
-
whatap.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.
-
whatap.profile_http_header_enabled Boolean
Default
false
It is used to record the HTTP headers in the trace history.
-
whatap.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 "#."
-
whatap.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.
Parameter data is transferred after being encrypted separately, and can be viewed by decrypting with the key(
paramkey
) in /usr/whatap/php/security.conf of the application server.Note-
PHP agent v2.8.0 or later
: The security key is set to 6 characters (paramkey
) in theWHATAP_HOME
/security.conf file where the whatap.ini file is located. -
Below PHP agent v2.8.0
: The security key is set to 6 characters within theWHATAP_HOME
/paramkey.txt file where the whatap.ini file is located. If the paramkey.txt file does not exist, it is automatically created with a random value.
-
-
whatap.profile_http_parameter_url_prefix String
Default
/
It is used to define the prefix of URL to record HTTP parameters in the trace details.
-
whatap.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
. -
whatap.ignore_http_method String
Transactions requested by the specified HTTP method are not collected. To set multiple items, use comma (,) as the delimiter.
whatap.ini# 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.
-
whatap.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.
-
whatap.mtrace_rate Percentage
Default
10
This option sets the issuance rate of the MTID (Multi Transaction ID) issued when the first transaction occurs.
-
whatap.mtrace_poid_key String
Default
x-wtap-po
Set the key name to deliver the caller project information to for MTID tracing.
-
whatap.mtrace_caller_key String
Default
x-wtap-mst
Set the caller key name to be used for MTID tracing.
-
whatap.mtrace_callee_key String
Default
x-wtap-tx
Set the callee key name to be used for MTID tracing.
-
whatap.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.