Skip to main content

Transactions

Note

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 within profile_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 and compile_string functions. The compile_file and compile_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.

    Note

    The 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.

    Caution

    If whatap.profile_compile_file_basetime is set too small, excessive collection may overload the server.

    Note

    The 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 the profile_method_time can be found in the transaction details.

    Note

    The 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.

    Note

    The 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.

    Note

    The 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).

    Caution

    This option allows to check all of PHP's built-in functions rather than custom functions, which may affect the performance.

    Note

    The 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).

    Note

    The 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).

    Note

    The 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.

    Note

    Because 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.

    Note

    Because 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 setting whatap.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.

    Note

    Transactions 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.

    Note

    If 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.

    Note

    If 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.conf
    whatap.biz_exceptions=HttpConnectionServerError(400), GuzzleHttp\Exception\ServerException, CustomException
    Tip

    Error 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.conf
    whatap.ignore_exceptions=HttpConnectionServerError(400), GuzzleHttp\Exception\ServerException, CustomException
    Tip

    Ignore 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.

    Note

    For 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.

    Note

    The 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.

    Note

    The 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 the WHATAP_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 the WHATAP_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 is true, 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,HEAD
    Note

    The 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.