Skip to main content

Transaction Tracing

What is Transaction Tracing?

While the transaction performance means the summary metrics or attributes between the start and end of transaction, the transaction profile traces the steps during transactions. If any transaction is slow or erroneous, the execution records must be traced step by step to find the cause. This is called transaction tracing.

The types of steps collected for transaction performance tracing are as follows.

  • DB connection step START-END

    It includes the performance for connection to RDB. Step information includes the name, response time, and error.

  • SQL Step START-END

    It includes the performance for JDBC SQL. Step information includes connection data, SQL statements, and errors.

  • HTTP Call step START-END

    It includes the performance for the outbound HTTP service call. Step information includes URL, host, port, response time, and errors.

  • Message step ADD

    While collecting traces, the message steps are used to collect the records of all irregular sections.

  • SOCKET Step ADD

    Step to represent the socket open.

  • METHOD Step START-END

    The method response time is traced.

  • ACTIVE STACK Step START-END

    It includes the active stack information. It is created and collected by a separate thread and it is added to the transaction trace.

Note

In the WhaTap monitoring service, Step is used as the same meaning as Span.

Detailed analysis

Home > Select Project > Analysis > Hitmap

Hitmap

  1. In Number 1 Time selector, select a time period to see the hitmap.

  2. In Number 1 Type and Application, select the targets to view.

  3. Select Search icon.

  4. In Number 2 HITMAP transaction, drag a desired area as in Number 3.

  5. If the list appears in Number 5 TX trace, select a transaction to analyze.

The Transaction information window appears where you can check properties such as client information for transaction performance analysis, transaction processing performance, and detailed execution history for each section.

Note
  • For more information about the Hitmap menu, see the following.

  • For more information about the hitmap widgets on the application dashboard, see the following.

Guide to transaction information window

transaction information

  • In the Number 1 area, the step data can be seen in various formats. Select a desired type of tab.

  • In the number 2 area, you can see the basic information for transactions.

  • Number 3 Statistics icon: The statistical data window for the corresponding URL or each execution section appears. Click a desired time on the graph chart in the statistical data window to go to Statistics or Transaction Search. You can view the statistical data based on the selected time.

    Note
    • For more information about Statistics, see the following.

    • For more information about the Transaction Search menu, see the following.

  • If you select Number 4 SQL step, the SQL variables and HTTP queries can be viewed. For more information, see the following.

Table view

In the Table view tab, you can see the transaction execution steps in chronological order.

Table view

  • You can classify transactions by each execution section and see them in a diagram. Out of all elapsed times, you can quickly find the times spent for each section and the section that took the longest.
  • If you select each section in the diagram, the corresponding table list appears where the step is located.

    Step selection

  • The area where the red circle (Active stack icon) is located, is the moment when the active stack has been collected. If you select the red circle, the table list appears where the Active Stack button is located. If you click Active Stack, you can check the step performed during the section.

    Note
    • In the transaction list, you can see them from the items marked with the Active Stack icon icon.

    • For more information about active stacks, see the following.

  • Column icon Select column: You can add or hide the memory accumulation and CPU accumulation data as columns in the table list. The columns are as follows:

    • No: Step occurrence sequence

    • Time: Start time of each step

    • Gap: The waited time between the start time of the previous step and the current step may have a difference, while there may be a gap from the elapsed time if a delay happens due to external factors.

    • Elapsed: Total elapsed time from the start to the end of each method

    • Contents: Execution details of the step

  • Download icon TXT: You can download basic transaction data and execution data for each section in a text file.

  • Download icon SQL: The basic transaction information and SQL execution data can be downloaded as a text file.

    • Download with substitute value: It downloads the SQL statistics data after replacing the bind variable value ​​with its original one. If a security key (paramkey) is set, the security key input window appears. You must enter the security key for downloading. For more information about the agent configuration related to the security key, see the following.

    • Download without substitute value: It downloads SQL statistics data without replacing the bind variable value.

  • Zoom in icon: You can see only the table list, with hiding the transaction summary and diagrams. If you select Zoon out icon, the hidden information reappears. This feature is useful when you have a long list of tables.

  • If you select the SQL step, the SQL window appears to display parameters. For more information, see the following.

