Help Center> > User Guide >Transactions

Transactions

A transaction is usually an HTTP request (complete process: user request > web server > database > web server > user request). In real life, a transaction is a one-time task. A user completes a task by using an application. In the example of an e-commerce application, a commodity query is a transaction, and a payment is also a transaction.

To complete a transaction, you may call multiple services. Any slow or error call may lead to slow responses. During routine O&M, you can analyze the transactions with slow responses to locate and solve application problems, thereby improving user experience.

Transaction Insights Page

The Insights option is available only in the North China region.

  1. Set a time range to view the following transaction details of an application:
    • Calls and errors
    • Total latency
  2. Click Create Group, select a transaction, move it to the new group, and then name the group.
  3. Click View Topology to view the topology of the transaction.
  4. Click More in the Operation column and select View Call Relationship from the drop-down list to view the tracing data of the transaction.

Analyzing Faults Based on Transactions

The following describes how to analyze a transaction with an extremely slow response:

  1. On the Transactions page, select a transaction with an extremely slow response from the transaction list.
  2. Click View Topology in the Operation column to view the full-link topology and instance details of the transaction.

  3. Right-click the instance with an extremely slow response and choose Find Call-Chain from the shortcut menu. On the page that is displayed, further locate the fault based on call duration and other parameters.

Customizing Transactions

To precisely define transactions and collect tracing data, use the URI template to customize transactions and classify requests into different transactions. When the collector receives requests, custom transactions will be preferentially calculated.

  1. On the Transactions page, click Custom Transaction Rule. A transaction consists of the request method and regular expression. It is in the format of {Request Method}_/{pattern}. Example: When the request methods are GET and POST and the regular expression is /{name}, the transaction is GET,POST_/{name}.

  2. Select a request method. Request methods include GET, PUT, DELETE, POST, HEAD, CONNECT, OPTIONS, PATCH, TRACE, and ALL. ALL indicates all request methods.
  3. In the Regular Expression text box, enter a transaction rule and click OK. In this way, the custom transaction rule is added successfully.

    The regular expression uses the URI template matching mode of the Spring MVC framework. Example: @RequestMapping(path="/owners/{ownerId}/pets/{petId}", method=RequestMethod.GET), where ownerId and petId are variables.

    To add multiple custom transaction rules, click Add Rule.

    • A transaction rule must be 1 to 50 characters long. It must start with a slash (/) but cannot end with a slash. Only letters, digits, and special characters (?*|={}&) are allowed.
    • Both the question mark (?) and asterisk (*) can be used for fuzzy search. One question mark represents one character, one asterisk represents 0 to N characters between two slashes in a URI, and double asterisks represent infinite characters. Example: When you enter /first/*, /first/test can be returned but /first/test/test cannot. When you enter /first/**, both /first/test and /first/test/test can be returned.