The business transaction is the mechanism by which AppDynamics orders and aligns load traffic (response time, throughput, and so on) with the business perspective.
AppDynamics uses business transactions to:
- Organize all user requests to represent accurately the load on your business application.
- Provide diagnostic deep-dive data into requests that experience errors or perform slower than the usual trend.
Business transactions represent either a category or a type of user request. They depict the primary functions of your application. Examples of business transactions include:
- In an e-commerce application, user actions such as logging in, searching for items, adding items to the cart, etc.
- In a content portal, the content sections that users navigate such as sports, world news, entertainment, etc.
- In a stock trading application, operations such as receiving a stock quote, buying and selling stocks, etc.
Business Transactions and Application Health
How well a business transaction performs is the most important factor when monitoring the health of your application. The performance data for a particular business transaction in your system provides information such as:
- Availability: Is the functionality currently available? For example, are the users currently able to log in to the site?
- Performance: How is this task currently performing? For example, how much time, on average, does it take to complete a check-out request? How is the business transaction performing compared to what is considered acceptable performance? The picture below is a summary view of what it means to say that "Checkout is OK".
- User Experience: How many users performing a particular task experienced slow response times or stalls? Are there performance spikes or lulls due to end user patterns such as holidays?
- Historical Comparisons: How does historic data for particular time ranges compare to current data?
Business Transactions in Distributed Environments
A distributed environment typically has multiple tiers deployed with multiple app servers, databases, remote services, etc. A business transaction may span multiple nodes through remote calls to external services, collecting data from all of these components and measuring the processing time required to collect both synchronous and asynchronous data across all tiers.
The method call that starts the business transaction is called the entry point.
For example, when an app server invokes the business logic associated with an eCommerce checkout operation, it makes a database call plus multiple calls to services in other tiers. AppDynamics discovers and groups these activities as a single "checkout" business transaction. This business transaction captures processing time, which relates to the response time typically experienced by a user.
The transaction also collects all code paths invoked by the business logic when diagnostic data is collected.
How AppDynamics Discovers Business Transactions
When application requests are received by transaction entry points, AppDynamics automatically discovers and identifies the requests as business transactions. AppDynamics uses information from the transaction entry point to name the transaction.
Multiple user requests, as long as they follow the same code path, are categorized as instances of a single business transaction. For example, one user-click results in the Checkout business transaction being identified as a single request. Then, when another user performs the same action, AppDynamics associates the two requests with the same Checkout business transaction.
You can configure how AppDynamics discovers business transactions by creating custom match rules that map precisely to your business processes. You can also exclude auto-discovery of business transactions that you do not want to monitor by creating custom exclude rules.
Managing Excess Business Transactions
For both performance and practical reasons, it is not optimal to monitor a large number of business transactions.
AppDynamics has a limit of 50 business transactions per agent and 200 business transactions per business application.
If traffic exceeds the 50 business transaction per agent limit or the 200 business transaction per application limit, the traffic from what would be 51st detected business transaction and greater for the agent or the 201st and greater detected business transaction for the business application is collected into a default business transaction called "All Other Traffic". There is one for each tier. You can view them in the Business Transactions List. See All Other Traffic Business Transaction.
Optimizing Business Transaction Monitoring
AppDynamics recommends that you configure your system to monitor the business transactions and other operations that are key to your business. There are multiple ways to approach this. For example, you can exclude certain operations from detection. You can also group several operations into a single business transaction to reduce the total number of business transactions. See Configure Business Transaction Detection.