Updated on 2022-02-21 GMT+08:00

Transactions

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 rectify application problems, thereby improving user experience.

Analyzing Problems Based on Transactions

The following describes how to locate the cause of 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. Choose More > View Call Relationship in the Operation column. On the page that is displayed, further locate the problem based on call duration and other parameters. Alternatively, switch to the topology page to locate the problem. For details, see Locating Problems Based on the Topology.

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 calculated first.

  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 Select all. Select 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 more 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.