Record summary

Record Summary

To see the basic information for transactions, select the Record summary tab. You can see the basic information of the transaction, agent on which the transaction was performed, memory allocation usage, and client information.

Transaction properties

ClassificationPropertiesDescription
TransactionTransactionAPI or URL call executed by the application, and the path of the transaction. It converts to a specific format using regular expressions.
Original URLIt is the URL path that was actually called. A concrete request path that does not include variables. If there is an original URL, the original URL appears. If there is no original URL, it is not displayed.
Project codeIdentification code of the project registered in the WhaTap monitoring service.
StatusHTTP response status code for the transaction.
Error levelLevel of the error that occurred in the transaction. It is displayed as Warning or Critical.
Error classClass of the error that occurred in the transaction.
Error messageMessage of the error that occurred in the transaction.
Elapsed timeTransaction execution time.
Start timeTransaction start time.
End timeTransaction end time.
User agentBrowser used to extract client-related data.
RefererPage address or incoming path used by the browser of the client.
Transaction IDIt is a unique ID of the transaction.
Multi transaction IDIt is a unique ID of the multi-transaction. It appears when executed in parallel with transactions of other applications.
AgentAgent name (oname)Agent name
Agent ID (oid)It is a unique ID of the agent.
Agent group nameAgent group name set with the okind option.
Agent group IDIt is a unique ID of the agent group.
Agent server nameAgent server name set with the ondoe option.
Agent server IDIt is a unique ID of the agent server.
StepHTTP methodHTTP method. (GET, POST, PUT, HEAD, etc.)
HTTP call timeOutbound HTTP call time.
HTTP call countNumber of outbound HTTP calls.
DB CONN. timeTime taken to connect to the database.
SQL timeSQL execution time.
SQL countSQL execution count.
SQL patch timeTime taken to search for the record. Nesting may occur or other logic may be included.
SQL fetch countNumber of the records retrieved from SQL.
ResourceCPU usage timeCPU time used for processing transactions.
Memory allocationAmount of memory used by the transaction.
ContainersPod nameIt is the name of the Kubernetes Pod that processed the transaction.
Container IdIt is a unique identifier for a specific container running within a Pod.
ClientClient IPClient IP address.
OSOS environment in which the browser runs.
DomainInternet address assigned to the IP address that the client connected to.
Country/RegionClient's country.
CityCity in the client's country.
Client typeBrowser type used by the client.
Client nameDevice name used by the client.
WClientIDThis is a unique ID of the client.
MethodmethodCountNumber of methods called by transactions.
methodTimeTime taken for method execution.
Note
  • The collected data may differ depending on the application type, settings, and step type. Container entries appear only when the application is running in the container environment.

  • Error related items are displayed when an error occurs from the transaction.

  • Some transaction properties provide statistical features. If you select theStatistics icon button, a window appears where you can see the status of transactions occurred during the query time through a time series chart. If you select a bar graph in the chart, you can go to the Analysis > Transaction Search menu to view details.

  • WhaTap basically stores the client-related information. For more information about the agent settings for user data collection, see the following.

Tree view

To see the transaction execution steps in a tree format, select the Tree view tab. You can see the details of each transaction and its trace details, trace start time, step time, and call relationship. If you select each section of the diagram, the tree view of the step appears.

