Transactions

Transactions currently only follows INET sockets
AppFirst Transactions unlocks the quick and real time information on live data as it’s happening between applications.

Table of Contents

What is AppFirst Transactions?

Transactions will allow the user to experience real time data by showing end to end transaction visibility from the data AppFirst collects. This tool shows process topology, transaction timeline, and summary data for multiple types of transactions. You can select one of three types of transactions to start your trace from:

  1. Database transactions: Trace a transaction “backwards” starting from a database server’s SQL statements back to the web request
  2. Web Server transactions: Transactions can be traced directly from web requests in the form of URL
  3. Process transactions: Transactions can be started from any point in the trace

System Requirements

For the best results with viewing Transactions, it is recommended to have the latest version of the collector installed. The latest version of the collector can be identified on the “Collector” page, located under “Admin”.

Enabling Transactions

To enable Transactions with your servers, navigate to the transactions page, click “Setup Resources” to select servers that you wish to be included with transactions tracing.

setup resources

Now you can search through all servers with a collector installed, or only a selected group of servers based off a server tag/server group and start the detect.

servers to detect

Finish setting up Transactions on the selected servers by pressing “detect”.

detect

Turning off Transactions

Similar to the process of turning on Transactions, you will now select “Setup Resources”.

detect

Deselect any servers that you no longer wish to be included in the Transactions setup.

de-select

How to Use Transactions

Process Topology

In order to find transaction data the user needs to define the “starting point” transaction. Users can choose a database server, process, or web server as a starting point. From there select from the drop down a transaction.

transactions1

The graph shows a topology of your servers and processes. Each icon is colored according to its health, which is determined based on the thresholds to the right of the screen.

  • Red indicates that a process is exceeding a set threshold
  • Yellow indicates that a process is above eighty percent (80%) of the threshold
  • Grey indicated the a process is healthy according to set thresholds

Hovering over the icons shows important information about that process, including server, ip, and metrics on which you have set thresholds. Clicking a process changes the details about the transactions in the table below.

transactions2

The transaction is displayed with a line from the client to the server – hovering over this line displays the duration and network latency of the transaction. The line also tells displays the known port number of the server.

transactions3

Transaction Timeline

By clicking the clock icon on the graph you can switch to the Transaction Timeline graph.

transactions4

This view displays the transactions direction and timeline. Action is displayed with arrows, while time runs top to bottom. Scrolling over the graph allows you to zoom in or out. Thresholds set on the right affect the color of transaction on the graph.

transactions5

You can hover over to highlight a specific transaction and display details about start time, duration, and network latency.

transactions6

Transaction table

Below the graphs is a table with details about the transactions – details are specific to the process selected. Click icon to select.

transactions7

Summary Tab

Select any process to see the summary details, including server nickname, ip address, process, PID, CPU, Average response time, Socket Responses, Files, Files Read, Files Written, Memory, Registries, Network Connections, Inbound Network traffic and Outbound Network traffic. Any item that exceeds threshold (or is within 20% of exceeding) will display be highlighted threshold color.

Transactions Tab

Transactions table displays Client side details, Network latency, and server side details for the selected process. Details about client side and server side ip, port, process names, pid, start time and duration can be found in this section

transactions8

SQL Tab

When you select database, the SQL tab appears. This tab displays the SQL statements as well as the timestamp and pid.

URL Tab

If there is a web server in the transaction, the URL tab appears and displays the timestamp and URL.

transactions9

Single/All Icon

Click the icon on the upper right of the transaction table to switch between a single process view or to display all processes details. This applies to all tabs in the transaction table.

transactions10

Available APIs

  • /api/transactions/logs/ – Lists all logs related to transactions.
  • /api/transactions/logs/{log_id}/detail/ – Retrieves log messages for the given log.
  • /api/transactions/log/ – Returns log data for a specific process.
  • /api/transactions/trace/ – Retrieves a trace of transactions based on inputs.

Known Issues

Transactions not found
The following could be reasons why transactions were not found;

    Server was not selected as a transaction resource
    Server clocks are off by more than two minutes
    Server collector version needs to be v117 and above
    Transactions currently only follow INET sockets
    Transactions currently cannot follow:
      - Queues
      - Named Pipes

Troubleshooting

It’s important to ensure that at least v117 is running in the library version for any processes that you are looking to see data on. To verify what version of the collector is running in the library of a process you can run the following command:
sudo LD_LIBRARY_PATH=/usr/share/appfirst /usr/bin/collector -x process | grep -A1 LibVer
This will help ensure that at least v117 is running with that process library. If it is not running at least v117 the process should be restarted.

Frequently Asked Questions

TBD