Skip to main content

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.

Note

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.

    Caution

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

    Note

    If set at the same time, the priorities are as follows:

    1. split

    2. large

    3. 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:

      1. split

      2. large

      3. circular

  • 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

  • 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.conf
    biz_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
    Tip

    Error 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.Error
    whatap.conf
    ignore_exceptions=*errors.errorString, *echo.HTTPError, *url.Error, *exceptions.CustomErrors
    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.

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

    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.

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

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

  • 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 the WHATAP_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 the WHATAP_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 is true, 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,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.

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