Tree view

  • Single-line View: You can arrange the tree format at intervals by displaying the texts displayed in the execution data for each section in a single line.

  • Multi-line View: All the texts displayed in the execution data for each section, appear by wrapping words.

  • Longest Path: The longest route can appear.

  • Chart icon Show Time Bar: The elapsed times are displayed in a bar chart.

  • Time icon Show Time: The timestamps, gaps, and elapsed times for each segment are displayed in text.

    • 8 seconds or more: Excessive delay state is distinguished in red.

    • Between 3 and 8 seconds: Delay state is distinguished in orange.

    • Less than 3 seconds: Normal state is distinguished in blue.

  • Hide icon Hide Time: The time is hidden.

  • Zoon in icon: You can see only the tree view that hides transaction summary and diagrams. If you select Zoon out icon, the hidden information reappears. This feature is useful when the tree view list is long.

  • Popup icon: A window appears where you can view SQL variables and HTTP queries. For more information, see the following.

Note

In case of start and step times, the time differences caused by the transaction call environment are corrected on the screen through traces and mappings in the parent transactions. Accordingly, there may be differences from the actual time data.

Active stack

Active Stack

To check the zone and time that the active stacks have been collected, as well as related classes and methods, select the Active stack tab.

Note
  • In the transaction list, you can see them from the items marked with the Active Stack icon icon.

  • For more information about active stacks, see the following.

Multi-transaction

Multi-transaction indicates the transaction involving other agents or projects. In the Multi transaction tab, you can see the call relationships between applications registered in the WhaTap monitoring service.

Tip

To trace multi-transactions, set the mtrace_enabled option to true in Management > Agent CONF.. For more information about the agent configuration, see the following.

Multi transaction

  • Chart: Provides the call relationships for each transaction in a flowchart. Select a transaction node to see the trace analysis for the transaction node. In Chart mode, you can use the mouse to go to a desired position or zoom in or out by scrolling.

    • Configuration icon Chart view settings: You can display or hide the elements on the chart.
  • Table: In the form of table, you can check the data for each transaction included in the multi-transaction. You can select the Column icon column selection icon to edit the table header columns. You can see the trace analysis data by selecting each transaction item.

  • Tree: You can see the call relationships between transactions in a tree format. The related additional functions are the same as those of the Tree view tab.

  • Filter icon Project selection: You can select or deselect projects to be displayed on the chart.

Note
  • You can see them in the transaction list marked with the Multi-transaction icon icon.

  • For more information about the multi-transaction, see the following.

Methods

Methods

To see only the method data, select the Methods tab. It displays the method name and step time for which tracing has been set on the agent. When unnecessary logics are repeatedly executed, it can be used as analysis data to improve the method logic by finding the case where the execution takes longer than the low count.

Note

For more information about the agent configuration options on methods, see the following. Method tracing support may differ depending on the product in use.

SQLs

SQLs summary

To check the SQL statement information, select the SQLs tab. In case of unnecessarily repetitive execution, it can be used as analytical data to improve query performance by finding the case where the execution time takes longer compared to the low count.

HTTP calls

HTTP Calls

To see the count, time sum, average time, and such for HTTP calls, select the HTTP calls tab. If unnecessary external calls are repeatedly executed, it can be used as analytical information to determine whether the transaction delays are external or internal by finding the cases where the execution time takes longer compared to the low count.

Transaction log

To see the logs of the transaction, select the Transaction log tab.

Transaction log

  • Keyword search: Enter the desired text to search in the keyword search field, and then press Enter or select the Search icon button. It highlights the keywords that match the entered text.

  • Highlight icon Keyword highlight: If you set the keyword and color, the texts that match the keyword are automatically highlighted in the log list.

  • Configuration icon Table settings: You can set the header columns in the log list table.

Note
  • To enable the Transaction log tab, apply the agent setting options related to the logs. For more information about the log settings, see the following.

  • The Transaction log tab can be accessed by only the members with the View log role. For more information about the member roles, see the following.

Setting the keyword highlight

  1. To add keywords to highlight, select Highlight icon.

    Keyword highlight

  2. Enter a desired keyword.

  3. Select the color icon and then select a desired color.

  4. Press Enter.

The added keywords are added in the list.

Deleting the keyword highlight

To delete the items unused from the highlight list, select Delete icon.

Additional options

Checking the correlated project metrics

If you have created a database monitoring (DPM) project and an application monitoring (APM) project, you can relate the two projects for monitoring the data collected from DPM in the APM project. You can see performance metrics of the correlated projects while querying transactions via the Correlated project feature on the upper right of the HITMAP transaction section.

The Correlated project feature is useful when analyzing transactions in the APM project. When you found a slow SQL, it is difficult to determine exactly in which DB the problem occurred in the environment using multiple similar DBs.

Hitmap

  1. Set the time and Application for viewing the transactions, and then select Search Icon.

  2. In the HITMAP transaction section, select Correlated project on the upper right.

  3. A new window appears where you can check the metrics for the correlated project.

    Correlated Project

Select the correlated project from the left list and then check the metrics in the Instance Dashboard section.

Correlated Project

To navigate to the dashboard menu for a selected project, select an instance and then click Move Instance on the upper right. Go to Dashboard > Monitoring a Database Instance.

Note
  • The HITMAP transaction button in the Correlated project section appears only when there is an associated project. For more information about adding a correlated project, see the following.

  • You can add a project by selecting Correlated project at the top of the left Add list.

  • The Move Instance button is disabled when All is selected.

    Instance Dashboard

  • Depending on the database product type, you can navigate to the Analysis > Counts Trend menu.

Viewing HTTP parameters

You can view the HTTP parameters of the transaction in the Table view tab.

  1. Scroll down the page to the final step of the transaction.

  2. Select the Lock icon HTTP parameters item.

  3. If the HTTP-PARAMETERS window appears, select Password.

  4. Enter the specified Param Key.

You can see the hidden parameters.

Note
  • For the agent settings for HTTP parameters, see the following.

  • Password: You can see the decrypted parameter value. The password is a 6-digit string in the WHATAP_HOME/paramkey.txt file. You can change it to another string. The key in paramkey.txt is required to view the SQL variables and HTTP queries, and stop the threads.

Viewing SQL parameters

Select the SQL step in the Table view tab or select Popup Icon in the Tree view tab. The SQL window appears to display parameters.

SQL

  • Password: You can see the decrypted parameter value. The password is a 6-digit string in the WHATAP_HOME/paramkey.txt file. You can change it to another string.

    Note

    The key in paramkey.txt is required to view the SQL variables and HTTP queries, and stop the threads.

  • SQL format: You can indent and format your SQL statements for better readability.

  • Copy icon: A SQL statement can be copied to the clipboard.

  • Statistics: Go to Statistics > SQL.

Tip

To search SQL variables and HTTP queries, add the following options to the agent settings.

  • For agent settings related to recording SQL parameters, see the following.

  • For agent settings related to recording the HTTP parameters, see the following.

whatap.conf
# SQL parameter lookup option: If the option is applied, SQL parameters are collected after being encrypted.
profile_sql_param_enabled=true

// HTTP parameter lookup option: If the option is applied, HTTP query parameters are collected after being encrypted.
profile_http_parameter_enabled=true

Setting the columns in the trace list

You can additionally see the details about the search result by setting the columns in the TX trace section. Select Column icon Select Column.

Select column

Select or unselect the desired columns. The settings are immediately applied in the table. Once you've completed all the settings, select Close icon on the upper right.

  • Select all: It selects all columns.

  • Deselect all: All columns are unselected.

  • Initialize(default): The column is set as the default value.

Filtering the trace list

You can filter the results retrieved from the TX trace section using the following options:

TX trace

  • View all: You can see all transactions in the viewed result.

  • Active Stack: Only the transactions that include active stacks can be viewed in the searched result.

  • Multi-transaction: Only the transactions including multi-transactions can be checked in the searched result.

  • Search URL: You can search for strings that match the transaction URL. Enter a desired string and then press Enter on the keyboard.

Downloading the viewed list

You can download the results retrieved from the TX trace section as a CSV file.

  1. After viewing the transactions, select Download icon.

  2. Enter a desired value in the Maximum CSV lines option.

  3. Select Download.

The formation of the downloaded CSV file is profile{project_code}YYYYMMDD.csv.